Seite 1 von 2

Fehler in php code

Verfasst: 20.06.2005 17:03
von witzigerkiller
Weis net, wo genau der fehler sitzt:

Parse error: parse error, unexpected $ in /mnt/kw2/01/139/00000003/htdocs/Tobi/acp.php on line 56
naja, und der code:

Code: Alles auswählen

<form action="index.php?inhalt=acp" method="post">
<table>
 <tr>
  <td><b>Benutzername:</b></td>
  <td><input type="text" name="Benutzername" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Passwort:</b></td>
  <td><input type="password" name="PW1" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Passwort-wiederholen:</b>
  <td><input type="password" name="PW2" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>E-Mail</b></td>
  <td><input type="text" name="mail" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Vorname:</b></td>
  <td><input type="text" name="Vname" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Nachname:</b></td>
  <td><input type="text" name="Nname" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><input type="submit" name="Senden" value="ADMIN WERDEN" /></td>
  <td align="right"><input type="reset" name="Lohsen" value="Zurücksetzen" /></td>
 </tr>
</table>
</form>

<?PHP
 if (isset($_POST['Senden'])) {
  if (empty($_POST['Benutzername']) OR empty($_POST['PW1'])
      OR empty($_POST['PW2']) OR empty($_POST['mail']) OR empty($_POST['Vname'])
      OR empty($_POST['Nname'])) {
   echo "Hallo ".$_POST['Vname']."! Leider hast du vergessen ein Feld
         auszufüllen, deswegen möchte ich dich bitten, nochmal alles
         auszufüllen!";           }
   else {
    if ($_POST['PW1'] !== $_POST['PW2']) {
     echo "Hallo ".$_POST['Vname']."! Leider stimmen deine Passwörter nicht
            überein! Bitte schau nochmal nach !";
                                          }
   else {
    if ( !stristr($_POST['mail'],'@') && !stristr($_POST['mail'],'.') ) {
     echo "Hallo ".$_POST['Vname']."! Leider stimmt deine E-Mailadresse nicht,
           ich will dich bitten diese nochmal zu überprüfen!";        }
   else {
    echo "Jetzt wird man eingetragen";
        }
                                }
?>

Verfasst: 20.06.2005 17:42
von Condor
Hi,

versuchs mal damit:

Code: Alles auswählen

<form action="index.php?inhalt=acp" method="post">
<table>
 <tr>
  <td><b>Benutzername:</b></td>
  <td><input type="text" name="Benutzername" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Passwort:</b></td>
  <td><input type="password" name="PW1" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Passwort-wiederholen:</b>
  <td><input type="password" name="PW2" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>E-Mail</b></td>
  <td><input type="text" name="mail" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Vorname:</b></td>
  <td><input type="text" name="Vname" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><b>Nachname:</b></td>
  <td><input type="text" name="Nname" size="20" maxlength="40" /></td>
 </tr>
 <tr>
  <td><input type="submit" name="Senden" value="ADMIN WERDEN" /></td>
  <td align="right"><input type="reset" name="Lohsen" value="Zurücksetzen" /></td>
 </tr>
</table>
</form>

<?PHP
 if (isset($_POST['Senden'])) {
  if (empty($_POST['Benutzername']) OR empty($_POST['PW1'])
      OR empty($_POST['PW2']) OR empty($_POST['mail']) OR empty($_POST['Vname'])
      OR empty($_POST['Nname'])) {
   echo "Hallo ".$_POST['Vname']."! Leider hast du vergessen ein Feld
         auszufüllen, deswegen möchte ich dich bitten, nochmal alles
         auszufüllen!";           }
   else {
    if ($_POST['PW1'] !== $_POST['PW2']) {
     echo "Hallo ".$_POST['Vname']."! Leider stimmen deine Passwörter nicht
            überein! Bitte schau nochmal nach !";
                                          }
   else {
    if ( !stristr($_POST['mail'],'@') && !stristr($_POST['mail'],'.') ) {
     echo "Hallo ".$_POST['Vname']."! Leider stimmt deine E-Mailadresse nicht,
           ich will dich bitten diese nochmal zu überprüfen!";        }
   else {
    echo "Jetzt wird man eingetragen";
        }
                                }
        }
    }
?>

Verfasst: 20.06.2005 17:44
von AmShaegar
würdest du noch die güte bsitzen uns die zeile 56 zu kennzeichnen, oder hab ich eine kennzeichnunug übersehen?

Verfasst: 20.06.2005 19:27
von Condor
Hallo,

die Zeile 56 gibts nicht. Er hat einfach 2 Klammern vergessen. Mein Code müsste funktionieren. Ciao.

Verfasst: 20.06.2005 19:39
von Blutgerinsel
Ein paar Kritiken/Vorschläge am Rande:
if (empty($_POST['Benutzername']) OR empty($_POST['PW1'])
OR empty($_POST['PW2']) OR empty($_POST['mail']) OR empty($_POST['Vname'])
OR empty($_POST['Nname']))
Wenn du ohnehin alle Felder als Pflichtfelder definierst warum dann nicht gleich das POST Array durchlaufen?
if ( !stristr($_POST['mail'],'@') && !stristr($_POST['mail'],'.') ) {
Sicher?
Demnach ist eine eMail mit fsfsd.fsdf@ korrekt deiner Ansicht nach?
Mit einem regulären Ausdruck vergleichen -> preg_match();

Daneben solltest du dein Codestyling überarbeiten, da blickt kein Mensch durch....Und bei einzeiligen Anweisungen sind Blöcke mit { } unnötig und verwirren

Verfasst: 21.06.2005 13:56
von pokepika
Blutgerinsel hat geschrieben:Und bei einzeiligen Anweisungen sind Blöcke mit { } unnötig und verwirren
ansichtssache.. :roll:

Verfasst: 21.06.2005 14:24
von Blutgerinsel
pokepika hat geschrieben:ansichtssache.. :roll:
naja Hauptsache man verschiebt die Zeilen so komisch, dass man überhaupt kein Lesefaden mehr hat und schmückt diese noch mit ein paar unnötigen Zeichen, welche dazu verleiten zwanghaft eine weitere Zeile zu finden....:roll:

Spätestens nach 1000 Zeilen Quellcode ohne Template Engine wird man mit dem Schema......wie auch immer

Verfasst: 21.06.2005 14:32
von pokepika
ist ja richtig, aber mir gings jetzt um die {} :wink:

Verfasst: 21.06.2005 19:27
von shwepsi
pokepika hat geschrieben:
Blutgerinsel hat geschrieben:Und bei einzeiligen Anweisungen sind Blöcke mit { } unnötig und verwirren
ansichtssache.. :roll:
richtig eingerückt und ... in die richtigen Zeilen gepackt finde ich die {} nicht schlimm. Das Problem ist wohl eher das ganze Chaos in der Datei allgemein

obwohl ich zur Ehre von Witzigkiller sagen muss das es vor 2 Monaten schlimmer war als jetzt. Und die Klammersetzug ist auch schon besser als früher...

Es geht zwar nur sehr langsam, aber beständig aufwärts

Verfasst: 21.06.2005 20:39
von General Gunrider
Wenns keine Zeile 56 gibt kommt auch keine Zeile 56 Fehlermledung!

Da stimmt was ned!