Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP: Formulardaten mit Button auslesen? (https://www.delphipraxis.net/88468-php-formulardaten-mit-button-auslesen.html)

abc newbee 15. Mär 2007 19:32


PHP: Formulardaten mit Button auslesen?
 
Hi!

Ich möchte mit PHP Formulardaten auslesen, wenn der Button gedrückt wurde...

HTML-Code:

Code:
//...
Wie kann ich nun, erst wenn auf den "Anmelden"-Button geklickt wurde die Formulardaten auswerten und weitere Aktionen einleiten?

mkinzler 15. Mär 2007 19:38

Re: PHP: Formulardaten mit Button auslesen?
 
Ich verstehe nicht ganz. Erst bei Klick auf den Submit-Button wird ja das Folgeskript aufgerufen.

Neutral General 15. Mär 2007 19:39

Re: PHP: Formulardaten mit Button auslesen?
 
Hi,

Du musst allen Eingabefeldern mit dem Tag "namen" einen Namen geben und kommst dann nach einem Klick auf nen Button (type="submit") mit $_POST['NameDesEingabefeldes'] an die Werte...

Gruß
Neutral General

Matze 15. Mär 2007 19:46

Re: PHP: Formulardaten mit Button auslesen?
 
Hi,

ganz wichtig ich auch der <form></form> Container, ohne diesen geht es nicht. Nähere Infos gibt's bei SelfHTML.


Edit: Im Internet findest du hierzu auch zahlreiche Tutorials (Bei Google suchenhtml php formulare auswerten). Beispiel: hier.

sexmagic 15. Mär 2007 21:12

Re: PHP: Formulardaten mit Button auslesen?
 
Das Folgescript wird nur aufgerufen wenn eine andere PHP Datei im Form Tag eingetragen ist, gibst du zb $_SERVER['PHP_SELF'] als Ziel an wird die aktuelle Seite neu geladen.

Zu deiner Frage:
Als erstes erstellt du ein Formtag <form name="loginform" method="post" action="<? $_SERVER['PHP_SELF'] ?>"></form>

Unterhalb des Forms startest am besten gleich mit einer if Kontrollstruktur um zu checken ob der Button gedrückt wurde:
Delphi-Quellcode:
if($Submitbutton == 'absenden')
{
  //Hier kommt dann die Anweisung die ausgeführt werden soll wenn der Button gedrückt wurde (das Value des Buttons wäre bei diesem beispiel "absenden" und der Buttonname "Submitbutton"
}
Wenn der Button nun gedrückt wird musst du nur noch die variablen mit $_POST[] abfangen und ausgeben.
Jedes Element das du im Form erstellst erhält ja einen Namen, name="", den Dort eingetragenen namen musst du als Variable behandeln, das würde dann etwas so aussehen wenn du ein eingabefeld mit dem namen vorname erstellt hast (name="vorname")

echo $_POST['vorname'];

Hier wird der eingegebene Wert vom Textfeld "Vorname" ausgegeben.


Wenn du nun eine Passwortabfrage machen möchtest könnte das ganze so ausschauen:

Delphi-Quellcode:
<form name="form1" method="post" action="<? $_SERVER['PHP_SELF'] ?>">
  <input type="text" name="username" />
  <input type="text" name="passwort" />
  <input type="submit" name="submitbutton" value="login" />
</form>
<?
if($_POST['Submitbutton'] == 'login')
{
   if($_POST['username'] == 'hansi' && $_POST['passwort'] == 'pass')
   {
      echo "Sie sind nun angemeldet";
   }else{
      echo "Benutzername oder Passwort ist falsch";
   }
}
?>
Ich hoffe das hilft dir weiter!

;)

Matze 15. Mär 2007 21:19

Re: PHP: Formulardaten mit Button auslesen?
 
Hi,

es wurden doch genug Links und Vorgehensweisen beschrieben, die eine Lösung hier überflüssig machen, zumal der Lerneffekt so nicht der beste ist. :roll: Zumal ich deinen Code nicht gut finde. Folgendes Konstrukt habe ich noch nie gesehen und vermute, dass es nur mit eingeschaltetem register_globals läuft, kann mich aber auch irren. Doch anders kann ich mir nicht vorstellen, wieso $Submitbutton initialisiert werden sollte. Dass register_globals große Risiken mit sich bringt, muss ich wohl nicht erwähnen.

Code:
if($Submitbutton == 'absenden')
{

}
Ich würde das so lösen

Code:
if (isset($_POST['login']))
{

}
Und beim <form>-Control muss, sofern die selbe Seite aufgerufen werden sollte, nichts unter action angegeben werden:

Code:
<form method="post" action="">

sexmagic 16. Mär 2007 18:56

Re: PHP: Formulardaten mit Button auslesen?
 
Och tut mir leid aber ich habe das schnell hingetippert und auch nicht ausprobiert, hätte vielleicht ungetestet hinschreiben sollen.

Klar muss der Submitbutton auch mit $_POST geschnappt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz