Hans: Liste/Menu - Problem (PHP)

Ich suche eine möglichst einfache Lösung um das zusätzliche Auswahlfeld/Liste im PHP-Script (siehe nachstehenden Code)  miteinbeziehen.

Wenn ich es am Server ausprobiere, bekomme ich folgende Fehlermeldung : Parse error: parse error, unexpected T_IF in C:\Inetpub\test\absenden.php on line xxx

Ich habe im Internet gestöbert und bin auf  "If (is_array($..."  und  auf  "foreach($xxx as $xxx)..."  gestossen womit man anscheinend ein Listenfeld behandeln kann.

Kenne mich nicht so gut aus, wie man das Problem am einfachsten - mit nur ein paar Codezeilen mehr - lösen kann.

Danke im voraus
Hans

-----------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
</head>
<body>
<form action="absenden.php" method="post">
  <label></label>
  <table border="0" width="500" cellspacing="0" cellpadding="0" align="center"><tr>
  <td height="15" colspan="2"></td>
</tr>
    <tr>
      <td>Name:</td>
      <td><input type="text" name="name" id="name"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
  <td width="200">E-Mail:</td>
  <td width="300"><input type="text" name="email"></td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>Auswahl:</td>
  <td><select name="listenfeld" id="listenfeld">
    <option>Testwert1</option>
    <option>Testwert2</option>
    <option>Testwert3</option>
    </select></td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td width="200">&nbsp;</td>
  <td width="300"><input type="submit" value="Senden"></td>
</tr>
</table>
</form>
</body>
</hml>

---------

<?php
$empfaenger = "email-adresse";
$betreff = "betreff";
$mailtext = "Name: $name
Email: $email";
if(empty($name) || empty($email))
{
header("Location: fehler.html");
}
else
{
mail("$empfaenger", "$betreff", "$mailtext", "From: $email");
header("Location: danke.html");
}
?>

  1. hi,

    Wenn ich es am Server ausprobiere,

    Wenn du _was_ ausprobierst?

    bekomme ich folgende Fehlermeldung : Parse error: parse error, unexpected T_IF in C:\Inetpub\test\absenden.php on line xxx

    Welche Zeile ist xxx?
    Wo ist diese in deinem Code?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Wenn du _was_ ausprobierst?

      *** ... die Htmls und Php_Datei hochlade und das Formular am Server ausprobiere. (Leider ist das etwas umständlich, wenn ich es nur online testen kann und "herumprobieren" muss).

      bekomme ich folgende Fehlermeldung : Parse error: parse error, unexpected T_IF in C:\Inetpub\test\absenden.php on line xxx

      Welche Zeile ist xxx?

      *** ... hatte zuvor auch fürs Auswahlfeld ein "if empty" drinnen
      stehen und habe die Zeile wieder rausgelöscht, da es mit dem Listenfeld ja nicht funktioniert hat und wegen dieser falschen empty-zeile sicher der Fehler entstand. (Die Zeile gibt es nicht mehr).

      Danke!
      Hans

      Wo ist diese in deinem Code?

      gruß,
      wahsaga

      1. hi,

        Wenn du _was_ ausprobierst?
        *** ... die Htmls und Php_Datei hochlade und das Formular am Server ausprobiere. (Leider ist das etwas umständlich, wenn ich es nur online testen kann und "herumprobieren" muss).

        Wenn ich gewollt hätte, dass du erneut verbal-verschwurbelt sagst, was du erreichen willst o.ä., dann hätte ich danach gefragt.

        Es ging um den _Code_.

        Welche Zeile ist xxx?
        *** ... hatte zuvor auch fürs Auswahlfeld ein "if empty" drinnen
        stehen

        Hältst du das wirklich für eine sinnvolle Antwort auf die Frage, um welche Zeile es sich handelt?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo!

          hi,

          Wenn du _was_ ausprobierst?
          *** ... die Htmls und Php_Datei hochlade und das Formular am Server ausprobiere. (Leider ist das etwas umständlich, wenn ich es nur online testen kann und "herumprobieren" muss).

          Wenn ich gewollt hätte, dass du erneut verbal-verschwurbelt sagst, was du erreichen willst o.ä., dann hätte ich danach gefragt.

          Es ging um den _Code_.

          *** Entschuldige.

          Welche Zeile ist xxx?
          *** ... hatte zuvor auch fürs Auswahlfeld ein "if empty" drinnen
          stehen

          Hältst du das wirklich für eine sinnvolle Antwort auf die Frage, um welche Zeile es sich handelt?

          *** Ich habe leider den PhP-Code inzwischen einige male geringfügig verändert, sodass ich nur sagen kann er blieb vermutlich bei "if empty" (ich glaube es war Zeile 19)hängen. Ich dachte die Fehlermeldung anzuführen reicht. Das hat es wohl auch, denn ich
          bekam schon eine konkrete Antwort, auch wenn mitunter MEINE gestellte Frage/Problemschilderung nicht die Beste war.
          (Von Dir kam eigentlich nur "welche Zeile ist XXX?", wo wir nun auf der Stelle treten. Ein Hilfe-Versuch von dir, würde mich freuen).

          Nix für ungut.
          Hans

          gruß,
          wahsaga

          1. hi,

            bitte zitiere vernünftig!

            (Von Dir kam eigentlich nur "welche Zeile ist XXX?", wo wir nun auf der Stelle treten.

            Ja, weil du noch nicht einmal diese Frage beantworten konntest.

            Ich habe leider den PhP-Code inzwischen einige male geringfügig verändert

            Wie soll man dir dann helfen können, wenn du selbst inzwischen nicht mal mehr nachvollziehen kannst, was wo stand und wo welcher Fehler gemeldet wurde?

            Ein Hilfe-Versuch von dir, würde mich freuen).

            Wobei denn?

            Wenn du jetzt noch ein konkretes Problem hast - dann liefere auch mal eine vernünftige Beschreibung.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hi!

              Ein konkretes Problem wäre z.B.

              Das Beispiel unter: http://www.webmaster-portal.de/Tutorial_9_Webmaster.html
              welches als Beispiel nicht korrekt funktioniert.

              Ich habe es probiert um PHP besser zu verstehen und hoffentlich bisserl was zu lernen. Leider funktioniert nicht mal das Script, was da auf dieser Website angeführt ist!
              Fehler: Beim Ausfüllen kommt immer die Meldung, dass nicht alle Felder ausgefüllt sind.

              Da hätte ich mal gerne die Lösung dafür. Was stimmt nicht im Script auf der genannten Seite?

              P.S.: Habe mir jetzt mal einen virteullen Webserv installiert. Xampp.
              Als PHP-Einsteiger ist alles schwer, aber ich kann wenigstens jetzt mal herumprobieren.

              Gruss
              Hans

              Wenn du jetzt noch ein konkretes Problem hast - dann liefere auch mal eine vernünftige Beschreibung.

              gruß,
              wahsaga

  2. Hallo,


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <form action="absenden.php" method="post">
      <label></label>
      <table border="0" width="500" cellspacing="0" cellpadding="0" align="center"><tr>
      <td height="15" colspan="2"></td>
    </tr>
        <tr>
          <td>Name:</td>
          <td><input type="text" name="name" id="name"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
      <td width="200">E-Mail:</td>
      <td width="300"><input type="text" name="email"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Auswahl:</td>

    <td><select name="listenfeld" id="listenfeld">
         <option value="wert1">Testwert1</option>
         <option value="wert2">Testwert2</option>
         <option value="wert3">Testwert3</option>
         </select></td>

    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td width="200">&nbsp;</td>
      <td width="300"><input type="submit" value="Senden"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    <?php
    $empfaenger = "email-adresse";
    $betreff = "betreff";
    $mailtext = "Name: $name

    $auswahlliste=$liste;

    Email: $email";
    if(empty($name) || empty($email))
    {
    header("Location: fehler.html");
    }
    else
    {
    mail("$empfaenger", "$betreff", "$mailtext", "From: $email");
    header("Location: danke.html");
    }
    ?>

    jetzt würde in $auswahlliste z. B. für Auswahl des Testwertes 1 "wert1" stehen

    gruß aus Senftenberg am See

    1. Hi!

      Noch eine Frage:

      "$liste" (php unten) wäre also die "id" des listenfeldes (html oben)
      und z.B. "$auswahlliste" (php unten) der name z.B. "listenfeld" (html oben)?

      Ich könnte also auch: "$auswahlliste= "Liste1:" $liste;" schreiben,
      damit das Ganze optisch zum Rest (Name: etc.) passt?

      Sorry, ich bin PHP-Einstiger. Man verzeihe mir bitte.

      Danke
      Hans

      <td>Auswahl:</td>
         <td><select name="listenfeld" id="listenfeld">
           <option value="wert1">Testwert1</option>
           <option value="wert2">Testwert2</option>
           <option value="wert3">Testwert3</option>
           </select></td>

      <?php
      $empfaenger = "email-adresse";
      $betreff = "betreff";
      $mailtext = "Name: $name

      *** »» $auswahlliste=$liste;

      Email: $email";
      if(empty($name) || empty($email))
      {
      header("Location: fehler.html");
      }
      else
      {
      mail("$empfaenger", "$betreff", "$mailtext", "From: $email");
      header("Location: danke.html");
      }
      ?>
      jetzt würde in $auswahlliste z. B. für Auswahl des Testwertes 1 "wert1" stehen

      gruß aus Senftenberg am See

      1. Hallo,

        Hi!

        Noch eine Frage:

        "$liste" (php unten) wäre also die "id" des listenfeldes (html oben)
        und z.B. "$auswahlliste" (php unten) der name z.B. "listenfeld" (html oben)?

        nicht ganz: $liste ist "name" des select-Feldes

        Ich könnte also auch: "$auswahlliste= "Liste1:" $liste;" schreiben,
        damit das Ganze optisch zum Rest (Name: etc.) passt?

        könntest du

        Sorry, ich bin PHP-Einstiger. Man verzeihe mir bitte.

        war ich auch mal

        gruß aus Senftenberg am See

  3. Hallo,

    Wenn ich es am Server ausprobiere, bekomme ich folgende Fehlermeldung : Parse error: parse error, unexpected T_IF in C:\Inetpub\test\absenden.php on line xxx

    die Kollegen haben es auch schon gesagt: Eine Fehlermeldung zu zitieren ist gut - ohne den dazu gehörenden(!) Code aber irgendwie nutzlos.

    <label></label>

    Das steht so nicht im Originalcode, oder?

    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>

    Und wozu sollen diese leeren Felder gut sein?

    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>

    Dito?

    $mailtext = "Name: $name
    Email: $email";

    Woher tauchen die Variablen $name und $email auf? Aus dem Nichts?
    Ich rate dir dringend, dich mal mit register_globals zu beschäftigen und deinen Provider zu bitten, dieses zweifelhafte Feature abzustellen.
    Erst recht, wenn du selbst sagst, dass du noch PHP-Neuling bist, solltest du dir solche Unarten gar nicht erst angewöhnen!

    mail("$empfaenger", "$betreff", "$mailtext", "From: $email");

    Diese Zeile enthält gleich dreimal denselben "Fehler". Wozu baust du Variableninhalte, die selbst schon Strings sind, nochmal in je einen String ein? Damit der Parser ein bisschen mehr Arbeit hat?

    header("Location: danke.html");

    Und das ist ein echter Fehler. Der Location-Header muss eine vollständige _absolute_ URL enthalten. Die meisten Browser lösen zwar auch relative Angaben auf; es entspricht aber nicht der Spezifikation und das Ergebnis ist fraglich.

    So long,
     Martin

    --
    Zwischen Leber und Milz
    passt immer noch'n Pils.