Hallo,
bij deze wat hopelijk is mijn laatste probleem:
Het onderstaande script zorgt ervoor dat er gecheckt worden of de verplichte velden zijn ingevuld en zo ja dat deze dan worden geschreven naar het tekstbestand wat bij het eerste formulier al is aangemaakt.
Als alle vragen netjes zijn ingevuld werkt het.
Alleen als er een vraag niet is ingevuld krijg ik de volgende foutmelding:
Vraag 2 is niet beantwoord.
Warning: Cannot modify header information - headers already sent by (output started at /home/****.nlnl/www/html/formmail5.php:14) in /home/*****.nl/www/html/formmail5.php on line 92.
Als ik het moet interpreteren zou ik zeggen dat die laatste verwijzing niet tegelijkertijd mag met de foutmelding dat niet alle velden zijn ingevuld.
Maar hoe krijg ik deze fout eruit.
Hieronder dus het script:
<?
//variabelen definieren
$adm1 = $_POST["adm1"];
$adm2 = $_POST["adm2"];
$adm3 = $_POST["adm3"];
$adm4 = $_POST["adm4"];
$adm5 = $_POST["adm5"];
$adm6 = $_POST["adm6"];
if ($_POST["adm1"] == "" ) {
echo "Vraag 1 is niet beantwoord.";
}
elseif ($_POST["adm2"] == "" ) {
echo "Vraag 2 is niet beantwoord.";
}
elseif ($_POST["adm3"] == "" ) {
echo "Vraag 3 is niet beantwoord.";
}
elseif ($_POST["adm4"] == "" ) {
echo "Vraag 4 is niet beantwoord.";
}
elseif ($_POST["adm5"] == "" ) {
echo "Vraag 5 is niet beantwoord.";
}
else{
}
// is er op verzenden geklikt?
if (isset ($_POST['verzenden2'])) {
$adm1 = $_POST["adm1"];
$adm2 = $_POST["adm2"];
$adm3 = $_POST["adm3"];
$adm4 = $_POST["adm4"];
$adm5 = $_POST["adm5"];
$adm6 = $_POST["adm6"];
}
$client_ip = ( !empty($_admVER['REMOTE_ADDR']) ) ? $_admVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : getenv('REMOTE_ADDR') );
// schrijf de volgende tekst in het bestand
$invoegen = "adm1: $_POST[adm1]; adm2: $_POST[adm2]; adm3: $_POST[adm3]; adm4: $_POST[adm4]; adm5: $_POST[adm5]; adm6: $_POST[adm6];\n";
// open het bestand
$fopen = fopen($client_ip.".txt", "a");
// schrijf '$invoegen' in het bestand
fwrite($fopen, $invoegen);
// sluit het bestand
fclose($fopen);
$sPath = $_SERVER['DOCUMENT'] .($client_ip.".txt");
if( !ini_get('allow_url_fopen') )
{
if( !@ini_set('allow_url_fopen', '1') )
{
die('"allow_url_fopen" kon niet op 1 wordt geset!');
}
}
if( file_exists($sPath) )
{
if( function_exists('file_get_contents') )
{
$sContent = file_get_contents($sPath);
}
else
{
die('Je PHP is bejaard (< 4.3.0)');
}
}
else
{
die("$sPath does not exist");
}
mail("[email protected]", "$client_ip; REACTIE ENQUETE", "
$sContent
EINDE MAIL!
");
// open het bestand
$fopen = fopen($client_ip.".txt", "a");
// schrijf '$invoegen' in het bestand
unlink($client_ip.".txt");
// sluit het bestand
fclose($fopen);
// mail verstuurd?
if (mail ($to, $subj, stripslashes ($msg), $headers)) {
header("Location: bedankt.php"); }
?>
Graag nog een reactie; als dit punt opgelost is heb ik eindelijk mijn enquete formulier af. :D
Hans.
1.094 views