Zoals beloofd een leden systeem voor in het scriptlib.
Als het goed gekeurd is zet ik het in het scriptlib.



info:
- Niet oop
- Gebruik van phpmailer
- eerste deel (ik ben nog bezig aan de uitbreiding)


Check van het eerste deel:

Update

1 tabel van de db:

CREATE TABLE IF NOT EXISTS `leden` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `voornaam` varchar(32) DEFAULT NULL,
  `achternaam` varchar(32) DEFAULT NULL,
  `email` varchar(30) DEFAULT NULL,
  `wachtwoord` varchar(250) NOT NULL,
  `ip` varchar(20) NOT NULL,
  `activatiecode` varchar(10) NOT NULL,
  `datum_registratie` datetime NOT NULL,
  `activatie` int(11) NOT NULL,
  `functie` int(2) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;


config.php

<?php
###############################################
#                                             #
#		--- SILYON - CONFIG ---        	      #
#                                             #
#		Author: Jasper De Smet				  #
#		Email: [email protected]        #
#		Website: www.jasperdesmet.be          # 
#		Last edited: 20 November 2010         #
#		Version: 3.0                          #
#                                             #
###############################################

# Algemene info
$naam_site 						= 'inlogstysteem php-hulp'; 							// titel van site
$activatiecodelengte			= 10; 													// lengte van de activatiecode

# DB connectie - gegevens
$mysql['host'] 				= "localhost";								// host
$mysql['gebruikersnaam'] 	= "";								// gebruikersnaam
$mysql['wachtwoord'] 		= "";								// wachtwoord
$mysql['database'] 			= "";						// database


# errors weergeven - SQL
define('DEBUG_MODE',true);  // true == aan, false == uit

# errors weergeven - SQL - functie: error
function showSQLError($sql,$error) 
{
    echo  '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
	
# DB connectie - verbinding
if((mysql_connect($mysql['host'],$mysql['gebruikersnaam'],$mysql['wachtwoord'])) === false )
{
	echo 'Kon geen contact maken met de database! Neem aub. Contact op met de webmaster!';	
}
else
{
	if((mysql_select_db($mysql['database'])) === false)
	{
		echo 'Kon de database niet selecteren! Neem aub. Contact op met de webmaster!';
	}
}

# DB connectie - Zet tijd naar nl
$sql_set_time = "SET lc_time_names = 'nl_NL'";

# Functies
/*
**CHECK Mail functie gaat eruit
*/

	# Functies - check mail
	function checkemail($email)
	{
		// Kijk of er een @ in zit, zo nee false
		if(!stristr($email, '@'))
		{
			return false;
		}
		$email_split = explode("@", $email);
		// Er mag slecht één @ inzitten dus het array moet 2 records tellen
		if(count($email_split) != 2)
		{
			return false;
		}
		$email_user = $email_split[0];
		$email_host = $email_split[1];
		// Kijk of er MX-servers zijn, zo nee false
		if(!getmxrr($email_host, $var))
		{
			return false;
		}
		// Kijk of het usergedeelte okee is, zo nee false
		if(!preg_match("/^[0-9a-z]([-_.~]?[0-9a-z])*$/", $email_user))
		{
			return false;
		}
		return true;
	}
/*
** EINDE MAIL FUNCTIE
** - - - - - - - - - 
*/

# Functies - activatiecode
function activatiecode($lengte) 
{
	$activatie = "";
	mt_srand ((double) microtime() * 1000000);
	while (strlen($activatie) < $lengte) 
	{
		$kiezen = chr(mt_rand (0,255));
		if (eregi("^[a-zA-Z0-9]$", $kiezen)) $activatie = $activatie.$kiezen;
	}
	return ($activatie);
} 				
?>


inloggen.php

<?php
###############################################
#                                             #
#			-- INLOGGEN  ---        		  #
#       									  #
#		Author: Jasper De Smet				  #
#		Email: [email protected]        #
#		Website: www.jasperdesmet.be          # 
#		Last edited:                          #
#		Version: 1.0                          #
#											  #
#		Voor php-hulp : vrij gebruik		  #
#                                             #
###############################################

# errors weergeven - algemeen
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

# include config
include 'config.php';

# Session start zodat we kunnen zien of een gebruiker ingelogged is.
session_start();


# Verwerking van het inlog formulier
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
	# We maken het wachtwoord hiet al aan zodat we niet te lange rijen code hebben in onze query
	$wachtwoord = sha1(mysql_real_escape_string($_POST['wachtwoord']));
	
	# Dit is de query om te checken of het email adres en het wachtwoord bij elkaar horen en de gegevens uit de database halen (Query1)
	$sql_get_leden = 	"SELECT  id, 
								 voornaam, 
								 wachtwoord, 
								 email,
								 functie
						 FROM leden
						 WHERE email='".mysql_real_escape_string($_POST['email'])."'
						 AND wachtwoord='".$wachtwoord."'
						 AND activatie ='1'
						";

	#  Check Query1		
	if (($result_get_leden = mysql_query($sql_get_leden)) === false) 
	{
		# als de query fout is -> foutafhandeling
		$inloggen = 'Inloggen is (tijdelijk) niet mogelijk.';
															
		# geef de error via de functie (de functie vind u in het config bestand)
		if (DEBUG_MODE) 
		{
			showSQLError($sql_get_leden,mysql_error());
															   
		} 
	}
	else 
	{
		# Query 1 is gelukt
		
		# We tellen of er één (1) rij is met het wachtwoord EN het email adres
		if(($tel = mysql_num_rows($result_get_leden)) == 1)
		{
			# Er is 1 rij!
			
			# We sturen de gebruiker naar de beveiligde pagina
			header('Location: ingelogged/index.php ');
			
			# We fetchen de Query
			$res = mysql_fetch_assoc($result_get_leden);
			
			# We stellen de Sessions in om de gebuiker te indentificeren.
			$_SESSION['voornaam'] = $res['voornaam']; 
			$_SESSION['leden_id'] = $res['id'];
		}
		else
		{
			# Er is geen (0) rij met het wachtwoord EN het email adres
			$inloggen = 'verkeerde inlog gegevens';
		}
	}
}	
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inloggen</title>
</head>

<body>	
	<form method="post" action="" name="form1">
		Email:                        
		<br />
		<input type="text" name="email" id="email" />
		<br />
		<br />
		Wachtwoord:                        
		<br />
		<input type="password" name="wachtwoord" id="wachtwoord" />
		<br />
		<br />
		<input type="submit" name="submit" value="Login" class="button" >
	</form>
		<?php
			if(isset($inloggen))
			{
				echo $inloggen;
			}
		?>
</body>
</html>


registreren.php

<?php

###############################################
#                                             #
#			-- REGISTREREN ---        		  #
#       									  #
#		Author: Jasper De Smet				  #
#		Email: [email protected]        #
#		Website: www.jasperdesmet.be          # 
#		Last edited:                          #
#		Version: 1.0                          #
#											  #
#		Voor php-hulp : vrij gebruik		  #
#                                             #
###############################################

# include config
include 'config.php';

# errors weergeven - algemeen
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

# Session start zodat we kunnen zien of een gebruiker ingelogged is.
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registreren</title>
</head>
<body>	
	<?php
		# Kijk of er gepost is
		if($_SERVER['REQUEST_METHOD'] == 'POST')
		{
			# Query om te checken of gebruikersnaam, email adres al bestaat.
			$sql_get_leden = 	"SELECT id
								 FROM leden
								 WHERE email='".mysql_real_escape_string($_POST['email'])."'
								";
												
			# Query om te checken of ip adres al bestaat.					
			$sql_get_ip = 	"SELECT id
							 FROM leden
							 WHERE ip='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'
							";
									
			#  Check query's		
			if (($result_get_leden = mysql_query($sql_get_leden)) === false || ($result_get_ip = mysql_query($sql_get_ip)) === false) 
			{
				// als de query fout is -> foutafhandeling
				echo 'Registreren is (tijdelijk) niet mogelijk.';
							
				// geef de error via de functie (config bestand.)
				if (DEBUG_MODE) 
				{
					showSQLError($sql_get_leden,mysql_error());
					showSQLError($sql_get_ip,mysql_error());
				} 
			}
			else
			{
				/* 	
					Deze else moet het volledige registratie formulier omvatten
					Anders kunnen er, als er een fout is met de query dubbele mail adressen gebruikt worden!
				*/
					
				# we maken een array voor de errors.	
				$error = array();
					
				# Tel of er al een gebruiker bestaat met email
				if(mysql_num_rows($result_get_leden) == 1)  
				{
					$error[] = 'Er bestaat al een gebruiker met dit email adres';
				}
								
				# Tel of er al een gebruiker bestaat met ip
				if(mysql_num_rows($result_get_ip) == 1)  
				{
					$error[] = 'Er bestaat al een gebruiker met dit ip adres';
				}
								
				# wachtwoord ingevuld?
				if(strlen($_POST['wachtwoord']) < 5)  
				{
					$error[] = 'U hebt geen geldig wachtwoord ingevuld. Een wachtwoord moet minstens 5 tekens lang zijn.';
				}
								
				# wachtwoord gelijk aan wachtwoord2?
				if($_POST['wachtwoord'] != $_POST['wachtwoord2'])  
				{
					$error[] = 'U wachtwoorden zijn niet gelijk';
				}
								
				# voornaam ingevuld?
				if(strlen($_POST['voornaam']) < 3)  
				{
					$error[] = 'U hebt geen geldige voornaam ingevuld. Een voornaam moet minstens 3 tekens lang zijn';
				}
								
				# achternaam ingevuld?
				if(strlen($_POST['achternaam']) < 3)  
				{
					$error[] = 'U hebt geen geldige achternaam ingevuld. Een achternaam moet minstens 3 tekens lang zijn';
				}
								
								
				if(!checkemail($_POST['email'])) 
				{
					$error[] = 'U hebt geen geldig e-mailadres ingevuld.';
				}
									
				# Tel de fouten en weergeef ze indien nodig
				$fouten = count($error); // aantal errors tellen
				if($fouten != 0) 
				{ 
					echo 'Uw account kon niet worden aangemaakt omwille van de volgende reden(en):';
					echo '<ul>';
					for($i = 0; $i < $fouten; $i++) 
					{
						echo '<li>'.$error[$i].'</li>';
					}
					echo '</ul>';
				}
				else
				{
					# Alles voldoet aan de voorwaarden!	
					# Stuur een mail zodat ze hun acc kunnen activeren + gegevens in database
					
					# genereer een activatiecode, de lenge is te vinden in de config
					$code = activatiecode($activatiecodelengte); 
					
					# Query voor de gebruiker in de tabel te zetten
					$sql_insert_leden = 	"INSERT INTO leden
											 VALUES     ( '',
														 '".mysql_real_escape_string($_POST['voornaam'])."',
														 '".mysql_real_escape_string($_POST['achternaam'])."',
														 '".mysql_real_escape_string($_POST['email'])."',
														 '".mysql_real_escape_string(sha1($_POST['wachtwoord']))."',
														 '".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."',
														 '".$code."',
														 NOW(),
														 '0',
														 '1'	
														) 	
												";

					//  Check query		
					if (($result_insert_leden = mysql_query($sql_insert_leden)) === false) 
					{
						// als de query fout is -> foutafhandeling
						echo 'registreren is (tijdelijk) niet mogelijk.';
										
						// geef de error via de functie (bovenaan script)
						if (DEBUG_MODE) 
						{
								showSQLError($sql_insert_leden,mysql_error());
										   
						} 
					}
					else
					{
							# Stuur de mail
							
							# gegevens voor het versturen van een mail: volg de instructies
							require("class.phpmailer.php");
							$mail = new PHPMailer();$mail = new PHPMailer();
							$mail->IsSMTP(); // Laat PHPMailer gebruik maken van een smtp server.
							$mail->Host = "mail.jasperdesmet.be"; // SMTP server van uw Hosting Partner
							$mail->SMTPAuth = true;
							$mail->Username = ''; // Een geldig emailadres wat aangemaakt is bij uw Hosting Partner
							$mail->Password = ''; // Het wachtwoord wat bij het emailadres hoort
							$mail->From=""; // email adres dat moet weergeven worden
							$mail->FromName="Inlogsysteem php hulp"; // naam dat moet worden weergeven.
							$mail->Sender=""; // Header voor return
							$mail->AddAddress($_POST['email']); // Het emailadres waar naar toe hij verzonden moet worden 
							$mail->Subject = "Activatie op ".$naam_site."";
							$mail->IsHTML(true); //Opmaak van de email is in HTML
							
							# Html mail
							$mail->Body =
							"<h1>Activatie op ".$naam_site."</h1>
							 <p>Beste ".$_POST['voornaam']." ".$_POST['achternaam'].",<br/>
							 <br/>
							 Uw gegevens voor een activatie op <a href=\"http://www.jasperdesmet.be/php_hulp/inlogsysteem/inloggen.php\">www.inlogsysteem-phphulp.be</a>:<br/><br/>
														
							 Gebruik uw email-adres en de activatie code voor de handmatige activatie van uw account,<br/>
							 als u dat heeft gedaan kan u inloggen met uw e-mail adres en passwoord.
														
							 <table border=\"1\">
							 <tr><td>Voornaam</td><td>".$_POST['voornaam']."</td>
							 <tr><td>Achternaam</td><td>".$_POST['achternaam']."</td>
							 <tr><td>Email</td><td>".$_POST['email']."</td>
							 <tr><td>activatiecode</td><td>".$code."</td>
							 <tr><td>Passwoord</td><td>".$_POST['wachtwoord']."</td>
							 </table><br/>
							 <a href=\"http://www.jasperdesmet.be/php_hulp/inlogsysteem/activatie.php?email=".$_POST['email']."&amp;code=".$code."\">Klik hier voor een automatische activatie</a> </p>
							 <p>Met vriendelijke groeten<br/>
							 <br/>
							 <i>(Indien u deze mail niet gewenst heeft gelieve hem dan te negeren)</i></p>
							";
							
							# Als er geen html word ondersteund word dit weergeven		
							$mail->AltBody =
							"<h1>Activatie op ".$naam_site."</h1>
							 <p>Beste ".$_POST['voornaam']." ".$_POST['achternaam'].",<br/>
							 <br/>
							 Uw gegevens voor een activatie op <a href=\"http://www.jasperdesmet.be/php_hulp/inlogsysteem/inloggen.php\">www.inlogsysteem-phphulp.be</a>:<br/><br/>
														
							 Gebruik uw email-adres en de activatie code voor de handmatige activatie van uw account,<br/>
							 als u dat heeft gedaan kan u inloggen met uw e-mail adres en passwoord.
														
							 <table border=\"1\">
							 <tr><td>Voornaam</td><td>".$_POST['voornaam']."</td>
							 <tr><td>Achternaam</td><td>".$_POST['achternaam']."</td>
							 <tr><td>Email</td><td>".$_POST['email']."</td>
							 <tr><td>activatiecode</td><td>".$code."</td>
							 <tr><td>Passwoord</td><td>".$_POST['wachtwoord']."</td>
							 </table><br/>
							 <a href=\"http://www.jasperdesmet.be/php_hulp/inlogsysteem/activatie.php?email=".$_POST['email']."&amp;code=".$code."\">Klik hier voor een automatische activatie</a> </p>
							 <p>Met vriendelijke groeten<br/>
							 <br/>
							 <i>(Indien u deze mail niet gewenst heeft gelieve hem dan te negeren)</i></p>
							";
							
						# De laatste stap is de mail verzenden en controleren of het is gelukt.
						if($mail->Send())
						{
							# De mail is verzonden!
							echo 'Het bericht is verzonden';
						}
						else
						{
							# Er ging iets mis
							echo 'er ging iets mis met het verzenden van het bericht neem contact op met de website beheerder.';
						}	
					}				
				}
			}	
		}
	?>					
	<p>  
		<form method="post" action="" name="">
			Voornaam:<br/>
			<input type="text" name="voornaam" id="voornaam" value="<?php echo $_POST['voornaam']; ?>" />
			<br/>
			<br/>
			Achternaam:<br/>
			<input type="text" name="achternaam" id="achternaam" value="<?php echo $_POST['achternaam']; ?>" />
			<br/>
			<br/>
			Wachtwoord:                        
			<br/>
			<input type="password" name="wachtwoord" id="wachtwoord" />
			<br/>
			<br/>
			Wachtwoord Controle: <br/>
			<input type="password" name="wachtwoord2" id="wachtwoord2"  />
			<br/>
			<br/>
			E-mail:<br/>
			<input type="text" name="email" id="email" value="<?php echo $_POST['email']; ?>" />
			<br />
			<br/>
			<input type="submit" name="submit" value="registreer" class="button" >
		</form>	
	</p>
</body>
</html>


activatie.php

<?php
###############################################
#                                             #
#			-- ACTIVEREN ---        		  #
#       									  #
#		Author: Jasper De Smet				  #
#		Email: [email protected]        #
#		Website: www.jasperdesmet.be          # 
#		Last edited:                          #
#		Version: 1.0                          #
#											  #
#		Voor php-hulp : vrij gebruik		  #
#                                             #
###############################################

# include config
include 'config.php';

# errors weergeven - algemeen
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

# Session start zodat we kunnen zien of een gebruiker ingelogged is.
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registreren</title>
</head>
<body>	
	<?php
	#  - - - - - - - - - - - - - - - - - - VOOR MENSEN DIE MET DE LINK REGISTREREN - - - - - - - - - - - - - - - - - -
	if(isset($_GET['email']) && isset($_GET['code']))
	{
		# Query om te checken of email en code overeenkomen (tabel activatie).
		$sql_get_leden = 	"SELECT id, email, wachtwoord, voornaam, achternaam, ip
							 FROM leden
							 WHERE email = 	'".mysql_real_escape_string($_GET['email'])."'	
							 AND activatiecode = '".mysql_real_escape_string($_GET['code'])."'
							 AND activatie = '0'
							";

		//  Check query		
		if (($result_get_leden = mysql_query($sql_get_leden)) === false) 
		{
			// als de query fout is -> foutafhandeling
			echo 'Activeren is (tijdelijk) niet mogelijk.';
			
			// geef de error via de functie (bovenaan script)
			if (DEBUG_MODE) 
			{
			   showSQLError($sql_get_leden,mysql_error());
			} 
		}
		else
		{
			if(mysql_num_rows($result_get_leden) == 1)
			{
			
				# Activatie gevens zijn correct : voer een query uit!
				
				$result_leden = mysql_fetch_assoc($result_get_leden);

				# Querys om de gegevens uit de tabel activatie te verwijderen en in de tabel leden te zetten.
				
				#Query 1 - INSERT INTO leden
				
				$sql_update_leden = 	"UPDATE leden
										 SET activatie = '1'
										 WHERE id= '".$result_leden['id']."'
										";
				
				//  Check query		
				if (($result_update_leden = mysql_query($sql_update_leden)) === false ) 
				{
					// als de query fout is -> foutafhandeling
					echo 'registreren is (tijdelijk) niet mogelijk.';
					
					// geef de error via de functie (bovenaan script)
					if (DEBUG_MODE) 
					{
					   showSQLError($sql_update_leden,mysql_error());
					} 
				}
				else
				{
					header('Location: inloggen.php');
				}
			}
			else
			{
				# Gegevens zijn niet correct, geef foutmelding
				echo 'Uw gegevens zijn niet correct';
			}
		}	
	} 




	#  - - - - - - - - - - - - - - - - - - VOOR MENSEN DIE ZONDER DE LINK REGISTREREN - - - - - - - - - - - - - - - - - -
	if($_SERVER['REQUEST_METHOD'] == 'POST')
	{
		# Query om te checken of email en code overeenkomen (tabel activatie).
		$sql_get_leden = 	"SELECT id, email, wachtwoord, voornaam, achternaam, ip
							 FROM leden
							 WHERE email = 	'".mysql_real_escape_string($_POST['email'])."'	
							 AND activatiecode = '".mysql_real_escape_string($_POST['code'])."'
							 AND activatie = '0'
							";

		//  Check query		
		if (($result_get_leden = mysql_query($sql_get_leden)) === false) 
		{
			// als de query fout is -> foutafhandeling
			echo 'Activeren is (tijdelijk) niet mogelijk.';
			
			// geef de error via de functie (bovenaan script)
			if (DEBUG_MODE) 
			{
			   showSQLError($sql_get_leden,mysql_error());
			} 
		}
		else
		{
			if(mysql_num_rows($result_get_leden) == 1)
			{
			
				# Activatie gevens zijn correct : voer een query uit!
				
				$result_leden = mysql_fetch_assoc($result_get_leden);

				# Querys om de gegevens uit de tabel activatie te verwijderen en in de tabel leden te zetten.
				
				#Query 1 - INSERT INTO leden
				
				$sql_update_leden = 	"UPDATE leden
										 SET activatie = '1'
										 WHERE id= '".$result_leden['id']."'
										";
				
				//  Check query		
				if (($result_update_leden = mysql_query($sql_update_leden)) === false ) 
				{
					// als de query fout is -> foutafhandeling
					echo 'registreren is (tijdelijk) niet mogelijk.';
					
					// geef de error via de functie (bovenaan script)
					if (DEBUG_MODE) 
					{
					   showSQLError($sql_update_leden,mysql_error());
					} 
				}
				else
				{
					header('Location: inloggen.php');
				}
			}
			else
			{
				# Gegevens zijn niet correct, geef foutmelding
				echo 'Uw gegevens zijn niet correct';
			}
		}	
	}


	?>
	<form name="form1" method="post" action="">
		Voer de activatiecode en je gebruikersnaam die je in het e-mailbericht hebt ontvangen in. Heb je geen mail ontvangen? Klik dan <a href="send_again.php">hier</a>. <br/>
		Email:<br/>
		<input name="email" type="text" id="email" size="35"><br/>
		Activatiecode:<br/>
		<input name="code" type="text" id="code" size="<?php echo $activatiecodelengte;?>" maxlength="<?php echo $activatiecodelengte;?>"><br/>
		<input type="submit" name="Submit" id="Submit" value="Activeren"><br/>
	</form>
<body>
</html>	


Update log:
de meeste fouten moeten er nu wel uit zijn?
- eregi is noh niet aangepast!


Na eventuele aanpassingen en een goedkeuring van de harde kern van php hulp (ik kijk naar karl, santhe, niels, jelmer, kris peeters,..)
Zal dit in het scriptlib komen. (dit is deel 1, deel 2 volgt)

owja nog vergeten: voorbeeld via pm omdat ik anders weer in google sta. (voorbeeld staat op mijn domein)
Als ik jou was zou ik de leden attributen als extra optie doen, dat een ervaren PHP-er de tabel-info zelf bij de database kan invoegen maar dat het script er verder wel los bij te downloaden is...
UPDATE - beginpost
Laat maar, onzinnige post, delete maar :P
Nog iemand commentaar?
- je functie activatiecode() maakt gebruik van eregi dit is verouderd. Kijk eens naar ctype_alnum(), die is in dit geval goed te gebruiken.
- Je manier van commentaar is niet overal hetzelfde. Je gebruikt soms // terwijl je voor het merendeel # gebruikt.
- Ik heb op minimaal 1 plek het gebruik van header() binnen de body tags gezien.
- Je echoed nog steeds op een paar plaatsen boven je HTML
- Je controle op $_POST['voornaam'] en $_POST['achternaam'] is brak. Ik kan dus bijvoorbeeld niet Jo heten en @#%(@%#*@% is wel een geldige naam?

Er zullen vast nog wel meer foutjes in zitten.

Reageren