mdean
|
Forenposter
|
|
registriert
|
03.01.2007
|
wohnt in
|
Schweiz
|
Beiträge
|
90
|
|
Ich bin mal das Tutorial von der Userverwaltung durchgegangen, hab es auf meine Page anwenden wollen, aber irgendwie geht's nicht. Ich weiss nicht worans liegt, aber irgendwie lädts einfach die site neu wenn ich auf senden klick und keine Fehlermeldungen werden angezeigt. Ich hoffe irgendwer kann mir helfen die Fehler zu beheben. Hier erstmal den code:
PHP:
<div id="register">
<form id="Registrierung" name="Registrierung" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<?php
error_reporting(E_ALL);
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'jkjhk';
$MYSQL_PASS = 'fghfgh';
$MYSQL_DATA = 'hjkhjk';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren'){
$errors = array();
if(!isset($_POST['Nickname'],
$_POST['Passwort'],
$_POST['Passwortwiederholung'],
$_POST['Email'],
$_POST['Show_Email'],
$_POST['Homepage'],
$_POST['Wohnort']))
$errors = "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
else{
// Alle Nicknames und Emailadressen zum Vergleich aus der Datenbank holen
$nicknames = array();
$emails = array();
$sql = "SELECT
Nickname,
Email
FROM
User
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
while($row = mysql_fetch_assoc($result)){
$nicknames[] = $row['Nickname'];
$emails[] = $row['Email'];
}
// Prüft, ob ein Nickname eingegeben wurde
if(trim($_POST['Nickname'])=='')
$errors[]= "Bitte geben Sie einen Nickname ein.";
// Prüft, ob der Nickname mindestens 3 Zeichen enthält
elseif(strlen(trim($_POST['Nickname'])) < 3)
$errors[]= "Ihr Name muss mindestens 3 Zeichen lang sein.";
// Prüft, ob der Nickname nur gültige Zeichen enthält
elseif(!preg_match('/^\w+$/', trim($_POST['Nickname'])))
$errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
// Prüft, ob der Nickname bereits vergeben ist
elseif(in_array(trim($_POST['Nickname']), $nicknames))
$errors[]= "Dieser Nickname ist bereits vergeben.";
// Prüft, ob eine Email-Adresse eingegeben wurde
if(trim($_POST['Email'])=='')
$errors[]= "Bitte geben Sie Ihre Email-Adresse ein.";
// Prüft, ob die Email-Adresse gültig ist
elseif(!preg_match('§^[\w\.-]+@[\w\.-]+\.[\w]{2,4}$§', trim($_POST['Email'])))
$errors[]= "Ihre Email Adresse hat eine falsche Syntax.";
// Prüft, ob die Email-Adresse bereits vergeben ist
elseif(in_array(trim($_POST['Email']), $emails))
$errors[]= "Diese Email-Adresse ist bereits vergeben.";
// Prüft, ob ein Passwort eingegeben wurde
if(trim($_POST['Passwort'])=='')
$errors[]= "Bitte geben Sie Ihr Passwort ein.";
// Prüft, ob das Passwort mindestens 6 Zeichen enthält
elseif (strlen(trim($_POST['Passwort'])) < 8)
$errors[]= "Ihr Passwort muss mindestens 8 Zeichen lang sein.";
// Prüft, ob eine Passwortwiederholung eingegeben wurde
if(trim($_POST['Passwortwiederholung'])=='')
$errors[]= "Bitte wiederholen Sie Ihr Passwort.";
// Prüft, ob das Passwort und die Passwortwiederholung übereinstimmen
elseif (trim($_POST['Passwort']) != trim($_POST['Passwortwiederholung']))
$errors[]= "Ihre Passwortwiederholung war nicht korrekt.";
}
// Prüft, ob Fehler aufgetreten sind
if(count($errors)){
echo "Ihr Account konnte nicht erstellt werden. Sollte dies öfters vorkommen kontaktieren Sie den Webmaster.<br>\n".
"<br>\n";
foreach($errors as $error)
echo $error."<br>\n";
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Registrierungsformular</a>\n";
}
else{
// Daten in die Datenbanktabelle einfügen
$sql = "INSERT INTO
User
(Nickname,
Email,
Passwort,
Show_Email,
Registrierungsdatum,
Wohnort,
Homepage
)
VALUES
('".mysql_real_escape_string(trim($_POST['Nickname']))."',
'".mysql_real_escape_string(trim($_POST['Email']))."',
'".md5(trim($_POST['Passwort']))."',
'".mysql_real_escape_string(trim($_POST['Show_Email']))."',
CURDATE(),
'".mysql_real_escape_string(trim($_POST['Wohnort']))."',
'".mysql_real_escape_string(trim($_POST['Homepage']))."'
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "Vielen Dank!\n<br>".
"Ihr Accout wurde erfolgreich erstellt.\n<br>".
"Sie können sich nun mit Ihren Daten einloggen.\n<br>".
"<a href=\"login.php\">Zum Login</a>\n";
}
}
?>
<table width="71%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="formular_reg">
<tr>
<td width="30%" height="9%" align="left" valign="middle" class="inhalt">Nickname</td>
<td width="2%" align="right" valign="middle" class="inhalt">:</td>
<td width="45%" colspan="3" align="center" valign="middle" class="inhalt"><input name="Nickname" type="text" id="Nickname" size="30" maxlength="30" /></td>
<td width="2%" align="left" valign="middle" class="inhalt">*</td>
<td width="21%" class="inhalt">
</td>
</tr>
<tr>
<td height="9%" align="left" valign="middle" class="inhalt">Email</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input name="Email" type="text" id="Email" size="30" maxlength="70" /></td>
<td class="inhalt">*</td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="9%" align="left" valign="middle" class="inhalt">Passwort</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input name="Passwort" type="password" id="Passwort" size="30" maxlength="32" /></td>
<td class="inhalt">*</td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="9%" align="left" valign="middle" class="inhalt">Passwortwiederholung</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input name="Passwortwiederholung" type="password" id="Passwortwiederholung" size="30" maxlength="32" /></td>
<td class="inhalt">*</td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="12%" align="left" valign="middle" class="inhalt">Evtl. Newsletter erhalten </td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt">
<?php echo"<input type=\"radio\" name=\"Show_Email\" value=\"show\"> ja\n";
echo "<input type=\"radio\" name=\"Show_Email\" value=\"hide\" checked> nein\n"; ?></td>
<td class="inhalt">*</td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="9%" align="left" valign="middle" class="inhalt">Wohnort</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input name="Wohnort" type="text" id="Wohnort" size="30" maxlength="70" /></td>
<td class="inhalt"> </td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="9%" align="left" valign="middle" class="inhalt">Homepage</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input name="Homepage" type="text" id="Homepage" size="30" maxlength="70" /></td>
<td class="inhalt"> </td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="14%" align="left" valign="middle" class="inhalt">Nutzungsbedingungen</td>
<td align="right" valign="middle" class="inhalt">:</td>
<td colspan="3" align="center" valign="middle" class="inhalt"><input type="checkbox" name="checkbox" value="checkbox" />
Ich stimme den Nutzungsbedingungen zu</td>
<td class="inhalt"> </td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="5%" class="inhalt"> </td>
<td align="right" valign="middle" class="inhalt"> </td>
<td colspan="4" class="inhalt"> </td>
<td class="inhalt"> </td>
</tr>
<tr>
<td height="3%" colspan="7" class="inhalt">* Diese Felder müssen ausgefüllt sein.</td>
</tr>
<tr>
<td height="42" colspan="7" class="inhalt"> </td>
</tr>
<tr>
<td height="2%" class="inhalt"> </td>
<td height="2%" class="inhalt"> </td>
<td height="2%" class="inhalt"><input type="submit" name="Submit" value="Send" /></td>
<td height="2%" class="inhalt"> </td>
<td height="2%" class="inhalt"><input name="Delete" type="reset" id="Delete" value="Delete" /></td>
<td height="2%" class="inhalt"> </td>
<td height="2%" class="inhalt"> </td>
</tr>
<tr>
<td height="8%" colspan="7" class="inhalt"> </td>
</tr>
</table>
</form>
</div>
Dieser Beitrag wurde am 04.01.2007 um 14:32:33 Uhr von mdean zum 2. Mal editiert.
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
ähm nein.. ich hab doch geschrieben
Zitat:als if bedingung
PHP:
if(isset($_POST['Send_x'], $_POST['Send_x']) ){
also musst du
PHP:
if(isset($_POST['Submit']) AND $_POST['Submit']=='Send'){
durch
PHP:
if(isset($_POST['Send_x'], $_POST['Send_x']) ){
ersetzen, dann funktioniert es.
Send_x und Send_y werden benutzt, weil du type="image" benutzt, da muss man halt etwas anders an die sache rangehen
und onclick="submit()" brauchst du nicht
Probiers einfach mal aus, es sollte gehen ^^
|