PHP Fehlermeldung

Hallo :)

Ich bin neu in der Community also entschuldigt falls ich jetzt was falsch schreibe oder so...

Also ich versuche mir gerade PHP Kenntnisse anzueignen und habe es geschafft ein einfaches Login mit Registrierung zu machen.

Ich hab das Formular zur Anmeldung jetzt etwas erweitert und nun zeigt mir der Browser immer die letzte Fehlermeldung an (Sorry! Fehler im System. Bitte versuche es später noch einmal...)

Hier ist mal der gesamte Code.... Ich hoffe ihr könnt mir helfen :wink:

Code:
<html>
</head>
	<title>Anmeldung</title>
    <link rel="stylesheet" type="text/css"  href="../Stylesheet/style.css">
</head>

<body>
<h1>Anmeldung</h1>

<?php
if(!isset($_GET["page"])) {
?>
	<form action="../Anmeldung/anmeldung.php?page=2" method="post">
    
    <table width="300" border="0" align="center" cellpadding="3" cellspacing="3">
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Nickname:</th>
    <td><input type="text" name="user" /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">E-Mail:</th>
    <td><input type="text" name="'mail'" value="@"  /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Homepage:</th>
    <td><input type="text" name="'homepage'" value="http://" /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Passwort:</th>
    <td><input type="password" name="pw" /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Passwort wiedeholen:</th>
    <td><input type="password" name="pw2" /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Geburtstag:</th>
    <td><input type="text" name="'date'" size="2" maxlength="2" value="dd" /> <input type="text" name="'date'" size="2" maxlength="2" value="mm" /> <input type="text"name="'date'" size="4" maxlength="4" value="yyyy"/></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Alter:</th>
    <td><input type="text" name="'alter'" size="5" maxlength="5" /> 
    Jahre</td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Lieblingsfarbe</th>
    <td><input type="text" name="'farbe'" /></td>
  </tr>
  <tr>
    <th bgcolor="#FFFFFF" scope="row">Charakter:</th>
    <td><select size="1" name="'char'">
	<option value="">Bitte wählen</option>
    <option value="#001">#001</option>
    <option value="#002">#002</option>
    <option value="#003">#003</option>
    <option value="#004">#004</option>
    <option value="#005">#005</option>
    <option value="#006">#006</option>
    <option value="#007">#007</option>
    </select></td>
  </tr>
  <tr>
    <td colspan="2" bgcolor="#FFFFFF" scope="row">	<input name="Senden" type="submit" class="button" value="Abschicken " />
	<input name="reset" type="reset" class="button" value="Zurücksetzen" /></td>
    </tr>
    </table>
	</form>
<?php
}
?>


<?php
if(isset($_GET["page"])) {
	if($_GET["page"] == "2") 
	{
	$user = strtolower($_POST["user"]);
	$mail = $_POST["'mail'"];
	$homepage = $_POST["'homepage'"];
	$pw = md5($_POST["pw"]);
	$pw2 = md5($_POST["pw2"]);
	$date = $_POST["'date'"];	
	$alter = $_POST["'alter'"];
	$farbe = $_POST["'farbe'"];
	$char = $_POST["'char'"];

	
	if($pw != $pw2) {
		echo "Deine Passwörter stimmen nicht überein. Bitte wiederhole deine Eingabe....<a href=\"../Anmeldung/anmeldung.php\">zurück</a>";
	} else {
				require("../PHP_Server/connect.php");
			
			$control = 0;		
			$abfrage = "SELECT user FROM schuelerdaten WHERE user = '$user'";
			$ergebnis = mysql_query($abfrage);
			while($row = mysql_fetch_object($ergebnis))
				{
					$control++;
				}	
			if($control != 0) {
				echo "Der gewählte Nickname schon vergeben. Bitte verwende einen anderen...<a  href=\"../Anmeldung/anmeldung.php\">zurück</a>";
			} else {
			$eintrag = "INSERT INTO schuelerdaten
			(user, passwort, farbe, date, alter, mail, homepage, char)

			VALUES
			('$user', '$pw', '$farbe', '$date', '$alter', '$mail', '$homepage', '$char')";

			$eintragen = mysql_query($eintrag);
			
			if($eintragen == true) {
				echo "Du hast dich erfolgreich angemeldet! Herzlich Willkommen auf Doremi no Yume!<a  href=\"../Log_in.out/login.php\">Jetzt einloggen</a>";
			} else {
				echo "Sorry! Fehler im System. Bitte versuche es später noch einmal...";
			}
			mysql_close($verbindung);
			}
	}
	}
}
?>
</body>
</html>
 
empfehlung nummer 1:

lese dir eine der zahlreichen im netz verfügbaren erklärungen zum thema SQL-Injections durch ...

empfehlung nummer 2:

Code:
$eintragen = mysql_query($eintrag);
ersetzen durch
Code:
mysql_query($eintrag);
$eintragen = mysql_affected_rows()>0;
 
Vielen Dank für die schnelle Antwort :)

Leider funktioniert dein Vorschlag nicht, aber ich werde das mal googlen was du gesagt hast.
 
Bist du dir sicher das das Statement so funktioniert ?
Falls nicht lass dir einfach mal das Statement ausgeben und führe das ganze phpmyadmin o.ä. selber aus. Dann solltest du Fehlermeldungen sehen die vielleicht verschluckt werden ?

Mal nen Schuss ins blaue: alter ist int und daher machen die Anführungszeichen bei '$alter' probleme ?.

Btw: Die Abfrage bei $eingetragen direkt mittels mysq_query sollte auch keine Probleme machen, da:
manual hat gesagt.:
Für alle anderen von SQL Anweisungen wie INSERT, UPDATE, DELETE, DROP, etc, gibt mysql_query() TRUE bei Erfolg zurück oder FALSE bei Fehlern.

edit: Und auch ich lege dir nahe ein wenig über SQL_Injections zu lesen ;)
 
Zurück
Oben