online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon php-anfaenger vom 28.06.2020, 19:43 Options

Frage zu POST-Array

Hallo,

ich habe ein HTML-Formular in eine Seite eingebaut. Hierbei handelt es sich um eine php-Datei, da ich die Formularverarbeitung in der gleichen Datei machen möchte. Hintergrund ist, dass ich bei einer Fehleingabe oder gar keiner Eingabe bei Muss-Feldern keine fehlerseite anzeigen möchte, sondern die gleiche Seite noch einmal, aber die entsprechenden Felder, wo etwas nicht stimmt, markiert haben möchte (z.b. text dahinter: "hier bitte was eingeben..bla" oder so).
Zudem möchte ich aber auch, dass bei den Feldern, in denen schon etwas eingegeben wurde, dies auch nicht nochmal neu eingegeben werden muss.

Mein Code sieht folgendermaßen aus (beispielhaft für ein Feld):


<select name="anrede">
    <option value="Herr" <? if( $_POST['anrede']=="Herr") echo ' selected="selected"';?>>Herr</option>
    <option value="Frau" <? if($_POST['anrede']=="Frau") echo ' selected="selected"';?>>Frau</option>
</select>


Hier erhalte ich aber eine Notice (error_reporting(E_ALL)), dass ich auf einen falschen Index zugegriffen habe. Ich kann mir das nicht erklären, ich dachte eigentlich, dass, egal ob ich wo etwas eingebe, das formular-feld eh gesendet wird, notfalls mit leerem string als wert. Woran liegt es?

Gruß daniel


Antwort schreiben

Antwort 1 von MixMax vom 28.06.2020, 22:44 Options

wenn du dir Warnungen anzeigen läßt, ergibt

if ($_POST['anrede']=="


auch einen Fehler beim erstaufruf da keine POST-Variablen gesetzt sind. im grunde müstest du auf die existenz noch prüfen:

if (isset($_POST['anrede']) and $_POST['anrede']=="


Du solltest warnungen nicht ausgeben lassen, außer zum testen - ist in der Regel einfacher, so das du nur wenns wichtig ist auf isset prüfen must..

felder mit disabled werden nicht gesendet, der erstaufruf der seite ist evtl nur ein GET und hat keine formulardaten zum senden.

Antwort 2 von php-anfaenger vom 29.06.2020, 13:24 Options

Danke erstmal für die Antwort!

Gibts denn noch eine einfachere Methode, um die Fehler auf der Formularseite anzeigen zu lassen? Find es so wie ich es vorhab ehrlich gesagt ein bisschen umständlich. Gut wärs, wenn ich innerhalb des Formulars gar kein php-Code hätte. Geht das?

Antwort 3 von MixMax vom 29.06.2020, 18:11 Options

bei POST daten nein, die kannst du nicht per javascript wieder einfügen.
bei GET gehts ist aber umständlicher.

Du hast ja sicher über dem Formular im PHP-Code die Formularverarbeitung... Du kannst natürlich da beim prüfen auch standartwerte setzen...

<?php
## Formularverarbeitung:

if (getenv('REQUEST_METHOD')) == 'POST') {
  # Blahblub ich prüfe was der Nutzer so geschickt hat
}
else {
  # wir haben keine Daten also standartwerte setzen.
  $_POST['anrede'] = '';
}
?>

Ähnliche Themen

Einfache SQL-Abfrage - steh aufm Schlauch!
Richard1000  11.02.2007 - 78 Hits - 1 Antwort

POST-Array auslesen funktioniert nicht
Mel  02.08.2007 - 71 Hits - 3 Antworten

Mehrdimensionales Array
gast4  29.11.2007 - 103 Hits - 5 Antworten

Linux in ein onBoard-Raid-Array installieren, aber wie?
LLLLinux  31.12.2007 - 133 Hits - 2 Antworten

DELETE Frage
Pagestylist  14.02.2008 - 61 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026