Ik was zojuist wat aan het uitproberen, en toen kwam ik erachter dat er een probleem in mijn ledenscript zit.
Als iemand zich wil registreren, en hij voert daarbij de gegevens (gebruikersnaam en wachtwoord) in van een lid dat al bestaat, dan wordt hij ingelogd (als het lid dat hij invoert).
Ik heb gecontroleerd of dit niet aan de sessie lag, maar dit is niet het geval. Ik heb namelijk ter controle meerdere leden geregistreerd, en bij het inschrijven met dezelfde gegevens werden al deze leden ingelogd.
Kunnen jullie mij helpen? Ik weet niet waar het probleem zit.
index.php
* Registreren is ?pagina=inschrijven en inloggen is ?pagina=aanmelden
<?php
include("config.php");
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!$_POST['aanmelden']) {
$gebruikersnaam = $_POST['gebruikersnaam'];
$gebruikersnaam = stripslashes($gebruikersnaam);
$gebruikersnaam = mysql_real_escape_string($gebruikersnaam);
$wachtwoord = $_POST['wachtwoord'];
$wachtwoord = stripslashes($wachtwoord);
$wachtwoord = mysql_real_escape_string($wachtwoord);
$veiligwachtwoord = md5($wachtwoord);
$veiligwachtwoord = md5($veiligwachtwoord);
$veiligwachtwoord = sha1($veiligwachtwoord);
$query = "SELECT * FROM gebruikers WHERE gebruikersnaam='".$gebruikersnaam."' AND wachtwoord='".$veiligwachtwoord."' AND actief='1'";
$query2 = mysql_query($query);
$query3 = mysql_num_rows($query2);
if ($query3 == 1) {
session_register("gebruikersnaam");
session_register("veiligwachtwoord");
header("Location: welkom.php");
}
}
if (!$_POST['inschrijven']) {
$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];
$wachtwoord2 = $_POST['wachtwoord2'];
$emailadres = $_POST['emailadres'];
$voornaam = $_POST['voornaam'];
$achternaam = "";
$rang = 1;
$saldo = 10;
$actief = 1;
if (!empty($voornaam) and !empty($gebruikersnaam) and !empty($wachtwoord) and !empty($wachtwoord2) and $wachtwoord2 == $wachtwoord) {
$query = "SELECT * FROM gebruikers WHERE gebruikersnaam='".$gebruikersnaam."'";
$query2 = mysql_query($query) or die ("We kunnen geen verbinding maken.");
$query3 = mysql_num_rows($query2);
if ($query3 == 0) {
ob_start();
header("Location: http://www..eu/id/index.php?pagina=inschrijven&id=ingeschreven");
ob_flush();
$veiligwachtwoord = md5($wachtwoord);
$veiligwachtwoord = md5($veiligwachtwoord);
$veiligwachtwoord = sha1($veiligwachtwoord);
$inschrijven = "INSERT INTO gebruikers (gebruikersnaam, wachtwoord, emailadres, voornaam, rang, saldo, actief) VALUES ('".$gebruikersnaam."', '".$veiligwachtwoord."', '".$emailadres."', '".$voornaam."', '".$rang."', '".$saldo."', '".$actief."')";
mail("".$emailadres."", "Welkom bij ", "Hallo ".$voornaam.",\n\nWelkom bij ! Uw gegevens zijn:\n\nGebruikersnaam: ".$gebruikersnaam."\nWachtwoord: ".$wachtwoord."\n\nVeel plezier!\n\n\n\n\nwww..eu", "From: ");
mysql_query($inschrijven) or die ("We kunnen geen verbinding maken.");
} else {
ob_start();
header("Location: http://www..eu//index.php?pagina=inschrijven&id=gebruikersnaam");
ob_flush();
}
}
}
}
?>
config.php
<?php
$dbhost = "localhost";
$dbgebruikersnaam = "";
$dbwachtwoord = "";
$verbinden = mysql_connect($dbhost, $dbgebruikersnaam, $dbwachtwoord) or die ("<b>Code D001:</b><br />We kunnen geen verbinding maken.");
$db = "";
mysql_select_db($db) or die ("<b>Code D002:</b><br />We kunnen geen verbinding maken.");
// Functies
function isnum($value) {
if (!is_array($value)) {
return (preg_match("/^[0-9]+$/", $value));
} else {
return false;
}
}
function redirect($location, $script = false) {
if (!$script) {
header("Location: ".str_replace("&", "&", $location));
exit;
} else {
echo "<script type='text/javascript'>document.location.href='".str_replace("&", "&", $location)."'</script>";
exit;
}
}
?>