Ik heb een registratieformulier gemaakt.
Kenmerken:
Controle van alle invoervelden met reguliere expressies
Wachtwoord generator
bevestigingsemail
Ik hoor graag op en aanmerkingen verbeteringen, enz.
<?php
if (!IsSet($_POST["submit"]))
{
ShowForm();
}
else
{
HandleForm();
}
function ShowForm( $voorletter="", $tussenvoegsel="", $naam="", $straat="", $huisnr="",$postcode="", $woonplaats="", $tel="", $email="", $user="", $mail_list="")
{//Toon het formulier met eventueel de ingevulde waarden
echo "<table>";
echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">";
echo "<tr><td>Voorletters (max3)</td><td><input type=\"text\" name=\"voorletter\" value=\"$voorletter\"></td></tr>";
echo "<tr><td>Tussenvoegsel</td><td><input type=\"text\" name=\"tussenvoegsel\" value=\"$tussenvoegsel\"></td></tr>";
echo "<tr><td>Naam</td><td><input type=\"text\" name=\"naam\" value=\"$naam\"></td></tr>";
echo "<tr><td>Straat</td><td><input type=\"text\" name=\"straat\" value=\"$straat\"></td></tr>";
echo "<tr><td>Huisnr.</td><td><input type=\"text\" name=\"huisnr\" value=\"$huisnr\"></td></tr>";
echo "<tr><td>Postcode</td><td><input type=\"text\" name=\"postcode\" value=\"$postcode\"></td></tr>";
echo "<tr><td>Woonplaats</td><td><input type=\"text\" name=\"woonplaats\" value=\"$woonplaats\"></td></tr>";
echo "<tr><td>Telefoonnr.</td><td><input type=\"text\" name=\"tel\" value=\"$tel\"></td></tr>";
echo "<tr><td>Email</td><td><input type=\"text\" name=\"email\" value=\"$email\"></td></tr>";
echo "<tr><td>Gebruikersnaam</td><td><input type=\"text\" name=\"user\" value=\"$user\"></td></tr>";
echo "<tr><td>Ik wil op de mailinglist</td><td>Ja <input type=\"radio\" name=\"mail_list\" value=\"ja\"> Nee <input type=\"radio\" name=\"mail_list\" value=\"nee\"CHECKED></td></tr>";
echo "<tr><td>Druk op verzenden</td><td><input type=\"submit\" name =\"submit\" value=\"verzenden\"></td></tr>";
echo "</table>";
}
function HandleForm()
{//initialiseer foutvariabelen
$fout=FALSE;
$voorletter_fout=FALSE;
$tussenvoegsel_fout=FALSE;
$naam_fout=FALSE;
$straat_fout=FALSE;
$huisnr_fout=FALSE;
$postcode_fout=FALSE;
$woonplaats_fout=FALSE;
$tel_fout=FALSE;
$email_fout=FALSE;
$user_fout=FALSE;
$mail_list_fout=FALSE;
$user_fout=FALSE;
// Controleer of de ingevulde gegevens goed zijn
if (!ereg('^[A-Za-z.]+$', $_POST["voorletter"]))
{
$fout=TRUE;
$voorletter_fout=TRUE;
}
if (!ereg('^[A-Za-z ]*$', $_POST["tussenvoegsel"]))
{
$fout=TRUE;
$tussenvoegsel_fout= TRUE;
}
if (!ereg('^[A-Za-z. -]+$', $_POST["naam"]))
{
$fout=TRUE;
$naam_fout= TRUE;
}
if (!ereg('^[A-Za-z1-9 ]+[a-z]*', $_POST["straat"]))
{
$fout=TRUE;
$straat_fout= TRUE;
}
if (!ereg('^[0-9]+[A-Za-z]*', $_POST["huisnr"]))
{
$fout=TRUE;
$huisnr_fout= TRUE;
}
if (!ereg('^([0-9]{4})([[:space:]]?)([A-Z]{2})$', $_POST["postcode"]))
{
$fout=TRUE;
$postcode_fout= TRUE;
}
if (!ereg('^[A-Za-z ]+$', $_POST["woonplaats"]))
{
$fout=TRUE;
$woonplaats_fout= TRUE;
}
if (!ereg('^[0-9]{10}$', $_POST["tel"]))
{
$fout=TRUE;
$tel_fout= TRUE;
}
if (!ereg('^([0-9a-z]+)([0-9a-z\.-_]+)([@]+)([0-9a-z\.-_]+)\.([0-9a-z]+)', $_POST["email"]))
{
$fout=TRUE;
$email_fout= TRUE;
}
if (!ereg('^[A-Za-z0-9]+$', $_POST["user"]))
{
$fout=TRUE;
$user_fout= TRUE;
}
if (!ereg('^[a-z]{2,3}$', $_POST["mail_list"]))
{
$fout=TRUE;
$mail_list_fout= TRUE;
}
//controle of gebruikersnaam al bestaat
require_once('ooievaar.php');
$sql= "SELECT user FROM Klanten";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
if ($row["user"]==$_POST["user"])
{
$fout=TRUE;
$username_fout=TRUE;
}
}
mysql_close($db);
if ($fout)
{
//Toon de fout ingevulde waarden
echo ( $fout ? "<li/>Er is een fout opgetreden" : "");
echo ($voorletter_fout ? "<li/>Ongeldige voorletters" : "");
echo ($tussenvoegsel_fout ? "<li/>Ongeldig tussenvoegsel" : "");
echo ($naam_fout ? "<li/>Ongeldige naam" : "");
echo ($straat_fout ? "<li/>Ongeldige straatnaam" : "");
echo ($huisnr_fout ? "<li/>Ongeldige huisnr" : "");
echo ($postcode_fout ? "<li/>Ongeldige postcode" : "");
echo ($woonplaats_fout ? "<li/>Ongeldige woonplaats" : "");
echo ($postcode_fout ? "<li/>Ongeldige tel.nr" : "");
echo ($email_fout ? "<li/>Ongeldige email" : "");
echo ($tel_fout ? "<li/>Ongeldige telefoonnr." : "");
echo ($user_fout ? "<li/>Ongeldige gebruikersnaam" : "");
echo ($username_fout ? "<li/>Deze gebruikersnaam wordt al gebruikt" : "");
ShowForm($_POST['voorletter'], $_POST['tussenvoegsel'], $_POST['naam'], $_POST['straat'],$_POST['huisnr'], $_POST['postcode'],$_POST['woonplaats'], $_POST['tel'], $_POST['email'], $_POST['user']);
}
else//als alles goed is stuur naar database
{
upload();
}
}
function upload()
{// Wachtwoord generator vi password()
$wachtwoord=password();
$ww=md5($wachtwoord);
$voorletter= $_POST["voorletter"];
$tussenvoegsel=$_POST["tussenvoegsel"];
$naam= $_POST["naam"];
$straat= $_POST["straat"];
$huisnr=$_POST["huisnr"];
$postcode= $_POST["postcode"];
$woonplaats= $_POST["woonplaats"];
$tel= $_POST["tel"];
$email= $_POST["email"];
$user= $_POST["user"];
$mail_list=$_POST["mail_list"];
//maak verbinding
require_once('ooievaar.php');
////Schrijf gegevens naar database
$sql = "INSERT INTO Klanten (voorletter, tussenvoegsel, naam, straat,huisnr, postcode, woonplaats, tel, email, user, mail_list, wachtwoord) VALUES ('$voorletter','$tussenvoegsel',' $naam','$straat','$huisnr', '$postcode', ' $woonplaats', '$tel', '$email', '$user','$mail_list', '$ww')";
if (!mysql_query($sql))
{
//Als schrijven naar database is mislukt
echo "Het opsturen van uw gegevens is mislukt";
}
else //Schrijven naar database is gelukt stuur een email ter bevestiging
{
$onderwerp = "Registratie OOIEVAARSSERVICE.nl\n";
$bericht = "U heeft bij Ooievaarsservice.nl geregistreerd.\n
Uw usernaam = "."$user"."\n
Uw wachtwoord = "."$wachtwoord";
$mail = mail($_POST['email'], $onderwerp, $bericht, "FROM:[email protected] \r\n");
if($mail)
echo("Email succesvol verzonden!");
else
echo("Emailen mislukt!");
}
mysql_close($db);
}
//De wachtwoordgenerator
function password()
{
$Password='';
mt_srand((double)microtime()*1000000);
$Password.=substr("bcdfghjklmnpqrstvwxz",mt_rand(0,18),1);
$Password.=substr("aeuy",mt_rand(0,3),1);
$Password.=substr("bcdfghjklmnpqrstvwxz",mt_rand(0,18),1);
$Password.=substr("!#*&",mt_rand(0,4),1);
$Password.=substr("bcdfghjklmnpqrstvwxz",mt_rand(0,18),1);
$Password.=substr("aeuy",mt_rand(0,3),1);
$Password.=substr("bcdfghjklmnpqrstvwxz",mt_rand(0,18),1);
$Password.=substr("23456789",mt_rand(0,7),1);
return $Password;
}
?>
800 views