PHP Formular value
Christian_123
- php
Ist es möglich bei meinem Formular
<label for="seite">Seite:</label>
<input name="seite" id="seite" type="text" value="<?php echo htmlspecialchars($seite);?>">
den Wert value nur zu setzten wenn in $_GET['seite']
etwas drin steht? Möchte mein Formular für das Insert und Update verwenden. Oder ist es PHP egal?
Dachte auch schon an so eine Aktion
if(isset($_GET['seite'])) {?>
value="<?php echo htmlspecialchars($seite);?>"
<?php }?>
Hi,
wenn nix drinn steht, wird auch nix gezeigt !?
Viele Grüße aus LA
Hallo aus Deutschland,
wenn nix drinn steht, wird auch nix gezeigt !?
Das ist natürlich korrekt aber die Variable existiert demzufolge auch nicht. Also bekomme ich eine unschöne Meldung angezeigt wenn die Fehlermeldungen aktiviert sind.
Das ist natürlich korrekt aber die Variable existiert demzufolge auch nicht. Also bekomme ich eine unschöne Meldung angezeigt wenn die Fehlermeldungen aktiviert sind.
wenn du die form absendest mit
<input name="seite"
müsste doch $_GET['seite'] existieren, egal ob ausgefüllt oder nicht?
kann mich auch irren ;-)
Viele Grüße aus LA
müsste doch $_GET['seite'] existieren, egal ob ausgefüllt oder nicht?
Nein $_GET['seite'] ist nur da wenn das Formular zum Bearbeiten aufgerufen wird.
Wenn ein neuer Eintrag kommt ist $_GET['seite'] natürlich nicht da.
Nein $_GET['seite'] ist nur da wenn das Formular zum Bearbeiten aufgerufen wird.
Wenn ein neuer Eintrag kommt ist $_GET['seite'] natürlich nicht da.
ahh verstehe - die seite ruft sich selber auf. Beim ersten Mal gibts noch keine $_Get.
Dann fällt mir auch nur isset() ein.
Bin gespannt, was die erfahrenen Progger hierzu schreiben :-)
Viele Grüße aus LA
ahh verstehe - die seite ruft sich selber auf. Beim ersten Mal gibts noch keine $_Get.
Dann fällt mir auch nur isset() ein.
Könnte mir mein Leben auch einfach machen aber dann müsste der Grafiker zwei Seiten entwerfen und in html und css umsetzten. Ist alles unnötige Arbeit für diesen wo sich später in der Wartung schon zweimal nicht lohnt.
Deshalb möchte ich gerne alles in eine Datei packen.
Dadurch habe ich selber zwar mehr Arbeit aber das ist erstmal egal.
Hi nach Deutsche Land,
Hallo aus Deutschland,
:-)
Viele Grüße aus LA / Freistaat Bayern (Regierungssitz Niederbayern)
:-)
Viele Grüße aus LA / Freistaat Bayern (Regierungssitz Niederbayern)
Und ich dachte LA heißt bei dir Los Angeles :-)
Mahlzeit,
Und ich dachte LA heißt bei dir Los Angeles :-)
Das haben die Amis nur geklaut und feiern es als Innovation. Wie bei Apple :D
Tach!
Ist es möglich bei meinem Formular [...] den Wert value nur zu setzten wenn in
$_GET['seite']
etwas drin steht?
Dachte auch schon an so eine Aktion
if(isset($_GET['seite'])) {?>
value="<?php echo htmlspecialchars($seite);?>"
<?php }?>
Ja, aber das kann man einfacher notieren.
`<input name="seite" id="seite" type="text" value="<?php echo htmlspecialchars(isset($_GET['seite']) ? $_GET['seite'] : $seite); ?>">`{:.language-php}
$seite muss natürlich auch existieren, damit es keine Notice-Meldung gibt.
dedlfix.
Ja, aber das kann man einfacher notieren.
<input name="seite" id="seite" type="text" value="<?php echo htmlspecialchars(isset($_GET['seite']) ? $_GET['seite'] : $seite); ?>">
$seite muss natürlich auch existieren, damit es keine Notice-Meldung gibt.
Danke. Das heißt also ich lege wenn das Formular ohne GET aufgerufen wird eine leere Variable mit dem Namen $seite an?. Wenn die Seite mit GET aufgerufen wird, wird $seite mit einem Wert aus der Datenbank gefüllt. Verstehe ich das richtig?
Tach!
Das heißt also ich lege wenn das Formular ohne GET aufgerufen wird eine leere Variable mit dem Namen $seite an?
Ich nahm an, dass der Inhalt von $seite aus der Datenbank kommt. Wenn das nicht der Fall ist, kannst du stattdessen einen Leerstring nehmen. (Dann braucht sich das htmlspecialchars() auch nur um $_GET['seite'] zu kümmern.)
Wenn die Seite mit GET aufgerufen wird, wird $seite mit einem Wert aus der Datenbank gefüllt.
Oder auch nicht.
In $_GET sollten keine Formularwerte stehen, weil datenverändernde Requests mit POST und nicht mit GET ausgelöst werden sollen. Sonst kommt mal ein Link-Checker oder ein Suchmaschinen-Crawler vorbei und folgt allen GET-Links, auch denen die Daten löschen.
dedlfix.
Ich schreib mein Problem mal hier dazu hat zwar kein direkten Zusammenhang passt aber zum Thema. Komme irgendwie mit den ifs durcheinander oder ich bin auf einem falschen Weg?
<?php
if($header == "") {
if(isset($_GET['leistungID'])) {
?>
[......]
<?php } }?>
Damit wollte ich erreichen wenn $header leer ist, soll der ganze Bereich nicht angezeigt werden.
Es wird allerdings _immer_ der Bereich angezeigt auch wenn $header leer ist.
Wo liegt mein Fehler?
Hallo
<?php
if($header == "") {
// bla
}
>
> Damit wollte ich erreichen wenn $header leer ist, soll der ganze Bereich nicht angezeigt werden.
>
> Es wird allerdings \_immer\_ der Bereich angezeigt auch wenn $header leer ist.
>
> Wo liegt mein Fehler?
Deine Bedingung sagt, wenn `$header`{:.language-php} leer (bzw. ein Leerstring) ist, gehe in diesen Block hinein. Wenn du das nicht willst, verneine dies (!=). Abhängig vom Datentyp von `$header`{:.language-php} könnte es auch andere, bessere Bedingungen geben.
Tschö, Auge
--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
[Veranstaltungsdatenbank Vdb 0.3](http://termindbase.auge8472.de/)
Deine Bedingung sagt, wenn
$header
leer (bzw. ein Leerstring) ist, gehe in diesen Block hinein. Wenn du das nicht willst, verneine dies (!=). Abhängig vom Datentyp von$header
könnte es auch andere, bessere Bedingungen geben.
Danke. Hab es auf if(!$header == "")
geändert und es funktioniert.
Aloha ;)
Danke. Hab es auf
if(!$header == "")
geändert und es funktioniert.
Das ist jetzt aber wirklich von hinten durch die Brust ins Auge :D Aber okay, solange du glücklich bist ;)
(Es wäre doch soviel verständlicher mit "≠" a.k.a. "!=")
Grüße,
RIDER
Aloha ;)
Du kommst nicht zufällig von der Südsee? :D
Das ist jetzt aber wirklich von hinten durch die Brust ins Auge :D Aber okay, solange du glücklich bist ;)
(Es wäre doch soviel verständlicher mit "≠" a.k.a. "!=")
Immer nur von vorne einen Angriff zu starten ist doch langweilig oder? Aber danke für deine Aufklärung, jetzt habe ich es auch richtig verstanden.
Aloha ;)
Du kommst nicht zufällig von der Südsee? :D
Das hab ich neulich schonmal erklärt :D
Immer nur von vorne einen Angriff zu starten ist doch langweilig oder?
Stimmt ;)
Aber danke für deine Aufklärung, jetzt habe ich es auch richtig verstanden.
Keine Ursache. Dachte mir schon halb, dass noch nicht alles klar war^^
Grüße,
RIDER
Tach!
Hab es auf
if(!$header == "")
geändert und es funktioniert.
Das ist wirklich nicht günstig. Die Laufzeit wird im Rauschen untergehen, aber: $header ist ein String. Wenn du dem ein ! davorsetzt, wird der in den booleschen Kontext gebracht. Das ! negiert den Wert und dann vergleichst du das false oder true mit einen String. Dazu wird der String auch nochmal nach boolean konvertiert.
Du kannst gleich if ($header) verwenden, das kommt auf's selbe raus. '0' ist ebenso false, aber das ist auch bei deinem Konstrukt der Fall.
Außerdem:
$header = '0';
var_dump(!$header == ''); // false
var_dump($header != ''); // true
dedlfix.