$_post
Günther
- php
2 Tom0 $_POST
RFZ0 globe0 Günther
Hallo,
ich habe ein Problem. Ich möchte ein ganz stinknormales php-Formular erstellen. Allerdings hakt es hier etwas an der $_post-variable. am anfang will ich natürlich wissen, ob überhaupt daten übergeben worden sind, also:
if($_post){php}else {html}
Nur leider übergibt er mir nie das richtige. wenn ich mir $_post anzeigen lasse, kommt, egal, ob was ausgefüllt ist oder nicht, nur "Array". Woran könnte das denn liegen?
Dazu müßte ich vielleicht noch sagen, daß die seite in einem buffer (ob_start()) ausgeführt wird. Allerdings scheint das kein grundsätzliches Problem zu sein, weil die Inhalte der input-Zeilen ja auch alle übergeben werden. Nur die Abfrage mit dem $_post funktioniert nicht.
Viele Grüße,
Günther
Hello,
if($_post){php}else {html}
Variablennamen sind case sensitive in PHP
das sollte deshalb auch heißen:
if($_POST)
{
echo "es wurde ein Postparameter gesendet\r\n";
}
oder explizit:
if(($postsize = count($_POST)) != 0)
{
echo "es wurden $postsize Postparameter gesendet\r\n";
}
mit
echo "<pre>\r\n";
echo htmlspecialchars(print_r($_POST),1);
echo "</pre>\r\n";
kannst Du Dir die Parameter im einzelnen anzeigen lassen.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Nur leider übergibt er mir nie das richtige. wenn ich mir $_post anzeigen lasse, kommt, egal, ob was ausgefüllt ist oder nicht, nur "Array". Woran könnte das denn liegen?
Wundert mich, dass du ein Array bekommst, denn eigentlich gibt es $_post nicht, die Variable heißt $_POST.
Gruß,
Andreas
n'abend,
if($_post){php}else {html}
korrekt wäre $_POST
Nur leider übergibt er mir nie das richtige. wenn ich mir $_post anzeigen lasse, kommt, egal, ob was ausgefüllt ist oder nicht, nur "Array". Woran könnte das denn liegen?
Das liegt daran, dass ein Array nun mal kein Text ist, sondern eine etwas komplexere Datenstruktur, weshalb das nicht einfach so ausgegeben werden kann.
mit var_dump() und print_r() kannst du dir die Inhalte der Variablen ausgeben lassen.
Dazu müßte ich vielleicht noch sagen, daß die seite in einem buffer (ob_start()) ausgeführt wird. Allerdings scheint das kein grundsätzliches Problem zu sein, weil die Inhalte der input-Zeilen ja auch alle übergeben werden. Nur die Abfrage mit dem $_post funktioniert nicht.
ob = OutputBuffer -- das bedeutet lediglich, dass deine Ausgabeanweisungen nicht an den Client durchgegeben, sondern zwischengespeichert werden, bis du sie mit ob_get_clean() (o.ä.) oder ob_end_flush() (o.ä.) wieder holst, resp. frei gibst. Das ist nur eine Ausgabeverzögerung.
weiterhin schönen abend...
Danke an alle! Das hat geholfen!
Ja, ich weiß, ich hatte $_POST großgeschrieben. Entschuldigung, war nur Faulheit.