Hi...
habe da ein kleines Problem...mein registrier-formular funktioniert nicht.
Was habe ich falsch gemacht? Der gibt mir alle "errors" aus.
php:
formular:
Kann mir wer helfen?
habe da ein kleines Problem...mein registrier-formular funktioniert nicht.
Was habe ich falsch gemacht? Der gibt mir alle "errors" aus.
php:
PHP-Code:
<?php
if(isset($_POST['save'])) {
$errors = array();
if(!isset($_POST['nickname'],
$_POST['pwd1'],
$_POST['pwd2'],
$_POST['mail'],
$_POST['firstname'],
$_POST['lastname'],
$_POST['sex'],
$_POST['b_day'],
$_POST['b_month'],
$_POST['b_year'],
$_POST['town'],
$_POST['newsletter']))
$errors = 'Bitte benutzen Sie das Formular aus dem Registrierungsbereich';
else {
$nicknames = array();
$mails = array();
$sql = 'SELECT nickname, email FROM '.PREFIX.'users';
$result = mysql_query($sql) or die ('<pre>'.$sql.'</pre>'.mysql_error());
while($row = mysql_fetch_assoc($result)){
$nicknames[] = $row['nickname'];
$mails[] = $row['email'];
}
if(trim($_POST['nickname'])=='')
$errors[] = 'Bitte geben Sie einen Nickname ein.';
elseif(!preg_match('/^\w+$/', trim($_POST['nickname'])))
$errors[] = 'Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).';
elseif(in_array(trim($_POST['nickname']), $nicknames));
$errors[] = 'Nickname already in use!';
if(trim($_POST['mail'])=='')
$errors[] = 'Bitte geben Sie Ihre Email-Adresse ein.';
elseif(!preg_match('§^[\w\.-][email protected][\w\.-]+\.[\w]{2,4}$§', trim($_POST['mail'])))
$errors[] = 'Your e-mail is not valid!';
elseif(in_array(trim($_POST['mail']), $mails))
$errors[] = 'Email already in use!';
if(trim($_POST['pwd1'])=='');
$errors[] = 'you have to enter a password!';
if(trim($_POST['pwd2'])=='');
$errors[] = 'Bitte wiederholen Sie Ihr Passwort.';
if(trim($_POST['pwd1']) != trim($_POST['pwd2']))
$errors[] = 'Ihre Passwortwiederholung war nicht korrekt.';
}
if(count($errors)){
echo 'Ihr Account konnte nicht erstellt werden.<br>';
echo '<br>';
foreach($errors as $error)
echo $error . '<br>';
echo 'Zurück zur <a href="' . $_SERVER['PHP_SELF'] . '">Startseite</a>';
} else {
$sql = 'INSERT INTO '.PREFIX.'users (nickname, firstname, lastname, email, password, sex, country, town, birthday, newsletter)
VALUES (
"'.mysql_real_escape_string(trim($_POST['nickname'])).'",
"'.mysql_real_escape_string(trim($_POST['firstname'])).'",
"'.mysql_real_escape_string(trim($_POST['lastname'])).'",
"'.mysql_real_escape_string(trim($_POST['mail'])).'",
"'.md5(trim($_POST['pwd1'])).'",
"'.mysql_real_escape_string(trim($_POST['sex'])).'",
"'.mysql_real_escape_string(trim($_POST['county'])).'",
"'.mysql_real_escape_string(trim($_POST['town'])).'",
"'.mysql_real_escape_string(trim(mktime(0,0,0,$_POST['b_month'],$_POST['b_day'],$_POST['b_year']))).'",
"'.mysql_real_escape_string(trim($_POST['newsletter'])).'"
)';
mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
echo 'Your registration was successful.';
echo '<a href="index.php?site=login">Zum Login</a>';
}
} else {
$sql = "select * from ".PREFIX."countries";
$sql = mysql_query($sql);
$countries = '<select name="country">';
while($row = mysql_fetch_array($sql)) {
$countries .= '<option value="' . $row['countryID'] . '">' . $row['country'] . '</option>';
}
$countries .= '</select>';
eval ("\$register = \"".gettemplate("register")."\";");
echo $register;
}
?>
Code:
<form method="post" name="post" action="index.php?site=register"> <table width="100%" border="0" cellspacing="1" cellpadding="2"> <tr> <td colspan="2" height="20" class="title"> • Profile-Info:</td> </tr> <tr> <td colspan="2"></td> </tr> <tr> <td align="right">Username: *</td> <td><input type="text" name="nickname" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"> (for login only)</td> </tr> <tr> <td align="right">Password: *</td> <td><input type="password" name="pwd1" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td align="right">repeat Password: *</td> <td><input type="password" name="pwd2" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td align="right">E-mail: *</td> <td><input type="text" name="mail" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td colspan="2"></td> </tr> <tr> <td colspan="2" class="title"> • Personal-Info:</td> </tr> <tr> <td colspan="2"></td> </tr> <tr> <td align="right">First Name: *</td> <td><input type="text" name="firstname" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td align="right">Last Name: </td> <td><input type="text" name="lastname" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td align="right">Sexuality: *</td> <td><input class="input" type="radio" name="sex" value="m" checked> male <input class="input" type="radio" name="sex" value="f"> female</td> </tr> <tr> <td align="right">Day of Birth: *</td> <td> <input name="b_day" type="text" size="2" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"> . <input name="b_month" type="text" size="2" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"> . <input name="b_year" type="text" size="4" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"> (dd.mm.yyyy) </td> </tr> <tr> <td align="right">Country: *</td> <td>$countries</td> </tr> <tr> <td align="right">Town: </td> <td><input type="text" name="town" size="30" class="form_off" onFocus="this.className='form_on'" onBlur="this.className='form_off'"></td> </tr> <tr> <td colspan="2" class="title"> • Options:</td> </tr> <tr> <td colspan="2"></td> </tr> <tr> <td align="right">Newsletter: </td> <td><input class="input" type="radio" name="newsletter" value="1" checked> Yes <input class="input" type="radio" name="newsletter" value="0"> No</td> </tr> <tr> <td colspan="2"></td> </tr> <tr> <td> </td> <td><input name="save" type="submit" value="register now"> </td> </tr> </table> </form>
Kommentar