Variablenübergabe

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

  • Variablenübergabe

    Hallo

    Ich habe in einen PHP-Code ein Formular eingebaut;
    In das Textfeld steht als value der Wert einer PHP-Variable - das funktioniert ohne Probleme;
    Dieser Wert soll über das Formular veränderbar sein und später in die Datenbank zurückgeschrieben werden.
    Was muss ich bei form action angeben um die Variable in meinem anschleißenden Code (gleiche Datei) weiterverwenden zu können.
    Bisher habe ich bei form action den namen der aktuellen Datei angegeben.

    Hier ist der Formularcode:

    echo" <FORM name=datum action=katalog_liste.php method=post>
    <Tr bgcolor=\"#decfb5\" class=\"blacknorm\" align=\"center\">
    <td>
    <INPUT type=text name=datum size=\"25\" maxlength=\"25\" class=\"Input\"value=\"$array_result1[artikel_erstell_datum]\"></TD>
    <td><INPUT type=submit name=submit value=ändern > </td>
    </TR>
    </FORM> ";


    Ich habe versucht die Variable mit $_POST['datum'] auszulesen aber das funktioniert nicht.
    Übergibt der submit-Button eigentlich auch einen Rückgabewert?

    Cu
    Michael
    knowledge is power - arm yourself

  • #2
    Der Formname und der Name des Inputfeldes sind gleich. Ändere mal einen von beiden und versuche es erneut.
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      @Günni
      der name ist eigenlich egal ...

      @mkoegler
      du muss ein hidden-field zu identifizierung des datensatzes verwenden.
      ausserdem habe ich deinen code mal leicht verändert...


      PHP-Code:
      echo "<FORM name=\"datum\" action=\"".$PHP_SELF."\" method=\"post\">";

      // hier ist das hidden-field drin.
      // die genauen inhalte musst du aber selber definieren.
      echo "<input type=\"hidden\" name=\"id_des_aktiekel\" value=\"".$id_nummer."\">";

      echo 
      "<tr bgcolor=\"#decfb5\" class=\"blacknorm\" align=\"center\">";
      echo 
      "<td>";
      echo 
      "<INPUT type=\"text\" name=\"datum\" size=\"25\" maxlength=\"25\" class=\"Input\" value=\"".$array_result1[artikel_erstell_datum]."\"></TD>";
      echo 
      "<td><INPUT type=\"submit\" name=\"submit\" value=\"ändern\"> </td>";
      echo 
      "</TR>";
      echo 
      "</FORM>"
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Hallo

        Vielen Dank zunächst mal für die Hilfe

        Ich habe jetzt bei dem hidden-Feld meine Artikel_id eingegeben.

        Wie muss ich jetzt ausserhalb des Formulars den Artikel ansprechen; über die ID oder kann ich einfach mit $_POST['datum'] auf den Artikel zugreifen?

        Cu

        Michael
        knowledge is power - arm yourself

        Kommentar


        • #5
          die id ist ja in der DB eindeutig. damit kannst du dann deine UPDATE oder DELETE kommandos in der DB steuern.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Alles klar

            Ich habe das jetzt so gemacht aber wenn ich mir nach dem Formular die Variablen anzeigen lassen will erscheint nichts.


            echo "<FORM name=\"datum\" action=\"".$PHP_SELF."\" method=\"post\">";

            // hier ist das hidden-field drin.
            // die genauen inhalte musst du aber selber definieren.
            echo "<input type=\"hidden\" name=\"artikel_id\" value=\"".$array_result2[artikel_id]."\">";

            echo "<tr bgcolor=\"#decfb5\" class=\"blacknorm\" align=\"center\">";
            echo "<td>";

            echo "<INPUT type=\"text\" name=\"datum\" size=\"25\" maxlength=\"25\" class=\"Input\" value=\"".$array_result1[artikel_erstell_datum]."\"></TD>";
            echo "<td><INPUT type=\"submit\" name=\"submit\" value=\"ändern\"> </td>";
            echo "</TR>";
            echo "</FORM>";

            echo $datum;
            echo $artikel_id;

            Cu Michael
            knowledge is power - arm yourself

            Kommentar


            • #7
              bitte benutzte die PHP-tags, damit der code auch leserlich bleibt !!!

              du musst das forumlar auch losschicken, damit du $datum und $aktikel_id siehst.


              PHP-Code:
              if (!isset($submit)) {

                echo 
              "<FORM name=\"datum\" action=\"".$PHP_SELF."\" method=\"post\">";
                
                
              // hier ist das hidden-field drin.
                // die genauen inhalte musst du aber selber definieren.
                
              echo "<input type=\"hidden\" name=\"artikel_id\" value=\"".$array_result2[artikel_id]."\">";
                
                echo 
              "<tr bgcolor=\"#decfb5\" class=\"blacknorm\" align=\"center\">";
                echo 
              "<td>";
                
                echo 
              "<INPUT type=\"text\" name=\"datum\" size=\"25\" maxlength=\"25\" class=\"Input\" value=\"".$array_result1[artikel_erstell_datum]."\"></TD>";
                echo 
              "<td><INPUT type=\"submit\" name=\"submit\" value=\"ändern\"> </td>";
                echo 
              "</TR>";
                echo 
              "</FORM>";

              }
              else {
                
                echo 
              $datum;
                echo 
              $artikel_id;


              das sind aber eigentlich alles grundlagen.....
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Original geschrieben von Abraxax
                das sind aber eigentlich alles grundlagen.....
                vielleicht sollten wir den satz langsam mal in unsere signaturen aufnehmen ;-)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Vielen Dank

                  Mein Problem ist, dass ich diese ganze Prozedur in einer Funktion ausführe;
                  Desswegen hat er bei mir auch keine Werte angezeigt;
                  ich habe jetzt dein Skript in eine Funktion gesteckt und ausgeführt;
                  Wenn ich auf submit drücke überschreibt er den geänderten Wert wieder mit dem ursprünglichen (value-Wert) und er zeigt keine Variable durch den echo-Befehl an;
                  Hast Du da vielleicht ne Erklärung?


                  Cu Michael
                  knowledge is power - arm yourself

                  Kommentar

                  Lädt...
                  X