Ben nog maar een beginner en heb een probleem met checkboxen. Ik heb een formulier gemaakt wat in principe gewoon werkt, maar een foutmelding

(bv Notice: Undefined index: onderhoud_reparatie in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 32)

geeft als 1 of meerdere checkboxen niet zijn aangevinkt. Zie hieronder mijn formulier

<html>
<head>
<title>Formulier</title>

</head>






<body bgcolor="#023C59" text="white" leftmargin="25">
<font face="Verdana" size="2">
<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//Formulier uitgevoerd :melding weergeven
echo "Hartelijk bedankt voor uw reactie. Uw bericht is verzonden. U kunt dit venster sluiten.";
$recipient="emailadres";
$subject="formulier";
$header="From: " .$_POST["email"] . "\n";
$mail_body="Het formulier werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
$mail_body .="De volgende gegevens werden ingevoerd:\n\n";
$mail_body .="Naam: " . $_POST["naam"] . "\n";
$mail_body .="Adres: " . $_POST["adres"] . "\n";
$mail_body .="Postcode + Plaats: " . $_POST["postcode_plaats"] . "\n";
$mail_body .="Tel: " . $_POST["tel"] . "\n";
$mail_body .="Email: " . $_POST["email"] . "\n\n";

//Ik wil informatie over
$mail_body .="Ik wil graag informatie over:\n";
$mail_body .="Onderhoud en reparatie: " . $_POST["onderhoud_reparatie"] . "\n";
$mail_body .="Winterklaarmaken: " . $_POST["winterklaarmaken"] . "\n";
$mail_body .="Afbouw: " . $_POST["afbouw"] . "\n";
$mail_body .="Restyling: " . $_POST["restyling"] . "\n";
$mail_body .="Neem contact met mij op: " . $_POST["contact"] . "\n";
mail($recipient, $subject, $mail_body, $header);


} else {
//Formulier nog niet uitgevoerd: formulier weergeven
?>
<font face="Verdana"><h4>Formulier</h4></font>
<form action="sdi_formulier2.php" method="POST">
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Naam:</font>
</td><td width="150">
<input type="text" name="naam">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Adres:</font>
</td><td width="150">
<input type="text" name="adres">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Postcode + Plaats:</font>
</td><td width="150">
<input type="text" name="postcode_plaats">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Tel:</font>
</td><td width="150">
<input type="text" name="tel">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Email:</font>
</td><td width="150">
<input type="text" name="email">
</td></tr>
</table>
<p>
<font face="Verdana" size="2"><b>Ik wil graag meer informatie over:</b></font><br>
<table border="0" width="300">
<tr><td width="40">
<input type="checkbox" name="onderhoud_reparatie" value="on">
</td><td width="260">
<font face="Verdana" size="2">Onderhoud en reparatie</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="winterklaarmaken" value="on">
</td><td width="260">
<font face="Verdana" size="2">Winterklaarmaken</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="afbouw" value="on">
</td><td width="260">
<font face="Verdana" size="2">Afbouw</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="restyling" value="on">
</td><td width="260">
<font face="Verdana" size="2">Restyling</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="contact" value="on">
</td><td width="260">
<font face="Verdana" size="2">Neem contact met mij op</font>
</td></tr>
</table>
<p>
<center>
<input type="image" name="submit" src="knop_verstuur.jpg" onclick="this.form.submit();">
</center>

</form>



<?php
}
?>



</body>
</html>


Kan iemand mij hierbij helpen?
Heb je
<?
error_reporting(E_ALL);
?>

In je script staan?
Want dat zorgt (volgens mij) voor die error...


Of snap ik iets verkeerd ^_^?
ik heb dat er niet instaan. Mijn script zoals hij nu is staat hier een stukje boven.

Nogmaals het script werkt op zich wel, alleen geeft een foutmelding als iemand iets verstuurt zonder dat hij één of meerdere checkboxen heeft aangevinkt
Ok, ik heb je script zoals hierboven getest, met 1 kleine aanpassing, en hij werkt perfect.

in de Regel <form action="...
heb je een foute action.
Vervang deze regel in zn geheel door:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

Dan werkt ie meteen. :D

Cheers, Niels
of je zet heel de form gewoon in een echo:)
Niet nodig johan, zo werkt ie ook:

<html>
<head>
<title>Formulier</title>

</head>






<body bgcolor="#023C59" text="white" leftmargin="25">
<font face="Verdana" size="2">
<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//Formulier uitgevoerd :melding weergeven
echo "Hartelijk bedankt voor uw reactie. Uw bericht is verzonden. U kunt dit venster sluiten.";
$recipient="[email protected]";
$subject="formulier";
$header="From: " .$_POST["email"] . "\n";
$mail_body="Het formulier werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
$mail_body .="De volgende gegevens werden ingevoerd:\n\n";
$mail_body .="Naam: " . $_POST["naam"] . "\n";
$mail_body .="Adres: " . $_POST["adres"] . "\n";
$mail_body .="Postcode + Plaats: " . $_POST["postcode_plaats"] . "\n";
$mail_body .="Tel: " . $_POST["tel"] . "\n";
$mail_body .="Email: " . $_POST["email"] . "\n\n";

//Ik wil informatie over
$mail_body .="Ik wil graag informatie over:\n";

if($_POST["onderhoud_reparatie"] == "on"){
$_POST["onderhoud_reparatie"] = "ja";
}
else {
$_POST["onderhoud_reparatie"] = "nee";
}
$mail_body .="Onderhoud en reparatie: " . $_POST["onderhoud_reparatie"] . "\n";


if($_POST["winterklaarmaken"] == "on"){
$_POST["winterklaarmaken"] = "ja";
}
else {
$_POST["winterklaarmaken"] = "nee";
}
$mail_body .="Winterklaarmaken: " . $_POST["winterklaarmaken"] . "\n";


if($_POST["afbouw"] == "on"){
$_POST["afbouw"] = "ja";
}
else {
$_POST["afbouw"] = "nee";
}
$mail_body .="Afbouw: " . $_POST["afbouw"] . "\n";


if($_POST["restyling"] == "on"){
$_POST["restyling"] = "ja";
}
else {
$_POST["restyling"] = "nee";
}
$mail_body .="Restyling: " . $_POST["restyling"] . "\n";


if($_POST["contact"] == "on"){
$_POST["contact"] = "ja";
}
else {
$_POST["contact"] = "nee";
}
$mail_body .="Neem contact met mij op: " . $_POST["contact"] . "\n";


mail($recipient, $subject, $mail_body, $header);

} else {


//Formulier nog niet uitgevoerd: formulier weergeven
?>
<font face="Verdana"><h4>Formulier</h4></font>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Naam:</font>
</td><td width="150">
<input type="text" name="naam">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Adres:</font>
</td><td width="150">
<input type="text" name="adres">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Postcode + Plaats:</font>
</td><td width="150">
<input type="text" name="postcode_plaats">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Tel:</font>
</td><td width="150">
<input type="text" name="tel">
</td></tr>
<table border="0" width="300">
<tr><td width="150">
<font face="Verdana" size="2">Email:</font>
</td><td width="150">
<input type="text" name="email">
</td></tr>
</table>
<p>
<font face="Verdana" size="2"><b>Ik wil graag meer informatie over:</b></font><br>
<table border="0" width="300">
<tr><td width="40">
<input type="checkbox" name="onderhoud_reparatie">
</td><td width="260">
<font face="Verdana" size="2">Onderhoud en reparatie</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="winterklaarmaken">
</td><td width="260">
<font face="Verdana" size="2">Winterklaarmaken</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="afbouw">
</td><td width="260">
<font face="Verdana" size="2">Afbouw</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="restyling">
</td><td width="260">
<font face="Verdana" size="2">Restyling</font>
</td></tr>
<tr><td width="40">
<input type="checkbox" name="contact">
</td><td width="260">
<font face="Verdana" size="2">Neem contact met mij op</font>
</td></tr>
</table>
<p>
<center>
<input type="image" name="submit" src="knop_verstuur.jpg" onclick="this.form.submit();">
</center>

</form>



<?php
}
?>



</body>
</html>
Sorry maar dan krijg ik nog steeds de foutmelding

Notice: Undefined index: onderhoudreparatie in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 33

Notice: Undefined index: winterklaarmaken in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 42

Notice: Undefined index: afbouw in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 51

Notice: Undefined index: restyling in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 60

Notice: Undefined index: contact in D:\Sites\pragmatist.nl\www\sdi_formulier2.php on line 69

Het werkt prima, maar ik wil alleen deze foutmelding niet zien als het formulier wordt opgestuurd
Als je dat script gebruikt wat ik t laatst heb gepost, dus dat hele script opslaan als mailform.php, dan werkt t.
Probeer maar.

Groet
em vind het moeilijk ;) probeer ook eens zelf oplossingen te verzinnen door voorbeelden te gebruiken van deze site.

suc6

Reageren