php mail laat geen uitkomst radio button zien

Status
Niet open voor verdere reacties.

zwartkat

Gebruiker
Lid geworden
9 jun 2007
Berichten
32
Heej allemaal,

Ik ben een redelijke beginner met php, en nou had ik al een werkende php email script draaien. Alleen was dat alleen maar tekst wat in het eerste email script stond, en nu zou ik ook graag een radio button willen weergeven.

Het formulier gaat over het aanvragen van een snipperdag.

Het script werkt wel en je krijg ook een email binnen en daarin staat alle info behalve de geselecteerde radio button.

Ik hoop dat jullie me kunnen helpen om de uitkomst van de radiobutton te kunnen weergeven.

Met vriendelijke groet,

Matthijs Oomen

PHP:
<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!
?>

<link href="style.css" type="text/css" rel="stylesheet" />
<?php
include ("bevestigingsnipper.php");


// E-mailadres van de ontvanger
$mail_ontv = ($_POST["email"]) ; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // antiflood controle
    if (!empty($_SESSION['antiflood']))
    {
        $seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
        $tijd = time() - $_SESSION['antiflood'];
        if($tijd < $seconde)
            $antiflood = 1;
    }
}
// Radio buttons codes:
  $dokter_status='unchecked';
  $tandarts_status='unchecked';
  $vakantie_status='unchecked';
  $atvdag_status='unchecked';
  $anders_status='unchecked';
  
  if(isset ($_POST ['redenaanvraag'])){ 
  	$selected_radio= htmlspecialchars($_POST['redenaanvraag']);
	
	if($selected_radio=='dokter'){
		 $dokter_status='checked';
	}
	else if($selected_radio=='tandarts'){
		$tandarts_status='checked';
	}
	else if($selected_radio=='vakantie'){
	$vakantie_status='checked';
	}
	else if($selected_radio=='atvdag'){
	$atvdag_status='checked';
	}
	else if($selected_radio=='anders'){
		$anders_status='checked';
	}// Einde radio buttons codes
  }


// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) ||  empty($_POST['email']) || !empty($email_fout) || empty($_POST['achternaam']) || empty($_POST['voornamen']) || empty($_POST['nummer']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        
        if (!empty($email_fout))
            echo '<p>Uw e-mailadres is niet juist.</p>';
        elseif (!empty($antiflood))
            echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
        else
            echo '<p>U heeft niet alle verplichten velden ingevuld!.</p>';
    }
        
  // HTML e-mail formlier
  


  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
  <p><center>
	  <h1>Aanvragen snipperdag</h1>
  <fieldset> <table align="center" cellspacing="5" cellpadding="2" border="0" id="tabel">
  
  <tr>
  </tr>
  <tr>
  	  <td colspan="2">
         <b><u><i>Persoonsgegevens</i></u></b>
	  </td>
  </tr>
  <tr>
	  <td><label for="achternaam">Achternaam *</label></td>
      <td><input type="text" id="achternaam" name="achternaam" style="width: 200px;" value="' . htmlspecialchars($_POST['achternaam']) . '" /><br /></td>
	</tr>
    <tr>  
	  <td><label for="voornamen">Voornamen *</label></td>
      <td><input type="text" id="voornamen" name="voornamen" style="width: 200px;" value="' . htmlspecialchars($_POST['voornamen']) . '" /><br /></td>
	</tr>    
	<tr>  
	  <td><label for="nummer">Persoonsnummer *</label></td>
      <td><input type="text" id="nummer" name="nummer" style="width: 200px;" value="' . htmlspecialchars($_POST['nummer']) . '" /><br /></td>
	</tr>	
	<tr>  
	  <td><label for="email">E-mail *</label></td>
      <td><input type="text" id="email" name="email" style="width: 200px;" value="' . htmlspecialchars($_POST['email']) . '" /><br /></td>
	</tr>	

	<tr>
	</tr>
	<tr>
	</tr>
	<tr>
	<td colspan="2"> '// De radio buttons !!!!! ?> 
                        <label for="reden"><b><i><u>Reden aanvraag *</i></b></u></label></td>
						<tr>
                            <td>
                            <Input type="Radio" Name ="dokter" value="<?  htmlspecialchars($_POST['dokter'])  ?>"
                            <?php print $dokter_status; ?>
                            >Dokter
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="tandarts" value="<?  htmlspecialchars($_POST['tandarts'])  ?>"
                            <?php print $tandarts_status; ?>
                            >Tandarts
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="vakantie" value="<?  htmlspecialchars($_POST['vakantie'])  ?>"
                            <?php print $vakantie_status; ?>
                            >Vakantie
                            </td>
                          	<td>
                            &nbsp;Van:
                            <input type="text" id="van" name="van" style="width: 200px;" value="<?  htmlspecialchars($_POST['van'])?> " />
                            </td>
                            <td>
                            &nbsp;Tot:
                            <input type="text" id="tot" name="tot" style="width: 200px;" value="<?  htmlspecialchars($_POST['tot'])  ?>" />
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="atvdag" value="<?  htmlspecialchars($_POST['atvdag'])  ?>"
                            <?php print $atvdag_status; ?>
                            >ATV-dag
                            </td><td>
                            &nbsp;Van:
                            <input type="text" id="van" name="van" style="width: 200px;" value="<?  htmlspecialchars($_POST['van'])  ?>" />
                            </td><td>
                            &nbsp;Tot:
                            <input type="text" id="tot" name="tot" style="width: 200px;" value="<? htmlspecialchars($_POST['tot'])  ?>" />
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="anders" value="<?  htmlspecialchars($_POST['anders'])  ?>"
                            <?php print $anders_status; ?>
                            >Anders namelijk:
                            </td>
                            <td>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            <input type="text" id="anders" name="anders" style="width: 200px;" value="<?  htmlspecialchars($_POST['anders'])  ?>" />
                            </td>
                            <td>
                            &nbsp;Van:
                            <input type="text" id="van" name="van" style="width: 200px;" value="<?  htmlspecialchars($_POST['van'])  ?>" />
                            </td>
                            <td>
                            &nbsp;Tot:
                            <input type="text" id="tot" name="tot" style="width: 200px;" value="<?  htmlspecialchars($_POST['tot'])  ?>" />
                            </td>
                        </tr>
	         </table>  
	  
      <input  type="submit" name="submit" value=" Versturen " id="submit" />
	  
	  </fieldset>
	  </center>
  </p> 
     </form><?php 

} 
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "Online aanvraag snipperdag " . $_SERVER['HTTP_HOST'] . "\n";
  $inhoud_mail .= "===================================================\n\n";
    
  $inhoud_mail .= "Beste " . htmlspecialchars($_POST['voornamen']) . " " . htmlspecialchars($_POST['achternaam']) . ", \n\n";
  $inhoud_mail .= "Uw aanvraag voor een snipperdag(en) is doorgevoerd. \n";
  $inhoud_mail .= "Uw aanvraag wordt zo spoedig mogelijk bevestigd, en naar u opgestuurd. \n\n";
  $inhoud_mail .= "De volgende gegevens zijn door u ingevuld. Wanneer er gegevens niet kloppen, kunt u dat doorgeven aan \n";
  $inhoud_mail .= "\n";

  $inhoud_mail .= "Persoonsgegevens \n";
  $inhoud_mail .= "Achternaam: " . htmlspecialchars($_POST['achternaam']) . "\n";
  $inhoud_mail .= "Voornamen: " . htmlspecialchars($_POST['voornamen']) . "\n";
  $inhoud_mail .= "Persoonsnummer: " . htmlspecialchars($_POST['nummer']) . "\n";
  $inhoud_mail .= "E-mail: " . htmlspecialchars($_POST['email']) . "\n";
  $inhoud_mail .= "Reden aanvraag: " . htmlspecialchars($_POST['redenaavraag']) . "\n";
  $inhoud_mail .= "Anders: " . htmlspecialchars($_POST['anders']) . "\n";
  $inhoud_mail .= "Van: " . htmlspecialchars($_POST['van']) . "\n";
  $inhoud_mail .= "Tot: " . htmlspecialchars($_POST['tot']) . "\n";

  $inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";
    
  $inhoud_mail .= "===================================================\n\n";
  
  // --------------------
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------
  
  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['email'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
  {
      // zorg ervoor dat dezelfde persoon niet kan spammen
      $_SESSION['antiflood'] = time();
      
      echo '<h1>Uw aanvraag voor een snipperdag is aangevraagd.</h1>
      
      <p>Bedankt voor het invullen van de aanvraag voor een snipperdag. Er zal zo spoedig mogelijk een bevestiging worden verstuurd.<br />
	  	  </p>';
  }
  else
  {
      echo '<h1>Uw aanvraag voor een snipperdag is niet verzonden</h1>
      
      <p><b>Onze excuses.</b> Uw aanvraag kon niet verzonden worden. Probeert u het alstublief nogmaals 
	  <br />
	</p>';
  }
}
?>
 
Laatst bewerkt:
Je hebt het over de radio buttons voor de reden neem ik aan? Voor radio buttons geldt dat de "name" gelijk moet zijn, alleen de "value" moet verschillen. Op die manier kan er maar een radio button geselecteerd worden. Zoals het nu is kan iemand elke radio button aanvinken. Van de radio buttons moet je dus zoiets maken (opmaak mag je zelf doen :)):
HTML:
<input type="radio" name="reden" value="tandarts">
<input type="radio" name="reden" value="dokter">
etc...

De reden kan je dan opvragen met $_POST['reden'] (de waarde tussen de blokhaken is de "name" van de radio buttons, de inhoud hiervan is de "value" van de geselecteerde radio button), dus op regel 203 en 204 krijg je dan:
PHP:
$inhoud_mail .= "Reden aanvraag: " . $_POST['reden'] . "\n";
if ($_POST['reden'] == "anders")
{
  $inhoud_mail .= "Anders: " . htmlspecialchars($_POST['anders']) . "\n";
}

Ik ben er hier ten minste vanuit gegaan dat het invulveld "anders" ingevuld moet worden als de radio button met reden "anders" wordt geselecteerd.
 
Laatst bewerkt:
Hartelijk dank

Heej Supersnail,

Dank je wel het werkt prima.
Ik ben je echt super dankbaar.

Met vriendelijke groet,
Matthijs Oomen

Ps de code is nu geworden

PHP:
<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!
?>

<link href="style.css" type="text/css" rel="stylesheet" />
<?php
include ("bevestigingsnipper.php");


// E-mailadres van de ontvanger
$mail_ontv = ($_POST["email"]) ; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

    // e-mail controle
    if (function_exists('filter_var') && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
            $email_fout = 1;
    // antiflood controle
    if (!empty($_SESSION['antiflood']))
    {
        $seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
        $tijd = time() - $_SESSION['antiflood'];
        if($tijd < $seconde)
            $antiflood = 1;
    }
}



// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) ||  empty($_POST['email']) || !empty($email_fout) || empty($_POST['achternaam']) || empty($_POST['voornamen']) || empty($_POST['nummer']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        
        if (!empty($email_fout))
            echo '<p>Uw e-mailadres is niet juist.</p>';
        elseif (!empty($antiflood))
            echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
        else
            echo '<p>U heeft niet alle verplichten velden ingevuld!.</p>';
    }
        
  // HTML e-mail formlier
  

// Radio buttons codes:
  $dokter_status='unchecked';
  $tandarts_status='unchecked';
  $vakantie_status='unchecked';
  $atvdag_status='unchecked';
  $anders_status='unchecked';
  
  if(isset ($_POST ['reden'])){ 
  	$selected_radio= $_POST['reden'];
	
	if($selected_radio=='dokter'){
		 $dokter_status='checked';
	}
	else if($selected_radio=='tandarts'){
		$tandarts_status='checked';
	}
	else if($selected_radio=='vakantie'){
	$vakantie_status='checked';
	}
	else if($selected_radio=='atvdag'){
	$atvdag_status='checked';
	}
	else if($selected_radio=='anders'){
		$anders_status='checked';
	}// Einde radio buttons codes
  }
  
  echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
  <p><center>
	  <h1>Aanvragen snipperdag</h1>
  <fieldset> <table align="center" cellspacing="5" cellpadding="2" border="0" id="tabel">
  
  <tr>
  </tr>
  <tr>
  	  <td colspan="2">
         <b><u><i>Persoonsgegevens</i></u></b>
	  </td>
  </tr>
  <tr>
	  <td><label for="achternaam">Achternaam *</label></td>
      <td><input type="text" id="achternaam" name="achternaam" style="width: 200px;" value="' . htmlspecialchars($_POST['achternaam']) . '" /><br /></td>
	</tr>
    <tr>  
	  <td><label for="voornamen">Voornamen *</label></td>
      <td><input type="text" id="voornamen" name="voornamen" style="width: 200px;" value="' . htmlspecialchars($_POST['voornamen']) . '" /><br /></td>
	</tr>    
	<tr>  
	  <td><label for="nummer">Persoonsnummer *</label></td>
      <td><input type="text" id="nummer" name="nummer" style="width: 200px;" value="' . htmlspecialchars($_POST['nummer']) . '" /><br /></td>
	</tr>	
	<tr>  
	  <td><label for="email">E-mail *</label></td>
      <td><input type="text" id="email" name="email" style="width: 200px;" value="' . htmlspecialchars($_POST['email']) . '" /><br /></td>
	</tr>	

	<tr>
	</tr>
	<tr>
	</tr>
	<tr>
	<td colspan="2"> '// De radio buttons !!!!! ?> 
                        <label for="reden"><b><i><u>Reden aanvraag *</i></b></u></label></td>
						<tr>
                            <td>
                            <Input type="Radio" Name ="reden" value="dokter"
                            <?php print $dokter_status; ?>
                            >Dokter
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="reden" value="tandarts"
                            <?php print $tandarts_status; ?>
                            >Tandarts
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="reden" value="vakantie"
                            <?php print $vakantie_status; ?>
                            >Vakantie
                            </td>
                          	<td>
                            &nbsp;Van:
                            <input type="text" id="vakvan" name="vakvan" style="width: 200px;" value="<?  htmlspecialchars($_POST['vakvan'])?> " />
                            </td>
                            <td>
                            &nbsp;Tot:
                            <input type="text" id="vaktot" name="vaktot" style="width: 200px;" value="<?  htmlspecialchars($_POST['vaktot'])  ?>" />
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="reden" value="atvdag"
                            <?php print $atvdag_status; ?>
                            >ATV-dag
                            </td><td>
                            &nbsp;Van:
                            <input type="text" id="atvvan" name="atvvan" style="width: 200px;" value="<?  htmlspecialchars($_POST['atvvan'])  ?>" />
                            </td><td>
                            &nbsp;Tot:
                            <input type="text" id="atvtot" name="atvtot" style="width: 200px;" value="<? htmlspecialchars($_POST['atvtot'])  ?>" />
                            </td>
                        </tr>
						<tr>
                            <td>
                            <Input type="Radio" Name ="reden" value="anders"
                            <?php print $anders_status; ?>
                            >Anders namelijk:
                            </td>
                            <td>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                            <input type="text" id="anders" name="anders" style="width: 200px;" value="<?  htmlspecialchars($_POST['anders'])  ?>" />
                            </td>
                            <td>
                            &nbsp;Van:
                            <input type="text" id="redvan" name="redvan" style="width: 200px;" value="<?  htmlspecialchars($_POST['redvan'])  ?>" />
                            </td>
                            <td>
                            &nbsp;Tot:
                            <input type="text" id="redtot" name="redtot" style="width: 200px;" value="<?  htmlspecialchars($_POST['redtot'])  ?>" />
                            </td>
                        </tr>
	         </table>  
	  
      <input  type="submit" name="submit" value=" Versturen " id="submit" />
	  
	  </fieldset>
	  </center>
  </p> 
     </form><?php 

} 
// versturen naar
else
{      
  // set datum
  $datum = date('d/m/Y H:i:s');
    
  $inhoud_mail = "===================================================\n";
  $inhoud_mail .= "Online aanvraag snipperdag " . $_SERVER['HTTP_HOST'] . "\n";
  $inhoud_mail .= "===================================================\n\n";
    
  $inhoud_mail .= "Beste " . htmlspecialchars($_POST['voornamen']) . " " . htmlspecialchars($_POST['achternaam']) . ", \n\n";
  $inhoud_mail .= "Uw aanvraag voor een snipperdag(en) is doorgevoerd. \n";
  $inhoud_mail .= "Uw aanvraag wordt zo spoedig mogelijk bevestigd, en naar u opgestuurd. \n\n";
  $inhoud_mail .= "De volgende gegevens zijn door u ingevuld. Wanneer er gegevens niet kloppen, kunt u dat doorgeven aan ??????????????? \n";
  $inhoud_mail .= "\n";

  $inhoud_mail .= "Persoonsgegevens \n";
  $inhoud_mail .= "Achternaam: " . htmlspecialchars($_POST['achternaam']) . "\n";
  $inhoud_mail .= "Voornamen: " . htmlspecialchars($_POST['voornamen']) . "\n";
  $inhoud_mail .= "Persoonsnummer: " . htmlspecialchars($_POST['nummer']) . "\n";
  $inhoud_mail .= "E-mail: " . htmlspecialchars($_POST['email']) . "\n";
  $inhoud_mail .= "Reden aanvraag: " . $_POST['reden'] . "\n";
	if ($_POST['reden'] == "anders")
	{
  $inhoud_mail .= "Anders: " . htmlspecialchars($_POST['anders']) . "\n";
	} 
  $inhoud_mail .= "Van: " . htmlspecialchars($_POST['vakvan']) . "" . htmlspecialchars($_POST['atvvan']) . "" . htmlspecialchars($_POST['redvan']) . "\n";
  $inhoud_mail .= "Tot: " . htmlspecialchars($_POST['vaktot']) . "" . htmlspecialchars($_POST['atvtot']) . "" . htmlspecialchars($_POST['redtot']) . "\n";

  $inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";
    
  $inhoud_mail .= "===================================================\n\n";
  
  // --------------------
  // spambot protectie
  // ------
  // van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
  // ------
  
  $headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['email'] . '>';
  
  $headers = stripslashes($headers);
  $headers = str_replace('\n', '', $headers); // Verwijder \n
  $headers = str_replace('\r', '', $headers); // Verwijder \r
  $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
  
  $_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
  $_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
  $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
  
  if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
  {
      // zorg ervoor dat dezelfde persoon niet kan spammen
      $_SESSION['antiflood'] = time();
      
      echo '<h1>Uw aanvraag voor een snipperdag is aangevraagd.</h1>
      
      <p>Bedankt voor het invullen van de aanvraag voor een snipperdag. Er zal zo spoedig mogelijk een bevestiging worden verstuurd.<br />
	  	  </p>';
  }
  else
  {
      echo '<h1>Uw aanvraag voor een snipperdag is niet verzonden</h1>
      
      <p><b>Onze excuses.</b> Uw aanvraag kon niet verzonden worden. Probeert u het alstublief nogmaals 
	  <br />
	</p>';
  }
}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan