Ik ben sinds gister begonnen met het leren van PHP en loop nu al tegen een probleem aan, die ik nog niet zelf kan oplossen. Het probleem is dat mijn registratieformulier steeds de melding geeft dat niet alle velden ingevuld zijn, al zijn ze dit wel.
Ik heb een half uur naar mijn code zitten staren, maar kon niet vinden waar de fout zat. Ik denk dan ook dat het iets kleins is, wat nogal moeilijk vindbaar is.
De registratie gebeurt volledig op mijn home pagina (index.php).
Graag hoor ik jullie advies.
Alvast bedankt.
<?php
include("inc/header.inc.php");
?>
<?php
$reg = @$_POST['reg'];
// declaring variables to prevent errors
$fn = ""; //voornaam
$ln = ""; //achternaam
$un = ""; //gebruikersnaam
$em = ""; //Email
$em2 = ""; //Email 2
$pswd = ""; //Wachtwoord
$pswd2 = ""; //Wachtwoord 2
$d = ""; // Aanmeld datum
$u_check = ""; //controleren of gebruikersnaam bestaat
//registratie formulier
$fn = strip_tags(@$POST['fname']);
$ln = strip_tags(@$POST['lname']);
$un = strip_tags(@$POST['username']);
$em = strip_tags(@$POST['email']);
$em2 = strip_tags(@$POST['email2']);
$pswd = strip_tags(@$POST['password']);
$pswd2 = strip_tags(@$POST['password2']);
$d = date("d-m-Y");
if ($reg) {
if ($em == $em2) {
// controleren of gebruiker al bestaat
$u_check = mysql_query("SELECT username FROM users WHERE username='$un'");
// tel het aantal regels waar gebruikersnaam = $un
$check = mysql_num_rows($u_check);
if ($check == 0) {
// controleer of alle velden ingevuld zijn
if ($fn && $ln && $un && $em && $em2 && $pswd && $pswd2) {
// controleer of de wachtwoorden overeenkomen
if ($pswd == $pswd2) {
// controleer of de maximum lengte van gebruikersnaam/voornaam/achternaam niet meer dan 25 tekens bevat
if (strlen($un) > 25 || strlen($fn) > 25 || strlen($ln) > 25) {
echo "Het maximale limiet voor de gebruikersnaam/voornaam/achternaam is 25 tekens";
} else {
//Controleer of de maximale lengte van het wachtwoord niet meer dan 30 tekens is en niet minder dan 5 karakters.
if (strlen($pswd) > 30 || strlen($pswd) < 5) {
echo "Uw wachtwoord moet tussen de 5 en 30 tekens langs zijn!";
} else {
//encrypt wachtwoord en wachtwoord 2 voordat ze naar de database gestuurd worden
$salt = "?ZdAJsr_3bppTE-pNYTq^XD";
$pepper = "UqwJnAMrZB$_=54GGGhHDpUiUhlNbaowWerdVBX048eZDH!@&m#&*#CZ6B&6";
$pswd = sha1(md5(sha1($salt . $pswd . $pepper)));
$pswd2 = sha1(md5(sha1($salt . $pswd2 . $pepper)));
$query = mysql_query("INSERT INTO users VALUES('','$un','$fn','$ln','$em','$pswd','$d','0')");
echo "<h2>Welkom op Socialia</h2>. Login om te beginnen ...";
}
}
} else {
echo "Uw wachtwoorden komen niet overeen";
}
} else {
echo "Niet alle velden zijn ingevuld";
}
} else {
echo "Gebruikersnaam wordt al gebruikt...";
}
} else {
echo "Uw emailadressen komen niet overeen!";
}
}
?>
<div id="join">
<h2>Join ... vandaag nog!</h2>
</div>
<div id="signup">
<h2>Meld je aan!</h2>
<form action="#" method="POST">
<table>
<tr>
<td><input type="text" name="fname" size="25" placeholder="Voornaam" /></td>
</tr>
<tr>
<td><input type="text" name="lname" size="25" placeholder="Achternaam" /></td>
</tr>
<tr>
<td><input type="text" name="username " size="25" placeholder="Gebruikersnaam" /></td>
</tr>
<tr>
<td><input type="text" name="email" size="25" placeholder="Emailadres" /></td>
</tr>
<tr>
<td><input type="text" name="email2" size="25" placeholder="Emailadres (controle)" /></td>
</tr>
<tr>
<td><input type="password" name="password" size="25" placeholder="Wachtwoord" /></td>
</tr>
<tr>
<td><input type="password" name="password2" size="25" placeholder="Wachtwoord (controle)" /></td>
</tr>
<tr>
<td><input type="submit" name="reg" value="Aanmelden" /></td>
</tr>
</table>
</form>
</div>