Vervolgens wil ik het resultaat testen in "cz.php":
<?php
if (isset($_POST)) {
echo "er is post" . "<br>";
print_r($_POST);
} else {
echo "Er is helaas geen post" . "<br>";
print_r($_POST);
}
?>
Het vreemde is nu dat als ik niets invul dan komt toch de melding 'er is post'. M.a.w. het script denkt dus blijkbaar dat er wel iets is 'gepost', terwijl de array leeg blijft, zo blijkt uit print_r($_POST).
Ook dat werkt niet. Als ik niets invul verwacht ik dat het script retourneert wat er bij else staat. Nu blijft het script komen met 'Er is post' gevolgd door een lege array.
Prachtig, dat werkt!
Maar je begrijpt dat dit slechts een test was.
Hat is de bedoeling dat, als er iets ingevuld is, je wordt doorgestuurd naar een andere pagina.
Daartoe heb ik het else statement vervangen door:
else
{
header("Location: process.php");
}
Maar dan krijg ik de beruchte waarschuwing: Warning: Cannot modify header information - headers already sent ....
Hoezo zijn er headers verzonden? Er is toch nog niets geprint op de pagina?
Zeer bedankt voor het antwoord.
Inmiddels heb ik op het forum gezocht naar de beruchte melding. Zo kwam ik erachter dat er nog geen enkele output naar de browser mag zijn.
Wat bleek: mijn php script begon met een lege regel voor de php tag. Dat heb ik steeds over het hoofd gezien..... Toen ik die regel had weggehaald, was die vervelende melding ook verdwenen.
Toch nog een vraag:
Niet alleen het veld 'Titel' wil ik afvangen, meerdere velden velden staan er in die $_POST array. Wat is nu de beste manier om alle velden apart in verschillende variabelen te zetten?
Niet alleen het veld 'Titel' wil ik afvangen, meerdere velden velden staan er in die $_POST array. Wat is nu de beste manier om alle velden apart in verschillende variabelen te zetten?
Begrijp je vraag niet goed. De variabelen uit je formulier staan al in verschillende variabelen: namelijk in de $_POST-waarden.