Hallo allemaal,
Ik heb een registratie formulier gemaakt maar hij geeft een foutmelding weer.
Hij geeft telkens aan dat ik een juiste gebruikersnaam moet invullen. Alleen ik snap niet precies wat ik heb fout gedaan.
<?php
require('client.inc.php');
//We are only showing landing page to users who are not logged in.
if($thisclient && is_object($thisclient) && $thisclient->isValid()) {
require('tickets.php');
exit;
}
require(CLIENTINC_DIR.'header.inc.php');
?>
<?php
// Verbinding maken met de database.
require_once 'includes/connectdb.php';
// Controleren of er gegevens verstuurd zijn naar deze pagina.
if ($_SERVER ['REQUEST_METHOD'] == 'POST' && isset ( $_POST ['email'], $_POST ['username'], $_POST ['wachtwoord'], $_POST ['wachtwoordcheck'] )) {
// We gaan de errors in een array bijhouden.
$aErrors = array ();
// Controleren op een geldige username.
if ( !isset($_POST['username'])
or !preg_match( '~^[-]{2,}$~', $_POST['username'] )
or trim($_POST['username']) == ''
)
{
$aErrors['username'] = 'Vul een geldige naam in.';
}
// Het e-mailadres controleren.
if (! isset ( $_POST ['email'] ) or ! preg_match ( '~^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$~i', $_POST ['email'] )) {
$aErrors ['email'] = 'Vul een geldig emailadres in.';
}
// Een wachtwoord moet minimaal uit 6 tekens bestaan, uit één hoofdletter,
// één kleine letter, één cijfer en één ander teken bestaan.
if (! isset ( $_POST ['wachtwoord'] ) or ! preg_match ( '~^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[A-Za-z0-9]*[^A-Za-z0-9])\S{6,}$~', $_POST ['wachtwoord'] )) {
$aErrors ['wachtwoord'] = 'Het wachtwoord moet uit minimaal 6 tekens bestaan en één hoofdletter, één kleine letter, één cijfer en één ander teken bestaan.';
}
// Controleren of de wachtwoorden overeen komen.
if (! isset ( $_POST ['wachtwoordcheck'] ) or $_POST ['wachtwoordcheck'] != $_POST ['wachtwoord']) {
$aErrors ['wachtwoord'] = 'De opgegeven wachtwoorden komen niet overeen.';
}
/*
* Hier vragen we eerst de geregistreerde email-adressen op uit de database.
* Deze zetten we vervolgens in een array ($check[]). Op deze manier kun je
* met de functie in_array controleren of het ingevoerde email-adres al
* voorkomt in de array en dus ook in de database ;)
*/
$sql = "SELECT email FROM ost_leden";
$result = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $result ) ) {
$check [] = $row ['email'];
}
if (in_array ( $_POST ['email'], $check )) {
$aErrors ['email'] = 'Dit email-adres is al geregistreerd.';
}
if (count ( $aErrors ) == 0) {
// Formulier is goed ingevuld, dus nu gooien we de gegevens in de
// database
// Let op, dat het wachtwoord gecodeerd wordt met de functie 'sha1'. In
// het loginscript wordt deze weer gedecodeerd met dezelfde functie.
$email = $_POST ['email'];
$wachtwoord = sha1 ( $_POST ['wachtwoord'] );
$sql = "INSERT INTO ost_leden
(email, wachtwoord)
VALUES
('" . $email . "', '" . $wachtwoord . "')";
$result = mysql_query ( $sql );
// SUCCESVOL GEREGISTREERDE GEBRUIKER METEEN INGELOGD MET SESSION
// INLOGPAGINA MAKEN
// Volgende pagina
exit ();
}
}
/**
* **********************************************************************************************************
* FORMULIER GEDEELTE
* **********************************************************************************************************
*/
?>
<?php
// Header includen.
require_once 'includes/header.php';
?>
<html>
<center>
<body>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post"
class="cmxform">
<?php
if (isset ( $aErrors ) and count ( $aErrors ) > 0) {
print '<ul class="errorlist">';
foreach ( $aErrors as $error ) {
print '<li>' . $error . '</li>';
}
print '</ul>';
}
?>
<h1>Registreren</h1>
<br/>
<table>
<tr>
<td>
<?php echo isset($aErrors['email']) ? '<li class="error">' : '<li>'?>
<label for="email">E-mail:</label>
</td>
<td>
<input id="email" name="email"
value="<?php echo isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>" />
</td>
</tr>
<tr>
<td>
<?php echo isset($aErrors['username']) ? '<li class="error">' : '<li>'?>
<label for="username">Gebruiker:</label>
</td>
<td>
<input id="username" name="username"
value="<?php echo isset($_POST['username']) ? htmlspecialchars($_POST['username']) : '' ?>" />
</td>
</tr>
<tr>
<td>
<?php echo isset($aErrors['wachtwoord']) ? '<li class="error">' : '<li>'?>
<label for="wachtwoord">Pass:</label>
</td>
<td>
<input type="password" id="wachtwoord" name="wachtwoord"
value="<?php echo isset($_POST['wachtwoord']) ? htmlspecialchars($_POST['wachtwoord']) : '' ?>" />
</td>
</tr>
<tr>
<td>
<?php echo isset($aErrors['wachtwoordcheck']) ? '<li class="error">' : '<li>'?>
<label for="wachtwoordcheck">Herhaal Pass:</label>
</td>
<td>
<input type="password" id="wachtwoordcheck" name="wachtwoordcheck"
value="<?php echo isset($_POST['wachtwoordcheck']) ? htmlspecialchars($_POST['wachtwoordcheck']) : '' ?>" />
</td>
</tr>
</table>
<input type="submit" value="Registreren" />
</form>
</body>
</center>
</html>
<?require(CLIENTINC_DIR.'footer.inc.php'); ?>
1.327 views