Radio-Buttons/Auswahlmenü/Checkboxen abfragen
Carl
- php
0 Sönke Tesch0 Carl
Hi
mich würde es mal interessieren, wie ich die Variable von den oben beschriebenen Form-Objekten abfragen kann.
Bisher hab ichs so gemacht: (bei diesem Beispiel bei einem Auswahlmenü)
<?php
if (isset($irc)
XOR isset($ingame)
XOR isset($mail)
XOR isset($spio)
XOR isset($andere_art))
Hat aber nicht funktioniert. Ich habs auch schon auf paar andere Arten versucht, aber es ging bisher alles nicht.
Gruss
Carl
mich würde es mal interessieren, wie ich die Variable von den oben beschriebenen Form-Objekten abfragen kann.
Schau Dir mal die Ausgabe von phpinfo(INFO_VARIABLES) an. Dort sind alle externen Daten aufgelistet; deren Nutzung sollte kein Problem mehr sein, wenn man weiß, wie sie aussehen :)
Gruß,
soenk.e
Hi
ok ich glaub ich hab mein Problem gefunden. ich hatte nen denkfehler drin.
Es handelt sich in dem von mir beschriebenen Beispiel um eine einzige auswahlliste.
er zeigt mir das hier als variable an:
_POST["log_art"] mail
hier noch mein Formular, falls es hilft:
<br><SELECT name="log_art" class="areas">
<OPTION value="irc">IRC-Log
<OPTION value="ingame">InGame-Message
<OPTION value="mail">E-Mail
<OPTION value="spio">Spionagebericht
Wie muss ich denn jetzt die abfrage richtig machen, damit die variable in die datenbank übertragen werden kann. oder muss ich das gar nicht und ich hab schon die Variable? Und falls ja, was muss ich dann beim INSERT als variable eingeben?
Gruss
Carl
_POST["log_art"] mail
<br><SELECT name="log_art" class="areas">
<OPTION value="irc">IRC-Log
<OPTION value="ingame">InGame-Message
<OPTION value="mail">E-Mail
<OPTION value="spio">SpionageberichtWie muss ich denn jetzt die abfrage richtig machen, damit die variable in die datenbank übertragen werden kann.
Du hast Variable und Inhalt oben bereits zitiert, d.h. in $_POST[<Elementname>] (hier: $_POST["log_art"]) befindet sich der Wert (value-Attribut) des gewählten <option>-Elements.
Mit $_POST[] verfährst Du wie mit allen anderen Feld-Variablen, zum Beispiel für ein Formularfeld
<input type="text" name="nachname" />
schreibst Du bei MySQL-Nutzung
mysql_query("insert into tabelle set name=".mysql_escape_string($_POST["nachname"]));
Bei Feldern wie <select> oder <input type="radio">, die nur vorgegebene Werte zulassen, kannst Du auf mysql_escape_string() verzichten; es ist allerdings nicht verkehrt, den entsprechenden Wert in $_POST[] mit einer Liste erlaubter Werte abzugleichen:
$erlaubt=Array("gelb","rot","blau");
...
if (! in_array($_POST["farbe"],$erlaubt))
die("Ungültiger Farbwert");
Wenn Du dann noch prüfst, ob in $_SERVER["HTTP_REFERER"] tatsächlich die Adresse der Formularseite steht und nix anderes, bist Du für alle Eventualitäten gerüstet und keiner kann Dir etwas unterjubeln.
Gruß,
soenk.e