
[PHP] Variablewert Speicherung Problem (leicht)
-
-
Mit der einen Zeile Quellcode kann man dir nicht helfen. Zeige uns dein Formular und das Script, mit dem du die Formulardaten verarbeitest. Schreibe an den Anfang deines Scriptes die Zeilen
Wenn ich raten sollte, ist das ein register_globals-Problem. -
Hallo,
Hab das Problem gerade selbst gefunden
Ich muss natürlich die Variablenwerte erst zuweisen bevor ich sie speicher, dass ist mir aber jetzt peinlich -
Ein Verbesserungvorschlag:
PHP
Alles anzeigen<?php error_reporting(E_ALL); ini_set("display_errors", true); $errors = array(); $output = ""; if (isset($_POST['mailadresse'])) { if (empty($_POST['mailadresse'])) $errors[] = "E-Mailadresse"; if (empty($_POST['anrede'])) $errors[] = "Anrede"; if (empty($_POST['vorname'])) $errors[] = "Vorname"; if (empty($_POST['nachname'])) $errors[] = "nachname"; if (empty($_POST['recht'])) $errors[] = "Bestätigung"; if (count($errors)) { $output = implode(" und ", $errors); } else { $inhalt = $_POST['mailadresse'] . "|" . $_POST['anrede'] . "|" . $_POST['vorname'] . "|" . $_POST['nachname'] . "|" . time(); $handle = fopen ("nl-anwaerter.txt", "w"); fwrite($handle, $inhalt); fclose($handle); $output = $inhalt . " gespeichert"; } } echo $output . '<br> <form name="newsletter" method="post" action="newsletter.php"> <p> <font face="Arial"><span style="font-size:11pt;">Ihre E-Mailadresse: <br> <input type="text" name="mailadresse"> <br> Anrede (optional): <br> Mann <input type="radio" name="anrede" value="Herr"> Frau <input type="radio" name="anrede" value="Frau"> <br> Vorname: <br> <input type="text" name="vorname"> <br> Nachname: <br> <input type="text" name="nachname"> <br> <input type="checkbox" name="recht">Ich willige den Newslettererhalt ein und die Speicherung meiner Daten. <br> <input type="submit" name="varcheck" value="Eintragen"> </span> </font> </p> </form>'; ?>
-
Hallo,
danke für deinen Verbesserungsvorschlag.
Ich arbeite momentan an einem Tutorial und da wurde mir die Aufgabe gestellt :).Zwar weiß ich schon ein wenig mit den Arrys umzugehen, aber das kommt erst in der nächsten Tutorialphase dran. Ist natürlich so sehr gut, um auszugeben welche Einstellungen fehlen
Isset prüft ja ob eine Variable existiert und empty ob eine Varibale einen Wert hat. Ist das nicht das Gleiche
?
-
Isset prüft ja ob eine Variable existiert
Richtig!empty ob eine Varibale einen Wert hat
Falsch! empty prüft,ob eine Variable existiert und ob ein Wert vorhanden ist.Das steht sogar in der Doku, man muss nur mal nachsehen. Beispiel:
PHP
Alles anzeigen<?php $var = ""; if (isset($var)) echo "var existiert<br>"; else echo "var existiert nicht<br>"; if (empty($var)) echo "var ist leer oder existiert nicht<br>"; else echo "var existiert nicht"; $var1 = "Hallo"; if (isset($var1)) echo "var1 existiert<br>"; else echo "var1 existiert nicht<br>"; if (empty($var1)) echo "var1 ist leer oder existiert nicht<br>"; else echo "var1 existiert<br>"; if (isset($var2)) echo "var2 existiert<br>"; else echo "var2 existiert nicht<br>"; if (empty($var2)) echo "var2 ist leer oder existiert nicht"; else echo "var2 existiert"; ?>
-
Hallo,
nachgeguckt hatte ich aber nur bei der Deutschen:ZitatPrüft, ob eine Variable einen Wert enthält
Stand da...
Aber eigentlich kann eine Variable ja keinen Wert haben, wenn sie nicht
existiert oder seh ich das falsch.
Naja danke für die Aufklärung -
Aber eigentlich kann eine Variable ja keinen Wert haben, wenn sie nichtexistiert
Richtig, aber mit empty prüfst du halt auch noch, ob es einen Wert gibt.