Mysql Insert to problem

Tags:    php

hey hvad er der i vejen med den her kode. den insætter ingen ting ind til min database. I må gerne skrive en anden måde jeg kan bruge INSERT INTO i mysql hvis det kan lade sig gør
<html>
<head><title>Opret bruger</title></head>
<body>
<form name="Opret" method="POST" action="opret.php">

<table width="75%" height="123" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="11%" height="0"> </td>
<td width="89%"> </td>
</tr>
<tr>
<td width="11%">Brugernavn:</td>
<td><input type="text" name="Brugernavn">
*</td>
</tr>
<tr>
<td width="11%">Password: </td>
<td><input type="password" name="Password">
*</td>
</tr>
<tr>
<td width="11%">Fulde navn</td>
<td><input type="text" name="Fullname">
* </td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td><input type="text" name="Email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form>
<p> </p>
<?
$conn = mysql_connect("localhost", "blablabla", "blablabla");
mysql_select_db("blablabla); //Indtast selv de rigtige oplysninger
$brugernavn = $_Post['Brugernavn'];
$password = $_Post['Password'];
$Fullname = $_Post['Fullname'];
$Email = $_post['Email'];
$Userlevel = "User";
mysql_query("INSERT INTO forum (brugernavn, password, fullname, email, level) values ('$Brugernavn', '$Password', '$Fullname', '$Email', '$User')");

?>
</body>
</html>




5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
jeg giver så pointene til den som kan svare mig på det her. Hvorfor virker det nu ikke således at når brugeren ikke har skrevet noget i det pågældende felt så sender den ikke informationerne til databasen. Den skriver bare hele tiden at man ikke har skrevet noget (det har man jo i princippet heller ikke men hvad fanden)


Hej,

Som jeg sagde tidligere så er der forskel på variabler når du bruger store og små bogstaver.
Altså $brugernavn er ikke det samme som $Brugernavn. Når du skal hente variabler som er posted skal du bruge $_POST med store bogstaver!

Du får aldrig nogle rigtige værdier da du bruger $_Post og du egentligt skal bruge $_POST.

Jeg har lavet et nyt script til dig så du kan se hvordan du kan finde ud af om siden bliver kaldt via "Submit-knappen" eller ej og hvordan du henter variablerne rigtigt. Der ud over skriver den også sql'en ud så du kan se hvilke data du prøver at sætte ind i databasen.

Fold kodeboks ind/udKode 


Håber det hjælper,
Michael.
[Redigeret d. 15/04-03 22:13:11 af Michael Skovslund][Redigeret d. 15/04-03 22:16:02 af Michael Skovslund]



Prøv dette:

Fold kodeboks ind/udKode 


Hilsen

Martin Dybdal (Dybber)



hey hvad er der i vejen med den her kode. den insætter ingen ting ind til min database. I må gerne skrive en anden måde jeg kan bruge INSERT INTO i mysql hvis det kan lade sig gør

Hej Svenn,

Du skal huske at der er forskel på store og små bogstaver :)

Opret.php:
Fold kodeboks ind/udKode 



Michael.[Redigeret d. 15/04-03 13:52:16 af Michael Skovslund]



jeg giver så pointene til den som kan svare mig på det her. Hvorfor virker det nu ikke således at når brugeren ikke har skrevet noget i det pågældende felt så sender den ikke informationerne til databasen. Den skriver bare hele tiden at man ikke har skrevet noget (det har man jo i princippet heller ikke men hvad fanden)

<html>
<head><title>Opret bruger</title></head>
<body>
<?
if(action == "opret"){

if ($password == "") {
echo "du mangler noget";
}else {
?>
<form action="<? echo $PHP_SELF; ?>?action=opret" method="post">
<table width="75%" height="123" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="11%" height="0"> </td>
<td width="89%"> </td>
</tr>
<tr>
<td width="11%">Brugernavn:</td>
<td><input type="text" name="Brugernavn">
*</td>
</tr>
<tr>
<td width="11%">Password: </td>
<td><input type="password" name="Password">
*</td>
</tr>
<tr>
<td width="11%">Fulde navn</td>
<td><input type="text" name="Fullname">
* </td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td><input type="text" name="Email"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="opret" value="opret"></td>
</tr>
</table>
</form>
<p> </p>
<?
$conn = mysql_connect("blablabla", "blabla", "blablabla");
mysql_select_db("blablabla"); //Indtast selv de rigtige oplysninger
$brugernavn = $_Post['Brugernavn'];
$password = $_Post['Password'];
$Fullname = $_Post['Fullname'];
$Email = $_post['Email'];
$Userlevel = "User";



mysql_query("INSERT INTO da_users (brugernavn, password, fullname, email, level) values ('".$Brugernavn."', '".$Password."', '".$Fullname."', '".$Email."', '".$Userlevel."')");
?>
<?
}
}
?>
</body>
</html>



ved ikke helt om du forstod mig rigtigt men kan altså ikke hel få din kode til at virke jeg ville lave det sådan at hvis at man ikke have skrevet noget i brugernavn skulle man ikke kunne oprette sig selv noget ala den her kode

<html><head><title>Login-system</title></head><body bgcolor="#C0C0CF">
<?
//Dette login-script er programmeret af Jonas Delfs
//og må frit bruges så længe disse linier lades være

$realbruger = "admin"; //Det rigtige brugernavn
$realpw = "123"; //Det rigtige password

if($action == "login"){

if(!$brugernavn) echo "Du har ikke indtastet et brugernavn!";
elseif(!$password) echo "Du har ikke indtastet en password!";
else{

if($brugernavn == $realbruger && $password == $realpw){
?>

<font size="2" face="Verdana">Den beskyttede side...</font>

<?
}
else echo "Der er fejl i enten brugernavn eller password!";

}
}
else{
?>


<form action="<? echo $PHP_SELF; ?>?action=login" method="post">
<table><tr>
<td><font size="2" face="Verdana">Brugernavn:</font></td>
<td><input type="text" name="brugernavn"></td></tr><tr>
<td><font size="2" face="Verdana">Password:</font></td>
<td><input type="password" name="password"></td></tr><tr>
<td></td><td><input type="submit" value="Login"></td></tr></table>
</form>

<font size="2" face="Verdana">Du kan logge ind med følgende oplysninger:<br><br>admin<br>123</font>

<?
}
?>
</body>
</html>

bare hvor det var at oprette i stedet



t