Total Error

valeripf

Erfahrenes Mitglied
ich habe Php Tabelle SQL php </tr> </td> geschrieben und Jetzt Funktioniert gar nicht
Kann jemand Helfen Fehler zu finden ?

hier ist mein PHP

PHP:
<?php 
    error_reporting(E_ALL); 
    $MYSQL_HOST = '*********'; 
    $MYSQL_USER = '******; 
    $MYSQL_PASS = '*********'; 
    $MYSQL_DATA = '*********'; 

   $connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
    mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error()); 

    session_start(); 

    if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren'){ 
        // Fehlerarray anlegen 
        $errors = array();
        // Geburtsdatumsstring erstellen
        $datum = "{$_POST['Jahr']}-{$_POST['Monat']}-{$_POST['Tag']}";
        // Daten in die Datenbanktabelle einfügen 
          
         // hier bastelst du dein SQL-Query, nimmst
         // aber $datum statt $_POST['Geburtsdatum']
        // Prüfen, ob alle Formularfelder vorhanden sind 
        if(!isset($_POST['Nickname'], 
                  $_POST['Passwort'], 
                  $_POST['Passwortwiederholung'], 
                  $_POST['Email'], 
                  $_POST['Geschlecht'], 
                  $_POST['Name'], 
                  $_POST['Vorname'], 
                  $_POST['Postleitzahl'],
                  $_POST['Stadt'],
                  $_POST['Strasse'],
                  $_POST['Haus'],
                  $_POST['ICQ'],
                  $_POST['MSN']))
            // Ein Element im Fehlerarray hinzufügen 
            $errors[] = "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
        else{ 
            // Prüfung der einzelnen User Felder 
            // 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 4 Zeichen enthält 
            elseif(strlen(trim($_POST['Nickname'])) < 4) 
                $errors[]= "Ihr Nickname muss mindestens 4 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 5 Zeichen enthält 
            elseif (strlen(trim($_POST['Passwort'])) < 5) 
                $errors[]= "Ihr Passwort muss mindestens 5 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 ein Geschlecht eingegeben wurde 
            if(trim($_POST['Geschlecht'])=='') 
                $errors[]= "Bitte geben Sie Ihr Geschlecht ein.";
            // Prüft, ob ein Name eingegeben wurde 
            if(trim($_POST['Name'])=='') 
                $errors[]= "Bitte geben Sie Ihr Name ein.";
            // Prüft, ob der Name mindestens 2 Zeichen enthält 
            elseif(strlen(trim($_POST['Name'])) < 2) 
                $errors[]= "Ihr Name muss mindestens 2 Zeichen lang sein."; 
            // Prüft, ob der Name nur gültige Zeichen enthält 
            elseif(!preg_match('/^\w+$/', trim($_POST['Name']))) 
                $errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
            // Prüft, ob ein Vorname eingegeben wurde 
            if(trim($_POST['Vorname'])=='') 
                $errors[]= "Bitte geben Sie Ihr Vorname ein.";
            // Prüft, ob der Vorname mindestens 3 Zeichen enthält 
            elseif(strlen(trim($_POST['Vorname'])) < 3) 
                $errors[]= "Ihr Vorname muss mindestens 3 Zeichen lang sein."; 
            // Prüft, ob der Vorname nur gültige Zeichen enthält 
            elseif(!preg_match('/^\w+$/', trim($_POST['Vorname']))) 
                $errors[]= "Benutzen Sie bitte nur alphanumerische Zeichen (Zahlen, Buchstaben und den Unterstrich).";
           
            if(trim($_POST['Postleitzahl'])=='') 
                $errors[]= "Bitte geben Sie Ihr Postleitzahl ein.";
            // Prüft, ob der Postleitzahl mindestens 1 Zeichen enthält 
            elseif(strlen(trim($_POST['Postleitzahl'])) < 1) 
                $errors[]= "Ihr Postleitzahl muss mindestens 1 Zeichen lang sein.Lander Ohne Postleizahl Geben sie Einfach 0";
             if(trim($_POST['Stadt'])=='') 
                $errors[]= "Bitte geben Sie Ihr Stadt ein.";
            // Prüft, ob der Stadt mindestens 4 Zeichen enthält 
            elseif(strlen(trim($_POST['Stadt'])) < 4) 
                $errors[]= "Bitte Geben Sie ihere Stadt ein."; 
            // Prüft, ob ein Strasse eingegeben wurde 
            if(trim($_POST['Strasse'])=='') 
                $errors[]= "Bitte geben Sie Ihr Strasse ein.";
            // Prüft, ob ein Haus eingegeben wurde 
            if(trim($_POST['Haus'])=='') 
                $errors[]= "Bitte geben Sie Ihr Hausnummer ein.";
            // Prüft, ob der Stadt mindestens 3 Zeichen enthält 
            elseif(strlen(trim($_POST['Haus'])) < 1) 
                $errors[]= "Bitte Geben Sie ihere Haus ein.";
           
        } 
        // Prüft, ob Fehler aufgetreten sind 
        if(count($errors)){ 
             echo "Ihr Account konnte nicht erstellt werden.<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,
                             Registrierungsdatum, 
                             Name, 
                             Geschlecht, 
                             Vorname, 
                             Geburtsdatum, 
                             Postleitzahl, 
                             Stadt, 
                             Strasse,
                             Haus,
                             ICQ,
                             MSN
                            ) 
                    VALUES 
                            ('".mysql_real_escape_string(trim($_POST['Nickname']))."',
                             '".mysql_real_escape_string(trim($_POST['Email']))."',
                             '".md5(trim($_POST['Passwort']))."', 
                             CURDATE(), 
                             '".mysql_real_escape_string(trim($_POST['Name']))."',
                             '".mysql_real_escape_string(trim($_POST['Geschlecht']))."',
                             '".mysql_real_escape_string(trim($_POST['Vorname']))."',
                             '".mysql_real_escape_string($datum)."', 
                             '".mysql_real_escape_string(trim($_POST['Postleitzahl']))."',
                             '".mysql_real_escape_string(trim($_POST['Stadt']))."',
                             '".mysql_real_escape_string(trim($_POST['Strasse']))."',
                             '".mysql_real_escape_string(trim($_POST['Haus']))."',
                             '".mysql_real_escape_string(trim($_POST['ICQ']))."',
                             '".mysql_real_escape_string(trim($_POST['MSN']))."'
                            ) 
                   "; 
            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"; 
        } 
    } 
else { 
         $Monatsnamen = array(
    1 => 'Januar',
    2 => 'Februar',
    3 => 'März',
    4 => 'April',
    5 => 'Mai',
    6 => 'Juni',
    7 => 'Juli',
    8 => 'August',
    9 => 'September',
    10 => 'Oktober',
    11 => 'November',
    12 => 'Dezember'
);

$tage = '';
for($i = 1; $i <= 31; $i++){
    $tage .= "<option value=\"$i\">$i</option>";
}
 
$monate = '';
foreach($Monatsnamen as $m){
    $monate .= "<option value=\"$m\">$m</option>";
}
 
$jahre = '';
for($i = 2006; $i >= 1900; $i--){
    $jahre .= "<option value=\"$i\">$i</option>";
}

echo(<<< EOT
<form name="Registrierung" action="{$_SERVER['PHP_SELF']}" method="post" accept-charset="ISO-8859-1">
	<table border="1">
		<tr>
			<th><h5>USER Daten</h5></th>
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.4 max.32 Nur Zahlen, Buchstaben und Unterstrich">Nickname:</span></td>
			<td><input type="text" name="Nickname" maxlength="32" /></td>
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.6">Passwort: </span></td> 
			<td><input type="password" name="Passwort" /></td> 
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.6">Passwort wiederholen: </span></td> 
			<td><input type="password" name="Passwortwiederholung" /></td>
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="Ihre.Adresse@Ihr-Anbieter.de">Email-Adresse: </span></td> 
			<td><input type="text" name="Email" maxlength="70" /></td>
			</span>
		</tr>
		<tr>
			<th><h5>Personliche Daten</h5></th>
		</tr>
		<tr>
			<td><span style="font-weight:bold;">Geschlecht: </span></td> 
			<td><input type="radio" name="Geschlecht" value="0"> Mannlich</td> 
			<td><input type="radio" name="Geschlecht" value="1">  Weiblich</td>
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.2 nmax.32 Nur Zahlen, Buchstaben und Unterstrich">Name:</span></td> 
			<td><input type="text" name="Name" maxlength="32" /></td>
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.3 nmax.32 Nur Zahlen Buchstaben und Unterstrich">Vorname:</span></td>
			<td><input type="text" name="Vorname" maxlength="32" /></td>
		</tr>
		<tr>
			<td><span style="font-weight:bold;">Geburtsdatum</span></td>
            <td>
                <select name="Tag">
                    <option value="0">Tag</option>
                    $tage
                </select>
                <select name="Monat">
                    <option value="0">Monat</option>
                    $monate
                </select>
                <select name="Jahr">
                    <option value="0">Jahr</option>
                    $jahre
                </select>
            </td>
        </tr>
			<td><span style="font-weight:bold;" title="min.1 nmax.32 Nur Zahlen, Buchstaben und Unterstrich">Postleitzahl:</span></td>
			<td><input type="text" name="Postleitzahl" maxlength="70" /></td> 
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.4 max.32 Nur Zahlen, Buchstaben und Unterstrich">Stadt:</span></td> 
			<td><input type="text" name="Stadt" maxlength="70" /></td> 
		</tr>
		<tr>
			<td><span style="font-weight:bold;" title="min.1 max.32 Nur Zahlen, Buchstaben und Unterstrich">Strasse:</span></td>
			<td><input type="text" name="Strasse" maxlength="70" /></td>
			<td><span style="font-weight:bold;" title="min.1 max.32 Nur Zahlen, Buchstaben und Unterstrich">Haus:</span></td> 
			<td><input type="text" name="Haus" size=2 maxlength="10" />
		</tr>
		<tr>
			<th><h5>Freiwillige angaben</h5></th>
		</tr>
		<tr>
			<td><span style="font-weight:bold;">ICQ:</span></td> 
			<td><input type="text" name="ICQ" maxlength="20" /></td> 
		</tr>
		<tr>
			<td><span style="font-weight:bold;">MSN:</span></td> 
			<td><input type="text" name="MSN" maxlength="70" /></td> 
		</tr>
		</table>
			<input type="checkbox" name="tags[AGB]" value="1" />Ich habe die <a href="abg.php">AGB</a>gelesen und akzeptiere sie.
			<br/>
			<input type="checkbox" name="tags[DATA]" value="2" />Ich versichere,vorstehenden angaben Richtig und Vollständig sind.
            <br/>
			<input type="submit" name="submit" value="Registrieren">
			<input type="reset" value="Zurücksetzen">
</form>
EOT
);
}
?>

Danke******
 
Hi valeripf,

1.) Welcher Fehler denn? Du hast bereits [phpf]error_reporting[/phpf] gesetzt, falls dennoch kein Fehler ausgegeben wird, müsstest du mal [phpf]display_errors[/phpf] versuchen.

2.) Mit welchem Editor arbeitest denn du? Entweder hast du beim Copy&Paste ein Anführungszeichen entfernt, oder dies ist der eigentliche (Syntax-)Fehler den du hast.
Das sieht man sehr am Syntax-Highlighting im Post hier.
 
Meistens kommt solch ein 500-Fehler durch eine Miskonfiguration des Servers. Auf lima-city wird es wahrscheinlich nur eine fehlerhafte .htaccess-Datei sein können.
 
session_start und Ähnliches muss vor jeder Ausgabe sein, also auch vor dem HTML-Code.

Wie schon gesagt wurde, die Konfiguration vom Server/htaccess mal anschauen.
Die kann verursachen, dass statt PHP-Fehlermeldungen ein 500-Fehler kommt.

@Saftmeister: Noch gar nicht gesehen :D
 
Zurück