hoi iedereen,
heb een paar kleine foutje waar ik na 2 dagen debuggen nog steeds uit kom.
dit zijn de warnings die ik krijg:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\8.5\root\bsw\login\index.php on line 55
Warning: mysql_query() expects parameter 1 to be string, resource given in E:\8.5\root\bsw\login\index.php on line 62
Warning: mysql_affected_rows(): 4 is not a valid MySQL-Link resource in E:\8.5\root\bsw\login\index.php on line 68
<?php
include ('../include/config.php');
// debugger
# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',false); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
if (isset($_POST['formsubmitted'])) {
$error = array(); // maak een array voor error opslag
// naam
if (!isset($_POST['name'])) { // wanneer er geen naam is ingevoerd
$error[] = 'Voer een naam in aub. '; // voeg toe aan array errors
} else {
$name =mysql_real_escape_string($_POST['name']); //wanneer een naam is ingevuld koppel deze aan een variabele
}
//email
if (!isset($_POST['e-mail'])) {
$error[] = 'voer uw email in aub. '; // voeg toe aan array errors
} else {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", // controle op tekens in het email adres.
$_POST['e-mail'])) {
$Email = mysql_real_escape_string($_POST['e-mail']);
} else {
$error[] = 'uw email adres is ongeldig.';
}
}
// password
if (!isset($_POST['password'])) {
$error[] = 'vul aub uw wachtwoord in.';
} else {
if(!isset($_POST['password1'])){
$error[]='herhaal uw wachtwoord aub.';
}else{
if($_POST['password']== $_POST['password1']){
$Password = md5(mysql_real_escape_string($_POST['password']));
} else {
$error[]=' Wachtwoorden komen niet overeen.';
}
}
}
if (empty($error)){ //wanneer er geen errors zijn gaat dit naar de database
// controle of email adres niet al in gebruik is.
$query_verify_email = "SELECT * FROM members WHERE Email =".$Email;
$result_verify_email = mysql_query($query_verify_email);
//als de query mislukt ,vergelijkbaar met: if($result_verify_email==false)
if ($result_verify_email) {
echo ' er heeft een fout plaatsgevonden in de database ';
}
// als het email adres nog niet geregistreerd is .
if (mysql_num_rows(mysql_query($result_verify_email) == 0) {
// Creeƫr een unieke activatie code
$activation = md5(uniqid(rand(), true));
$query_insert_user ="INSERT INTO `members` ( `Username`, `Email`, `Password`, `Activation`) VALUES ( '$name', '$Email', '$Password', '$activation')";
$result_insert_user = mysql_query($query_insert_user);
if (!$result_insert_user) {
echo 'Registreren mislukt excusses voor de overlast.';
}
//als de query gelukt is.
if (mysql_affected_rows($link) == 1) {
// verstuur de email:
$message = " Om uw account te activeren klik alstublieft op deze link:\n\n";
$message .= WEBSITE_URL . '/activate.php?email=' . urlencode($Email) . "&key=$activation";
mail($Email, 'Registration Confirmation', $message, 'From:'.EMAIL);
// Flush the buffered output.
// maak deze pagina compleet:
echo '<div class="success">Bedankt voor het registreren. Een conformatie email is verzondern naar ' . $Email .' klik alstublieft op de link in de email om uw account te activeren</div>';
} else {
//als t niet goed ging.
echo '<div id="sysError" class="errormsgbox">U heeft zich niet kunnen registreren. Excusses voor het ongemak.
</div>';
}
// het email adres is niet beschikbaar.
} else {
echo '<div class="errormsgbox" >Het email adres is al geregistreerd.</div>';
}
//als de error[] fouten bevat toon deze
} else {
echo '<div class="errormsgbox"> <ol>';
foreach ($error as $key => $values) {
echo '<li>' . $values . '</li>';
}
echo '</ol></div>';
}}
?>
met vriendelijke groet
Ralph van der Tang
2.320 views