Zack
cookies vader
Hallo,
folgendes Problem:
Ich habe ein Loginformular und ein Loginformular geschreiben. Es hängt ein Bild der Seite an, denn es ist schwer zu erklären warum der Fehler entsteht.
Jetzt zu meinem Problem: Sobald ich auf "Absenden" meines Registerformulars klicke erfolgt ein automatischer login, egal ob alle Felder richtig und vollständig ausgefüllt wurden oder nicht. Aber warum?
Hier die URL: http://www.fussball-in-geising.de/test/index.php?section=register
register.php
functions.php
Ich habe extra darauf geachtet unterschiedliche POST Indexe zu verwenden.
folgendes Problem:
Ich habe ein Loginformular und ein Loginformular geschreiben. Es hängt ein Bild der Seite an, denn es ist schwer zu erklären warum der Fehler entsteht.
Jetzt zu meinem Problem: Sobald ich auf "Absenden" meines Registerformulars klicke erfolgt ein automatischer login, egal ob alle Felder richtig und vollständig ausgefüllt wurden oder nicht. Aber warum?
Hier die URL: http://www.fussball-in-geising.de/test/index.php?section=register
PHP:
<?php
// Wenn bereits eingeloogt
if (!empty($_SESSION)){
echo "<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\" background=\"http://www.tutorials.de/forum/images/menu_bg.jpg\">";
// Adminmenü
$sql = "SELECT
Recht
FROM
user_rights
WHERE
UserID = '".$_SESSION['ID']."';";
$result = mysql_query($sql) OR die(mysql_error());
$rights = array();
while($row = mysql_fetch_assoc($result)) {
$rights[] = $row['Recht'];
}
if (in_array("Admin", $rights)){
{
echo "<tr><td><a class=\"menu\" href=\"index.php?section=admin&site=adminb\">Adminbereich</li></td></tr>\n";
}
}
// Usermenu
foreach ($menu_admin as $dateien => $caption )
{
echo "<tr><td><a class=\"menu\" href=\"index.php?section=admin&site=".$dateien."\">".$caption."</li></td></tr>\n";
}
echo "</table>";
}
else{
// Loginversuch?
if(isset($_POST['user']) and ($_POST['passwd']))
{
$user = $_POST['user'];
$passwd =md5($_POST['passwd']);
$sql = "SELECT * FROM user WHERE name='$user' AND password='$passwd' LIMIT 1";
$result = mysql_query($sql) OR die(mysql_error());
// Session füllen
if( mysql_num_rows($result) == 1 ){
$_SESSION['user'] = $user;
$_SESSION['passwd'] = $passwd;
$sql = "SELECT id, name, Email
FROM user
WHERE name = '".$_SESSION['user']."';";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
$_SESSION['ID'] = $row['id'];
// weiterleiten
echo "<script type=\"text/javascript\">
location.href=\"index.php?section=admin\";
</script>";
}else{
echo "<p class=\"error\">Falscher Benutzername oder Passwort.</p>".
" <center>
<form action=\"index.php?section=login\" method=\"POST\">
<input type=\"text\" name=\"user\" value=\"Name\">
<input type=\"password\" Name=\"passwd\" value=\"Password\"> <br />
<input type=\"submit\" name=\"login\" value=\" Einloggen \"> <br />
</form>" .
"<a href=\"index.php?section=register\"> Jetzt registrieren </a>".
"</center>"; };
}else{
// wenn nicht eingeloggt
echo "
<center>
<form action=\"index.php?section=login\" method=\"POST\">
<input type=\"text\" name=\"user\" value=\"Name\"><br />
<input type=\"password\" Name=\"passwd\" value=\"Password\"> <br />
<input type=\"submit\" name=\"login\" value=\" Einloggen \"> <br />
</form>".
"<a href=\"index.php?section=register\"> Jetzt registrieren </a>".
"</center>";
}}
?>
register.php
PHP:
<h1> Registrierung </h1>
<?php
$tdnick = 'white';
$tdnam = 'white';
$tdvnam = 'white';
$tdmail = 'white';
$tdcapt = 'white';
if (!empty($_POST)){
/* Überprüfung */
if(isset($_POST['nick']) AND
($_POST['nam']) AND
($_POST['vnam']) AND
($_POST['mail']) AND
($_POST['mail2']) AND
($_POST['captcha'])
)
{
/* bedingungen überprüfen */
/* mail prüfuen */
if(($_POST['mail']==$_POST['mail2']))
{
/* In Datenbank eintaragen */
/* E-Mail senden */
$nick = $_POST['nick'];
$nam = $_POST['nam'];
$vnam = $_POST['vnam'];
$mail = $_POST['mail'];
/* Passwort zusammen bauen */
$passwort = zahl().buchstabe().zahl().zahl().buchstabe().zahl().zahl().buchstabe().zahl();
/* Empfänger */
$empfaenger = array('Damir<'.$mail.'>');
/* Empfänger CC */
$empfaengerCC = array('Damir CC<'.$mail.'>');
/* Empfänger BCC */
$empfaengerBCC = array('Damir BCC<'.$mail.'');
/* Absender */
$absender = 'Anmeldung@fussball-in-geising.de<anmeldung@fussball-in-geising.de>';
/* Rueckantwort */
$reply = 'Anmeldung@fussball-in-geising.de<anmeldung@fussball-in-geising.de>';
/* Betreff */
$subject = 'Registrierung';
/* Nachricht */
$message = '<html>
<head>
<title>Vielen dank für Ihre Registrierung</title>
</head>
<body>' .
'Vielen Danke für ihre Registrierung bei www.fussball-in-Geising.de<br />' .
'Hier Ihre Benutzerdate:<br />
<table width="214" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Benutzername</td>
<td>'.$nick.'</td>
</tr>
<tr>
<td>Passwort</td>
<td>'.$passwort.'</td>
</tr>
</table>' .
'Sie können ihr Passwort in den Eigenen Daten ändern.<br />' .
'<br />' .
'Dies ist eine automatische E-Mail, bitte senden Sie keine Antwort.
</body>
</html>
';
/* Baut Header der Mail zusammen */
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $reply . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n";
$headers .= "Content-type: text/html\n";
// Extrahiere Emailadressen
$empfaengerString = implode(',', $empfaenger);
$empfaengerCCString = implode(',', $empfaengerCC);
$empfaengerBCCString = implode(',', $empfaengerBCC);
$headers .= 'Cc: ' . $empfaengerCCString . "\n";
$headers .= 'Bcc: ' . $empfaengerBCCString . "\n";
/* Verschicken der Mail */
mail($empfaengerString, $subject, $message, $headers);
/* Automatische weiterleitung */
echo "Erfolgrei registriert. Ihnen wird in wenigen Minuten ein Passwort an die angegebene Email-Adresse gesendet. Bitte überprüfen Sie ihr Postfach.";
}else{
$tdmail = 'red';
/* Mail stimmt nicht */
echo "<p class=\"error\">Die eingegebenen E-Mailadressen oder Passwörter stimmen nicht überein.</p>";
}
}else{
/* Pflichtfelder stimmen nicht */
$tdnick = 'red';
$tdnam = 'red';
$tdvnam = 'red';
$tdmail = 'red';
$tdcapt = 'red';
echo "<p class=\"error\">Bitte füllen Sie alle Pflichtfelder aus!</p>";
}
}
/* Wenn noch nicht "senden" gedrückt wurde */
/* Registerformular*/
echo"<center>" .
"<form action=\"index.php?section=register\" method=\"POST\"> <br />" .
"<table border=\"0\" width=\"100%\">" .
"<tr>" .
"<td>" .
"<p class=\"rot\">Pflicht Angaben:</p>" .
"</td>" .
"<td>" .
"</td>" .
"</tr>" .
/* Pflichtfelder */
"<tr>" .
"<td id=\"".$tdnick."\">" .
"Benutzername" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"nick\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td id=\"".$tdnam."\">" .
"Name" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"nam\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td id=\"".$tdvnam."\">" .
"Vorname" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"vnam\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td id=\"".$tdmail."\">" .
"E-Mail" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"mail\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td id=\"".$tdmail."\">" .
"E-Mail wiederholen" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"mail2\" > <br />" .
"</td>" .
"</tr>" .
"<tr height=\"10px\">" .
"</tr>" .
"<tr>" .
"<td id=\"".$tdcapt."\">" .
"<img src=\"capt/mccapt.php\" alt=\"\" />" .
"</td>" .
"<td>" .
"<input type=\"text\" name=\"captcha\" >" .
"</td>" .
"</tr>".
"<tr>" .
"<td>" .
"<p class=\"rot\">Persönliche Angaben:</p>" .
"</td>" .
"<td>" .
"</td>" .
"</tr>" .
/* Optionale Felder */
"<tr>" .
"<td>" .
"Spiel-Position" .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"position\"> <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"Telefonnummer (Vorwahl / Nummer)" .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"tele\" <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"Wohnort" .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"wohnort\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"Straße / Nr." .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"stra\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"Homepage:" .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"homepage\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"ICQ-Nr." .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"icq\" > <br />" .
"</td>" .
"</tr>" .
"<tr>" .
"<td>" .
"MSN-Name" .
"</td>" .
"<td>" .
"<input type=\"text\" Name=\"msn\" > <br />" .
"</td>" .
"</tr>" .
"</table>" .
"<br />" .
"Ja, ich habe die <a href=\"index.php?section=bedingung \">allgemeinen Bedingungen</a> gelesen und akzeptiere diese." .
"<input type=\"checkbox\" name=\"bedingung\" value=\"1\" /> <br /><br />" .
"<input type=\"submit\" name=\"send\" value=\" Absenden \">" .
"</form>" .
"</center>";
?>
functions.php
PHP:
function buchstabe()
{
$buchstaben = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$random = rand(0,25);
return $buchstaben[$random];
}
function zahl()
{
$zahl = rand(0,9);
return $zahl;
}
?>