Daten richtig in die DB eintragen / ausgeben..

baeckerjunge

Erfahrenes Mitglied
Ahoi,

ich habe eben nach einem Tutorial
eine my sql backende Anmeldung mit Userliste usw. gemacht.
nun habe ich das Problem dass die Anmeldedaten
Falsch in die Tabelle eingetragen werden und eben auch falsch aufgelistet werden....

Hier mal das Anmeldescript:

PHP:
<?php

include("mysql.php");
if(isset($new)){
$fehler = "Folgende Fehler traten auf: <br>";

$usertest = mysql_query("SELECT * FROM $usertable WHERE LCASE(name) = LCASE('$nick')");

if (mysql_num_rows($usertest) == 1)
{
$fehler = "$fehler -Dieser Benutzername wird bereits benutzt<br>";
$fehler2 = "1";
};
if($nick==""){
$fehler = "$fehler -Sie haben keinen Nicknamen angegeben.<br>";
$fehler2 = "1";
};
if($email==""){
$fehler = "$fehler -Sie haben keine E-Mail Adresse angegeben.<br>";
$fehler2 = "1";
};
if($name==""){
$fehler = "$fehler -Sie haben keinen Namen agegeben.<br>";
$fehler2 = "1";
};
if($ort==""){
$fehler = "$fehler -Sie haben keinen Wohnort angegeben.<br>";
$fehler2 = "1";
};
if($plz==""){
$fehler = "$fehler -Sie haben keine Postleitzahl angegeben.<br>";
$fehler2 = "1";
};
if($was==""){
$fehler = "$fehler -Sie haben nicht angegeben was Sie alles machen !<br>";
$fehler2 = "1";
};
if($passwort1=="" or $passwort1!=="$passwort2"){
$fehler = "$fehler -Ihre beiden Passwort eingaben sind unterschiedlich:<BR>";
$fehler2 = "1";
};
if(!isset($fehler2)){
$passwort3 = md5($passwort1);
$new = "
INSERT INTO $usertable
(name, pw, email, rang, nick, ort, plz, was)
VALUES
('$nick', '$passwort3', '$name', '$email', '$ort', '$plz', '$was','2')";

mysql_query($new) OR die(mysql_error());
echo "<br>Ihre Anmeldung war erfolgreich.";

exit;
}else{
echo "$fehler";
};
};
echo"
<form action='anmelden.php' method='post'>
<table><tr>
<td>Nick:</td>
<td><input type='text' name='nick' value='$nick'></td>
</tr>
<tr>
<td>Name:</td>
<td><input type='text' name='name' value='$name'></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type='text' name='email' value='$email'></td>
</tr>
<tr>
<td>Wohnort:</td>
<td><input type='text' name='ort' value='$ort'></td>
</tr>
<tr>
<td>PLZ:</td>
<td><input type='text' name='plz' value='$plz'></td>
</tr>
<tr>
<td>Aktivitäten:</td>
<td><input type='text' name='was' value='$was'></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type='password' name='passwort1' value='$passwort1'></td>
</tr><tr>
<td>Passwort wiederholen:</td>
<td><input type='password' name='passwort2' value='$passwort2'></td>
</tr>
<td>
<input type='hidden' name='new' value='$new'>
<input type='submit' name='new' value='Anmelden'></td>
</form>
<td></td>
<td>
</td>
</tr>
</table>";

?>

Und hier die Ausgabe in der Userliste:
PHP:
<?php

include("mysql.php");
echo "
<table>
";

$sql = "
SELECT
*
FROM
$usertable
ORDER by
name";

$result = mysql_query($sql);

while($row=mysql_fetch_array($result)) {

echo "
<tr>
<td>Nickname</td>
<td>Name</td>
<td>E-mail</td>
<td>Wohnort</td>
<td>Postleitzal</td>
<td>Aktivitäten</td>
</tr>



<tr>
<td>".$row["nick"]."</td>
<td>".$row["name"]."</td>
<td>".$row["email"]."</td>
<td>".$row["ort"]."</td>
<td>".$row["plz"]."</td>
<td>".$row["was"]."</td>
</tr>
";

}
echo "</table>";

?>

Wer kann mir helfen ?
 
Positiv wäre zu erfahren was du mit "falsch eingetragen"
meinst, da ich mir für meinen Teil nicht viel darunter vorstellen kann.
 
Das ist nach deinem Script auch richtig so.

PHP:
$new = " 
INSERT INTO $usertable 
(name, pw, email, rang, nick, ort, plz, was) 
VALUES 
('$nick', '$passwort3', '$name', '$email', '$ort', '$plz', '$was','2')";

Übersetzt:
name = $nick <-- Komisch
pw = $passwort3 <- Richtig
email = $name <-- Fehler
rand = $email <-- Oha nochma Fehler
usw

Da stimmen die Spaltenfelder nicht mit den einzutragenden Variablen über ein
 
Dann war da der fehler *g*
Danke schön !
Nun funktioniert es !

Ich habe allerdings noch eine weitere Frage:

Kann ich die Liste nach verschiedenen Parametern wie Wohnort, plz name usw. sortieren ?
Also sortieren in dem Sinne, dass meinet wegen die wohnorte Alphabetisch sortiert werden über ein Drop Down Menü.....
 
Zuletzt bearbeitet:
Zurück