Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Crashkurs in HTML-Formulare mit PHP (https://www.delphipraxis.net/59700-crashkurs-html-formulare-mit-php.html)

3_of_8 27. Dez 2005 16:01


Crashkurs in HTML-Formulare mit PHP
 
Hallo!

Wie kann ich Formulare in HTML erstellen und wie Frage ich mit PHP die Ergebnisse ab?

alcaeus 27. Dez 2005 16:08

Re: Crashkurs in HTML-Formulare mit PHP
 
Moin,

HTML-seitig:
Code:
<form action="foo.php" method="POST">
<input type="text" name="bar" value="" />
<input type="submit" name="submit" value="Abschicken" />
</form>
Erklaerung: action gibt an, an welche Datei die Daten gesendet werden. Das muss also nicht dieselbe Datei sein, die das Fomular ausgibt. method kann post, get oder email sein, generell gilt: wenn vertrauliche Daten (passwort) oder Daten mit mehr als 256 Bytes Laenge geschickt werden, dann sollte man post verwenden.
Das erste Input-Field ist ein Textfeld mit dem Namen "bar", diesen braucht man spaeter.
Das zweite Input-Field ist ein Button, mit dem das Formular abgeschickt wird. Der Name ist hier vielleicht weniger relevant, wichtig ist der type: submit.

PHP-seitig:
Code:
if (isset($_POST['submit']))
{
  //Formular wurde abgesendet
  $bar = (isset($_POST['bar'])) ? htmlspecialchars(trim($_POST['bar'])) : '';
}
Hier sollte es selbsterklaerend sein. Wenn du bei method GET verwendest, musst du natuerlich $_GET verwenden. Wichtig ist, die Daten zu validieren, also wenn magic_quotes aus sind, dann noch addslashes() ausfuehren, und wie ich das Ergebnis trimmen und (evtl.) die HTML-Sonderzeichen rauswerfen (htmlspecialchars).

Eine genauere Erklaerung zu den Formularen findest du bei SelfHTML, bzw. auf diversen Internet-Seiten. Evtl. kannst du dir ja auch ein paar OpenSource-PHP-Applikationen durchsehn.

Greetz
alcaeus

3_of_8 27. Dez 2005 16:42

Re: Crashkurs in HTML-Formulare mit PHP
 
Und wie sieht es aus mit Checkboxen, Passworteditfeldern und Comboboxen???

Und wann genau brauche ich htmlspecialchars???

himitsu 27. Dez 2005 17:09

Re: Crashkurs in HTML-Formulare mit PHP
 
Da geht es genauso.

Code:
<input type="..." name="[color=#ff0000]Feldname[/color]" value="" />

$_POST['[color=#ff0000]Feldname[/color]']
Du bekommst immer den Wert (Value) zurück geliefert ... wobei das, was in Value von dir engetragen ist, der Standardwert ist, welcher ja vom User unter umständen geändert werden kann (indem er was im Formular einträgt/andert)
Bei Typ gibts du dann einfach nur noch die Art des Engabefeldes an ... also ChackBox, GroupBox, Editfeld ....


und dann noch was zum htmlspecialchars
http://www.selfphp.de/funktionsrefer...ecialchars.php

3_of_8 27. Dez 2005 17:29

Re: Crashkurs in HTML-Formulare mit PHP
 
Und wie genau lege ich beiner ComboBox dann die einzelnen Items fest? Und könnt ihr mir kurz eine Liste der gebräuchlichsten inputs schreiben? Wie kann ich einen Reset-Button machen?

idontwantaname 27. Dez 2005 17:39

Re: Crashkurs in HTML-Formulare mit PHP
 
schau mal zu SelfHTML

alcaeus 27. Dez 2005 18:06

Re: Crashkurs in HTML-Formulare mit PHP
 
Combobox:
Code:
<select name="foobar">
<option value="foo">Foo</option>
<option value="bar">Bar</option>
</select>
Der Wert des ausgewaehlten Elements steht dann in $_POST['foobar'].

Zu htmlspecialchars: das wird verwendet, wenn du vom User text verlangst. Wenn du das nicht verwendest, koennte der User HTML einschleusen. Das ist normalerweise unerwuenscht. Und ganz wichtig: Hochkommas escapen. Wie gesagt, erstmal addslashes(), und wenn du dann noch eine mySQL-Datenbank dahinterhaengen hast, entweder mysql_real_escape() ausfuehren, oder
Code:
str_replace("\'", "''", $yourvariable)
. Sonst hast du ein schoenes Problem mit SQL Injection ;)

Greetz
alcaeus

3_of_8 27. Dez 2005 18:09

Re: Crashkurs in HTML-Formulare mit PHP
 
Wieso ist da ein \ vor dem '? Das müsste man doch nur machen, wenn es '\'' wäre, oder? Ein ' in "'" wird doch nicht als Delimiter erkannt, oder?

alcaeus 27. Dez 2005 18:41

Re: Crashkurs in HTML-Formulare mit PHP
 
Weil addslashes() bzw. magic_quotes() den Backslash eingefuegt haben. Der Backslash ist ja auch nicht da, um das ' zu escapen ;)

Greetz
alcaeus

Airblader 27. Dez 2005 18:48

Re: Crashkurs in HTML-Formulare mit PHP
 
Ganz interessant ist übrigens die PHP-FAQ mit diesem Artikel:

11.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script?

air


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

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