Door
Ronald Verkolf
op 07-07-2014 16:51
gewijzigd op 07-07-2014 17:28
5.306 views
Ik heb ook een vraagje over radio button
dit is wat er staat in mijn php script
<?php
if(isset($_POST['gender'])
{
if(empty($gender)) // Als het voornaam veld niet is ingevuld
{
print '<p>bent u man of vrouw!</p>';
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
?>
if(empty($_POST['geslacht'])) // Als het voornaam veld niet is ingevuld
{
echo "<p>Bent u man of vrouw?</p>";
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
?>
Je vraag gaat over radio buttons die het geslacht bepalen.
Je laatste opmerking gaat over een gewone text input waar een naam ingevuld moet worden. Dat probleem zal wel in de buurt staan van de code van dit topic, maar heeft er op zich niets mee te maken.
if(empty($_POST['geslacht'])) // Als het voornaam veld niet is ingevuld
{
echo "<p>Bent u man of vrouw?</p>";
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
if(isset($_POST['versturen'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$fout = false; // Om te kijken straks of er wat fout is
if(empty($gender)) // Als het voornaam veld niet is ingevuld
{
print '<p>Voornaam vergeten!</p>';
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
?>
<?php
if(isset($_POST['versturen'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$achternaam = trim($_POST['achternaam']); // Alle overbodige spaties uit het achternaam veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($achternaam)) // Als het achternaam veld niet is ingevuld
{
print '<p>Achternaam vergeten!</p>';
$fout = true;
}
}
?>
<?php
if(isset($_POST['versturen'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$email = trim($_POST['email']); // Alle overbodige spaties uit het email veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($email)) // Als het email veld niet is ingevuld
{
print '<p>email vergeten!</p>';
$fout = true;
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) // Als het email adres niet correct is
{
print '<p>fout email adres!</p>';
$fout = true;
}
}
?>
<?php
if(isset($_POST['versturen'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$bericht = trim($_POST['bericht']); // Alle overbodige spaties uit het bericht veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($bericht)) // Als het bericht veld niet is ingevuld
{
print '<p>bericht vergeten!</p>';
$fout = true;
}
if($fout == false) // Als er niks fout is (alles is dus netjes ingevuld)
{
$headers .= 'From: ' . $voornaam . ' ' . $achternaam . '<' . $email . '>'; // Een afzender instellen zodat je kan reageren.
if(mail($naar, $onderwerp, nl2br($bericht), $headers))
{
print '<p>Het bericht is succesvol verzonden!</p>';
}
else
{
print '<p>Helaas, er is wat fout gegaan tijdens het verzenden van het formulier.</p>';
}
}
}
?>
</p></td>
</tr>
</table>
</form>
<p><span class="error">Alle velden gemarkeerd met een * zijn verplicht.</span></p>
to the point: zoekop waar de melding Voornaam vergeten vandaan komt en kijk 2 regels eerder waar je op controleert....
verder: die eerste echo met action="". Laat die gewoon achterwege.
Dat is echter wel de enige plek waar je htmlspecialchars gebruikt.
En op alle andere plekken waar je dingen als $name echoot, daar vergeet je dat.
Verder snap ik niet waarom je een keer of 10 controleert of $_POST['versturen'] bestaat.
Dat doe je 1x, en dan check je stuk voor stuk de te verwachten invoers.
Sowieso: ipv controleren op de aanwezigheid van $_POST['versture'], kun je ook doen wat je werkelijk wilt weten: is er een form gepost?
if($_SERVER['REQUEST_METHOD'] == 'POST')
En tenslotte:
die hele stukken PHP komen boven je html te staan, zodat je eventueel $name ook in kunt vullen.
Of het form kunt weg laten als je constateert dat alles ok was
alles werkt weer maar me radio button nog steeds niet
if(isset($_POST['versturen'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$voornaam = trim($_POST['voornaam']); // Alle overbodige spaties uit het voornaam veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($voornaam)) // Als het voornaam veld niet is ingevuld
{
print '<p>Voornaam vergeten!</p>';
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST') // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$achternaam = trim($_POST['achternaam']); // Alle overbodige spaties uit het achternaam veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($achternaam)) // Als het achternaam veld niet is ingevuld
{
print '<p>Achternaam vergeten!</p>';
$fout = true;
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST') // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$email = trim($_POST['email']); // Alle overbodige spaties uit het email veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($email)) // Als het email veld niet is ingevuld
{
print '<p>email vergeten!</p>';
$fout = true;
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) // Als het email adres niet correct is
{
print '<p>fout email adres!</p>';
$fout = true;
}
}
if(isset($_POST['geslacht'])) // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$gender = trim($_POST['geslacht']); // Alle overbodige spaties uit het voornaam veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($gender)) // Als het voornaam veld niet is ingevuld
{
print '<p>geslacht vergeten!</p>';
$fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST') // Check naar POST versturen// Als het formulier verzonden is door op de verzend knop te klikken
{
$bericht = trim($_POST['bericht']); // Alle overbodige spaties uit het bericht veld verwijderen
$fout = false; // Om te kijken straks of er wat fout is
if(empty($bericht)) // Als het bericht veld niet is ingevuld
{
print '<p>bericht vergeten!</p>';
$fout = true;
}
if($fout == false) // Als er niks fout is (alles is dus netjes ingevuld)
{
$headers .= 'From: ' . $voornaam . ' ' . $achternaam . '<' . $email . '>'; // Een afzender instellen zodat je kan reageren.
if(mail($naar, $onderwerp, nl2br($bericht), $headers))
{
print '<p>Het bericht is succesvol verzonden!</p>';
}
else
{
print '<p>Helaas, er is wat fout gegaan tijdens het verzenden van het formulier.</p>';
}
}
}
?>