Senden a href



  • Hallo,

    ich hab da ein Formular in der Datei dat1.php .Wenn ich den senden button clicke dann wird das Formular dat2.php aufgerufen. Nun möchte ich beim senden noch den Inhalt einer Textbox des Formular mitgeben. Wie mach ich das. Ich darf leider kein javascript verwenden.



  • wenn die textbox im formular ist, wird der text mitgesendet.

    <form>
      <input type="text" name="firstname"><br>
      ...
      ...
    </form>
    


  • Und wie kann ich darauf dann zugreifen ? Mein sende button ist in dat2.php und ich möchte auf den text in dat1.php zugreifen





  • indem ich bei method dat1.php eintrage. Wenn nicht nichts drinsteht also "" dann wird ja dieselbe Datei wieder aufgerufen . Soweit ich weiss.



  • Peter_Mueller schrieb:

    indem ich bei method dat1.php eintrage. Wenn nicht nichts drinsteht also "" dann wird ja dieselbe Datei wieder aufgerufen . Soweit ich weiss.

    du must action=dat2.php eintragen

    <form action="dat2.php" method="post">
    


  • ah ok . Und dann werden automatisch alle Felder mitübertragen.
    z.b.

    <input type="text" id="vname" name="vname">
    

    Dann greif ich z.B. per

    $_POST["vname"]
    

    in der anderen Datei auf den Inhalt der Textbox zu ?? Benutze ich die id oder den name zum Zugriff ?



  • das ist eine möglichkeit.
    vorher prüfen mit isset, sonst gibt es ne hässliche fehlermeldung.



  • aber $_POST benutzt die id und nicht den name ?



  • Wie muss man sich das eigentlich vorstellen. Speichert der Interpreter die Variablen irgendwo und dann kann man sie per $_POST abrufen ?



  • Peter_Mueller schrieb:

    Wie muss man sich das eigentlich vorstellen. Speichert der Interpreter die Variablen irgendwo und dann kann man sie per $_POST abrufen ?

    ich denke mal der webserver leitet das komplette http an php weiter und das macht aus den argumenten ein assoziatives array.



  • an der PHP Interpreter oder. Und der legt dann ein globales array an. Das steht dann überall im Programm zur Verfügung. Ich wüsste persönlich gar nicht wie ich selbst so eine super globale Variable anlegen könnte.



  • Was meinst du mit "super global"? Dass sie in jedem PHP Skript automatisch zu Verfügung steht? Ja, klar, sowas kannst du selbst nicht machen. Also nicht in PHP, da es bei PHP soweit ich weiss keinen Mechanismus gibt über den man eigenen Code automatisch vor der Ausführung der jeweiligen PHP Seite ausführen lassen kann. In anderen Sprachen gibt es solche Mechanismen z.T.

    Du kannst aber auch in PHP jederzeit ein eigenes include-File machen, und das in jedem deiner Skripte am Anfang inkludieren. Dann hast du auch aus allen Files Zugriff auf die (globalen) Variablen die in dem include-File definiert werden.



  • Peter_Mueller schrieb:

    an der PHP Interpreter oder. Und der legt dann ein globales array an. Das steht dann überall im Programm zur Verfügung. Ich wüsste persönlich gar nicht wie ich selbst so eine super globale Variable anlegen könnte.

    php hat sessions

    $_SESSION['name'] = "inhalt";
    

    die frei definierbare sessionvariable "name" ist über mehrere seitenaufrufe erreichbar


  • Mod

    Am besten ist natürlich nicht alles so unsicher und fehleranfällig selber zu machen sondern ein komplettes Framework zu verwenden dass gleich automatisch alles absichert.

    So ist zB ein Formular schon mal standardmäßig für CSRF anfällig. Direkter Zugriff auf $_POST kann sehr schnell HTML/JavaScript Injection anfällig sein und Sessions laufen immer gefahr für Session Riding oder Session Hijacking anfällig zu sein.



  • <form action="dat2.php" >
    				<p>Eintrag bearbeiten:<br><br>
    				<input name="user" type="text" id="inputtxt" size="30" maxlength="30" value="'. $_GET["text"] .'"></p>
    				<p><a href="liste.php?idedit='.$_GET["edit"].'"><input type="button" value="senden" /></a></p>						
    			</form>
    

    wenn ich nun den a href button klicke dann wird nur idedit im dat2.php übergeben aber nicht die input textbox mit der id = inputtxt



  • ich weiss jetzt wie es geht. Aber ich habs jetzt ohne a href gemacht. Weiss jemand wie das mit nem a href button ginge ? mit nem normalen input submit button hab ichs hinbekommen.


  • Mod

    Es gibt keinen href Button.

    PS:
    Wenn du per Link verschicken willst, musst du es per JavaScript machen und form.submit() aufrufen oder direkt per AJAX die Form submitten. Ich würde dir aber davon abraten. Bleib bei einem normalen Submit Button.



  • Shade Of Mine schrieb:

    Bleib bei einem normalen Submit Button.

    mit irgendwelchen css-tricks kann man den bestimmt wie einen link aussehen lassen



  • swapper schrieb:

    Shade Of Mine schrieb:

    Bleib bei einem normalen Submit Button.

    mit irgendwelchen css-tricks kann man den bestimmt wie einen link aussehen lassen

    -moz-appearance: button;
    -webkit-appearance: button;
    

    http://www.w3schools.com/cssref/css3_pr_appearance.asp


Log in to reply