Checkbox beim Formular geht nicht

tadlos

Mitglied
Hallo,
ich bin gerade dabei mir ein paar Kenntnisse von PHP zu erlernen.
Leider scheitere ich schon bei den ersten Schritten.
Und zwar habe ich ein Formular erstellt (http://www.tadlos-im.net/formular/formulartest1.php)
und will das die Angaben in den Felder beim Klick auf "Abschicken!" auf der nächsten Seite wiedergegeben werden.
Nur leider übernimmt er die Angabe bei "Geschlecht" nicht.
Kann mir einer sagen woran das liegt?

Mfg tadlos
 
Hier fehlt das echo
PHP:
<?php $HTTP_POST_VARS[form_geschlecht]; ?>
Ausserdem solltest Du auch bei den letzten Ausgaben die "" oder '' nutzen um die Strings als solche zu kennzeichnis.
Und Du solltest besser $_POST anstelle von $HTTP_POST_VARS nutzen.
 
Hey cool danke.
Was ist den der Unterschied zwischen $_POST und $HTTP_POST_VARS?
Nur das dass kürzer ist oder ist da noch ein Unterschied?
 
$HTTP_POST_VARS ist veraltet.
Es wird nur noch aus Gruenden der Abwaertskompatibilitaet mitgeschleppt, kann aber in der php.ini deaktiviert werden.
Ausserdem wird es wohl, ueber kurz oder lang, aus PHP verschwinden.

Mit $_POST bist Du auf der sicheren Seite.

Das gleiche gilt natuerlich auch fuer $_GET, $_COOKIE, $_SERVER und $_SESSION.
Kann sein, dass ich da noch was vergessen hab, aber das sind auf jeden Fall die wichtigsten.
 
Naja, ich mag $_REQUEST nicht.
Ich nutze es nur in einem einzigen Script da dort eine Variable entweder per POST oder GET uebergeben werden kann.
Ansonsten gibt's Variablen ueber POST oder GET, und werden dann auch aus dem entsprechenden Array geholt.

Ausserdem duerfte es kompliziert werden wenn 2 Variablen gleichen Namens per POST und GET uebertragen werden.
Was steht dann in $_REQUEST?
Ich weiss, sowas kommt in der Regel nicht vor und wird auch beim programmieren vermieden, aber es ist theoretisch moeglich.

Beispiel: test.php
PHP:
<?php
if (isset($_POST['go']))
 {
  echo $_POST['test'].'<br>';
  echo $_GET['test'].'<br>';
  echo $_REQUEST['test'].'<br>';
 }
?>
<form method="post" action="test.php?test=get">
<input type="hidden" name="test" value="post">
<input type="submit" name="go" value="Go!">
</form>
 
Zuletzt bearbeitet:
Nichts zu danken.
Weiterhin viel Erfolg.

Wenn alle Fragen geklaert sind denk bitte daran den Thread als erledigt zu markieren, falls nicht schon geschehen.
Dies kannst Du ueber den Button mit der Aufschrift "Status: nicht erledigt" machen. Der Button befindet sich unten rechts.
 
reptiler hat gesagt.:
Ausserdem duerfte es kompliziert werden wenn 2 Variablen gleichen Namens per POST und GET uebertragen werden.
Was steht dann in $_REQUEST?

Natürlich POST, was denkst du ^^

Ich benutze $_REQUEST ja auch nur, weil ich weiß, dass in meinen Scripten nicht beides übertragen wird. Jedoch wenn es auf beide Weise (per POST und GET) übertragen werden kann, dann müßte ich es erst überprüfen, ob die Daten jetzt in POST oder GET drin stehen. So weiß ich wenigstens, dass sie auf jeden Fall in $_REQUEST drinstehen.

Aber jeder programmiert, wie er es für richtig hält, solang es nicht falsch ist ^^
 
Anmerkung:
Man kann bestimmt erzwingen, dass wenn es $HTTP_*_VARS nicht mehr gibt, dass man sie noch benutzen kann.
Also sooo schlimm wär's auch nicht ;)

btw: $_REQUEST ist doch total unsicher ;)
 
Zurück