Variablen Übergabe klappt nicht

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

  • Variablen Übergabe klappt nicht

    Hallo,

    Mein Problem:
    Sobald man auf die seite "form1.php" umgeleitet wird, wird die Variable
    $vorname nicht übernommen?? Wie kann ich in "form1.php" wieder auf Sie zugreifen?? Habe Sie doch am Seitenanfang aufgerufen??


    ---1. Seite: form.php-----

    PHP-Code:
    <?php

    if (false==isset($_POST["vorname"]))
    {echo
    "
    Bitte Namen eingeben:
    <form action='form.php' method='Post'>
    <input type='text' name='vorname'><br>
    <input type='hidden' name='hid' value='1'>
    <input type='submit' value='Abschicken'>
    <input type='reset' value='Reset'>
    </form>
    "
    ;}

    else
    {
    $vorname=$_POST["vorname"];
    if (
    true==empty($vorname))

    {echo
    " <h1>Sie haben keinen Namen eingegeben </H1>";}

    else

    {echo 
    " <h1> Hallo $vorname </h1><br>

    Was möchten Sie tun:

    <form action='form1.php' method='Post'>
    <input type='radio' name='wastun' value='1'>Jemanden Suchen<br>
    <input type='radio' name='wastun' value='2'>Profil anlegen<br>
    <input type='submit' value='Abschicken'>
    <input type='reset' value='Reset'>
    </form>

    "
    ;}}

    ?>
    ---2. Seite: form1.php-----

    PHP-Code:
    <?php
    $vorname
    =$_POST["vorname"];
    $wastun=$_POST["wastun"];
    if (
    $_POST["wastun"]==1)
    {echo
    $vorname
    Wen wollen Sie suchen:
    <form action='form.php' method='Post'>
    <input type='radio' name='wensuchen' value='1'>mann</br>
    <input type='radio' name='wensuchen' value='2'>frau</>
    <input type='submit' value='Abschicken'>
    <input type='reset' value='Reset'>
    </form>
    "
    ;}

    else
    {echo
    $vorname, <h1>Sie wollen ein Profil anlegen </H1>";}

    ?>

  • #2
    Mit hidden-Input oder Session.

    Kommentar


    • #3
      Danke, kannst Du mir auch sagen wie ich hidden-input anwende (im form1.php ??)
      ich verstehe nicht wie ich die variable (sie hat ja den namen als wert bekommen) wieder ausgeben kann auf der nächsten seite??
      Sitze schon seit Tagen an diesem Problem.

      Kommentar


      • #4
        das hidden-feld musst du natürlich in dein zweites formular einbauen.
        den value dann mit $vorname belegen.

        auf der zweiten seite kannst du dann mit $_POST['hid'] wieder darauf zugreifen. anstelle von 'hid' kannst du allerdings auch wieder 'vorname' benutzen.

        Kommentar


        • #5
          hey,Danke, habe es jetzt so gemacht... aber es funkt noch nicht ganz?

          hier mein geänderter code:



          form.php:

          PHP-Code:
          <?php

          if (false==isset($_POST["vorname"]))
          {echo
          "
          Bitte Namen eingeben:
          <form action='form.php' method='Post'>
          <input type='hidden' name='hid' value='1'>
          <input type='submit' value='Abschicken'>
          <input type='reset' value='Reset'>
          </form>
          "
          ;}

          else
          {
          $vorname=$_POST["vorname"];
          if (
          true==empty($vorname))

          {echo
          " <h1>Sie haben keinen Namen eingegeben </H1>";}

          else

          {echo 
          " <h1> Hallo $vorname </h1><br>

          Was möchten Sie tun:

          <form action='form1.php' method='Post'>
          <input type='hidden' name='hid' value='
          $vorname'>
          <input type='radio' name='wastun' value='1'>Jemanden Suchen<br>
          <input type='radio' name='wastun' value='2'>Profil anlegen<br>
          <input type='submit' value='Abschicken'>
          <input type='reset' value='Reset'>
          </form>

          "
          ;}}

          ?>
          form1.php

          PHP-Code:
          <?php
          $_POST
          ["vorname"];
          $wastun=$_POST["wastun"];
          if (
          $_POST["wastun"]==1)
          {echo
          $vorname
          Wen wollen Sie suchen:
          <form action='form.php' method='Post'>
          <input type='radio' name='wensuchen' value='1'>mann</br>
          <input type='radio' name='wensuchen' value='2'>frau</>
          <input type='submit' value='Abschicken'>
          <input type='reset' value='Reset'>
          </form>
          "
          ;}

          else
          {echo
          $vorname, <h1>Sie wollen ein Profil anlegen </H1>";}

          ?>


          Was ist denn noch falsch???

          Kommentar


          • #6
            Original geschrieben von kreuzzug
            Was ist denn noch falsch???
            hallo, alles lesen!
            auf der zweiten seite kannst du dann mit $_POST['hid'] wieder darauf zugreifen

            Kommentar


            • #7
              habe doch in der
              2.Zeile der 2.Seite

              $_POST["vorname"];

              geschrieben, oder wo meinst Du? >Habe anstatt 'vorname' auch 'hid' genommen, klappt ebenfalls nicht.

              Kommentar


              • #8
                Original geschrieben von kreuzzug
                habe doch in der
                2.Zeile der 2.Seite

                $_POST["vorname"];

                geschrieben,
                und welchen effekt soll das haben?

                $vorname = $_POST['vorname'];

                Kommentar


                • #9
                  mit

                  $vorname = $_POST['vorname'];

                  funkt. es aber auch nicht?!

                  Kommentar


                  • #10
                    wo gibst du jetzt den vornamen ein? aus dem ersten formular ist das feld verschwunden!

                    als nächstes schreibst du an den anfang deiner scripte: error_reporting(E_ALL); und beseitigst alle fehler oder postest die entsprechende fehlermeldung.

                    danach überprüfst du, was per post gesendet wurde: echo '<pre>'.print_r($_POST, true).'</pre>';

                    Kommentar


                    • #11
                      ja danke, aber ich verstehe nicht was falsch läuft.
                      (Textfeld habe ich aus versehen nicht mit kopiert...)

                      Ich möchte nur wissen was genau ich wo zu ändern habe, dann verstehe ich es schon.habe mir vorhin extra ein buch gekauft, da steht es auch nicht genau erklärt...

                      form1.php
                      PHP-Code:
                      <?php

                      if (false==isset($_POST["vorname"]))
                      {echo
                      "
                      Bitte Namen eingeben:
                      <form action='form.php' method='Post'>
                      <input type='text' name='vorname'><br>
                      <input type='submit' value='Abschicken'>
                      <input type='reset' value='Reset'>
                      </form>
                      "
                      ;}

                      else
                      {
                      $vorname=$_POST["vorname"];
                      if (
                      true==empty($vorname))

                      {echo
                      " <h1>Sie haben keinen Namen eingegeben </H1>";}

                      else

                      {echo 
                      " <h1> Hallo $vorname </h1><br>

                      Was möchten Sie tun:

                      <form action='form1.php' method='Post'>
                      <input type='hidden' name='hid' value='
                      $vorname'>
                      <input type='radio' name='wastun' value='1'>Jemanden Suchen<br>
                      <input type='radio' name='wastun' value='2'>Profil anlegen<br>
                      <input type='submit' value='Abschicken'>
                      <input type='reset' value='Reset'>
                      </form>

                      "
                      ;}}

                      ?>

                      form2.php
                      PHP-Code:
                      <?php
                      $vorname
                      =$_POST['vorname'];
                      $wastun=$_POST["wastun"];
                      if (
                      $_POST["wastun"]==1)
                      {echo
                      $vorname, <br>
                      Wen wollen Sie suchen:
                      <form action='form.php' method='Post'>
                      <input type='radio' name='wensuchen' value='1'>mann</br>
                      <input type='radio' name='wensuchen' value='2'>frau</>
                      <input type='submit' value='Abschicken'>
                      <input type='reset' value='Reset'>
                      </form>
                      "
                      ;}

                      else
                      {echo
                      $vorname, <h1>Sie wollen ein Profil anlegen </H1>";}

                      ?>

                      Kommentar


                      • #12
                        <input type='hidden' name='hid' value='$vorname'>
                        ...
                        $vorname=$_POST["vorname"];

                        schaltest du jetzt endlich error_reporting(E_ALL); ein

                        Kommentar


                        • #13
                          Hey, alles klar.... ES GEHT!
                          Habe an den Anfang von form1.php einfach

                          $vorname=$_POST['hid']; geschrieben.

                          Danke für deine Hilfe und Geduld,

                          p.s: Habe im Skript deine Befehle eingegeben, aber beim ausführen kam kein fehler-oder post bericht?

                          Kommentar


                          • #14
                            offtopic
                            danke nochmal...hast mir echt geholfen...muss bis montag eine seite mit datenbankanbindung fertig haben.

                            Kommentar


                            • #15
                              Original geschrieben von kreuzzug
                              offtopic
                              danke nochmal...hast mir echt geholfen...muss bis montag eine seite mit datenbankanbindung fertig haben.
                              OffTopic:
                              Vlt solltest du dafür dich auch etwas intensiver mit PHP und MySql beschäftigen... statt wegen einem Problem noch einen 2. Thread zu eröffnen... auf http://php-resource.de/forum/showthr...threadid=88711 guck

                              Kommentar

                              Lädt...
                              X