Problem mit $_POST

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit $_POST

    HI Leute,
    ich hab ein problem mit der funktion $_post. Ich bekomme ein parsing error Fehlermeldung.

    --Das ist der code der form, dessen info gepostet weden soll---
    <form action="php_fight.php" name:"LANGUAGE" method:"POST">
    <select name="language">
    <option value="francais">Francais</option>
    <option value="deutsch">Deutsch</option>
    <option value="italiano">Italiano</option>
    <option value="english">English</option>
    <option value="espanol">Espanol</option>
    </select>
    <button type="submit">Zur passenden Website!!</button>
    </form>

    --- Das ist die aufgerufene php_fight.php, die probleme macht---
    <? php
    [COLOR=red]$language=$_POST['language'];[/COLOR]
    if ($language=="english")
    header("location:Intro_EN.htm");
    if ($language=="deutsch")
    header("location:Intro_DE.htm"); //usw...
    ?>

    Besten Dank
    TseTse

    P.S: Das php ist das PHP4U von Lycos Tripod
    Ich hab schon überall gesucht und auch gefunden, die Sache ist nur, dass ich deren anleitung befolge und es eben nicht klappt...
    Zuletzt geändert von tsetse; 27.03.2005, 00:05.

  • #2
    Re: Problem mit $_POST

    versuchs mal so:

    Code:
    <form action="php_fight.php" method="POST">
    <select name="language">
    <option value="francais">Francais</option>
    <option value="deutsch">Deutsch</option>
    <option value="italiano">Italiano</option>
    <option value="english">English</option>
    <option value="espanol">Espanol</option>
    </select>
    <button type="submit">Zur passenden Website!!</button>
    </form>
    Zuletzt geändert von nefos; 26.03.2005, 23:41.

    Kommentar


    • #3
      ne, das wars irgendwie noch nicht... es geht ja auch um das select feld und nicht um die form an sich.

      trotzdem vielen dank und frohe Ostern

      Kommentar


      • #4
        Code:
        <?php
         $language=$_POST['language'][b][COLOR=firebrick];[/b][/COLOR]
         if ($language=="english")
         header("location:Intro_EN.htm");
         if ($language=="deutsch")
         header("location:Intro_DE.htm"); //usw...
         ?>
        ";" nicht vergessen!
        Zuletzt geändert von nefos; 26.03.2005, 23:47.

        Kommentar


        • #5
          Sorry,
          aber auch das wars noch nicht. Der ; fehlt nur im forumpost(ich hab den code zusammengeschnitten und ihn dabei vergessen ). Ich habs inzwischen korrigiert.
          Vielen Dank für dein Hilfe!!

          Kommentar


          • #6
            Poste mal den Code 3 Zeilen vor der, die im Parsing Error angezeigt wird. Oder fängt deine Datei mit <?php $language = $_POST['language']; an?
            Und das im Parsing Error wird auch diese Datei angezeigt?

            Kommentar


            • #7
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

              <html>
              <body>
              steht vor dem <?php... - nicht gerade berauschend, oder???

              Hier die angezeigte Fehlermeldung:
              Parse error: parse error in /data/members/free/tripod/de/t/s/e/tsetse/htdocs/php_fight.php on line 6

              Ich hoffe das ist was du an info wolltest... Besten Dank für eure Hilfe leuts
              Zuletzt geändert von tsetse; 27.03.2005, 03:12.

              Kommentar


              • #8
                hi

                also ich hab das jetzt mal probiert.

                so:
                index.php:
                Code:
                <form action="php_fight.php" method="POST">
                <select name="language">
                <option value="francais">Francais</option>
                <option value="deutsch">Deutsch</option>
                <option value="italiano">Italiano</option>
                <option value="english">English</option>
                <option value="espanol">Espanol</option>
                </select>
                <button type="submit">Zur passenden Website!!</button>
                </form>
                php_fight.php:
                Code:
                <?php
                 $language=$_POST['language'];
                 if ($language=="english")
                 header("location:Intro_EN.htm");
                 if ($language=="deutsch")
                 header("location:Intro_DE.htm"); //usw...
                 ?>
                als test: Intro_DE.htm:
                Code:
                <b>blabla</b>
                und es funktioniert auch.
                schau ob du auf groß und kleinschreibung geachtet hast.

                hier kannst dus probieren: http://synex.org/test

                (achtung: hab derzeit nur deutsch als test gemacht... also zum probieren wähle deutsch als sprache aus!)

                mfg

                Kommentar


                • #9
                  PHP-Code:
                   $language=$_POST['language'];
                   if (
                  $language=="english"
                  wobei das ja eigentlich schon müll ist.

                  PHP-Code:
                  <? if ($_POST['language']=="english"){ ?>
                  hätte auch gereicht

                  Kommentar


                  • #10
                    und nen switch wäre noch besser.

                    Kommentar


                    • #11
                      @nefos: Danke! Ich habe deine Testseite probiert, klappt natürlich einwandfrei!! Ich hab den Code kopiert und... es tut immer noch nicht . Schön langsam bin ich ratlos!! Ich post euch jetzt nochmal den gesamten code der dateien so wie sie auf server sind - wenn ihr der Meinung seit das müsste funktionieren dann muss ich mich an den lokalen webmaster wenden.
                      @anderen: Leuts ich wär schon froh wenn überhaupt mal was funktionieren wurde - verbessern ist dann die zweite etappe. Danke für eure vorschläge

                      AH!!! Noch was: inzwischen bekomm ich keine parsing error mehr angezeigt wie das noch gestern der fall war (siehe anfang des beitrags). Die Seite wird ganz weiss, und im quellentext stehen immer noch die commandozeilen der index.htm.
                      Das ganze ist echt komisch!!!!

                      ---- index.htm, die ihre infos an php_fight.php schicken soll ----
                      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                      <html>
                      <head>
                      <title>Untitled</title>
                      </head>
                      <body>
                      <form action="php_fight.php" method="POST">
                      <select name="language">
                      <option value="francais">Francais</option>
                      <option value="deutsch">Deutsch</option>
                      <option value="italiano">Italiano</option>
                      <option value="english">English</option>
                      <option value="espanol">Espanol</option>
                      </select>
                      <button type="submit">Zur passenden Website!!</button>
                      </form>
                      </body>
                      </html>

                      ---- php_fight.php ----
                      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                      <html>
                      <head>
                      <title>Untitled</title>
                      </head>
                      <body>
                      <?php
                      $language=$_POST['language'];
                      if ($language=="english")
                      header ("location:Intro_EN.htm");
                      if ($language=="deutsch")
                      header ("location:Intro_DE.htm");
                      ?>
                      </body>
                      </html>
                      ------------------------------------------
                      Die Intro_DE.htm, Intro_EN.htm gibts, sie befinden sich im gleichen ordner wie index.htm und php_fight.php.
                      Zuletzt geändert von tsetse; 28.03.2005, 00:35.

                      Kommentar


                      • #12
                        es müsste mit dem code funktioniert.

                        mfg
                        Zuletzt geändert von nefos; 28.03.2005, 09:56.

                        Kommentar


                        • #13
                          Salut
                          PHP-Code:
                          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                          <html>
                          <head>
                          <title>Untitled</title>
                          </head>
                          <body>
                          <?php
                          $language
                          =$_POST['language'];
                          if (
                          $language=="english")
                          header ("location:Intro_EN.htm");
                          if (
                          $language=="deutsch")
                          header ("location:Intro_DE.htm"); 
                          ?>
                          </body>
                          </html>
                          Das dies niemals so funzen kann bist du dir aber bewusst. Schau mal die
                          Zeilen vor der PHP Ausgabe an --> du sendest bereits Daten an den
                          Browser (alle HTML Tags und Doctype).
                          Du kannst nie einen header absetzen wenn du davor bereits Daten an den Browser gesandt hast.
                          Entferne aus deiner fight.php alle html Tags und lass nur PHP drinne, dann
                          funzt es auch mit den Headern.
                          PHP-Code:
                          header ("location:Intro_EN.htm"); 
                          Schreib da mal noch so:
                          PHP-Code:
                          header("Location: Intro_EN.htm"); 
                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar

                          Lädt...
                          X