PHP-Schüler findert Fehler nicht

A

Anaki

Aktives Mitglied
Thread Starter
Dabei seit
24.04.2006
Beiträge
2.118
Reaktionspunkte
11
Ich weiß nicht woran es liegt aber wenn ich ein Formulare auswerten will zeigt er mir nur den Inhalt eines versteckten Feldes an und bei Allen Anderen steht gar nichts bei.
Bestimmt ein Anfängerfehler(?) ich finde ihn nicht und überlese ihn wohl andauernd. :(

index.html
HTML:
<html>
<head></head>
<body>
<p>Über dieses Formular können sie uns Anregungen schicken:</p>
<form name="Kontaktformular" action="check.php" method="post">
<input type="hidden" name="kontakt" value="Internet-Kontaktformular">
<b>Name</b><br>
<input type="text" name="nachname"><br><br>
<b>E-Mail</b><br>
<input type="text" name="mail"><br><br>
Ihre Nachricht:<br>
<textarea name="Kommentar" cols="40" rows="5"></textarea><br><br>
Infos?<br>
<input type="radio" name="Info" value="InfoJA" checked>Jup
<input type="radio" name="Info" value="InfoNEIN">Nö<br><br><br>
Welches OS?<br>
<input type="checkbox" name="windows">Win<br>
<input type="checkbox" name="linux">Linux<br>
<input type="checkbox" name="mac">Mac OS X<br><br>
<input type="submit" value="Go!"><input type="reset" value="Reset">
</form>
</body>
</html>

check.php
PHP:
<html>
<head></head>
<body>
<?php
$kontakt=$HTTP_POST_VARS['kontakt'];
$name=$HTTP_POST_VARS['name'];
$mail=$HTTP_POST_VARS['mail'];
$kommentare=$HTTP_POST_VARS['Kommentare'];
$info=$HTTP_POST_VARS['info'];
$windows=$HTTP_POST_VARS['windows'];
$linux=$HTTP_POST_VARS['linux'];
$mac=$HTTP_POST_VARS['mac'];

print("Formular-Auswertung:<br><br>");
print("Formular: ".$kontakt);
print("<br>Name: ".$name);
print("<br>E-Mail: ".$kommentare);
print("<br>Info: ".$info);
print("<br>Windows: ".$windows);
print("<br>Linux: ".$linux);
print("<br>Mac OS X: ".$mac);
?>
</body>
</html>
 
hat sich erledigt - ich bin einfach nur der vertippbaron! :rolleyes:
 
Wenn wir schon dabei sind, Schüler ;)

Ersete $HTTP_POST_VARS durch $_POST. $HTTP_POST_VARS ist inzwischen veraltet.

Und dein PHP-Stil ist furchtbar ;) Wenigstens ein Leerzeichen vor und nach dem = ;)
 
Hi,

außerdem solltest du vorher mit isset() prüfen ob die entsprechenden Variablen überhaupt gesetzt sind...

cu
 
äh äh das steht so in dem buch, was ist isset soweit bin ich noch nicht mal xD
erklärs mir besser gar nicht :D
 
naja isset ...? is set? eine abfrage :)
 
die ich noch nicht kenne - aber ich lerne ja fleißig :D
 
ich halte mich lieber erst mal an mein buch ;)
das verstehe ICH sogar auch wenn man php grausam ist es funktioniert bisher auf jeden fall. :D
 
So ist es etwas eleganter ;)

PHP:
if (isset($_POST['kontakt'])) $kontakt = $_POST['kontakt']; else $kontakt = "Nichts eingegeben";

2nd
 
2ndreality schrieb:
So ist es etwas eleganter ;)

PHP:
if (isset($_POST['kontakt'])) $kontakt = $_POST['kontakt']; else $kontakt = "Nichts eingegeben";

2nd
so ist es sogar noch eleganter:
Code:
$name = (isset($_POST['name'])) ?  $_POST['name'] : 'nichts eingegeben';
 
Zurück
Oben Unten