PHP beginner |
|
Het veld van usr_pass is varchar(40)..
Heb de md5 echoed en de echo komt overeen met de database.
Login:
<?php
$aError = array ();
$bError = false;
if (isset ($_POST['login-submit']))
{
$sUser = $_POST['user'];
$sPass = $_POST['pass'];
if (empty ($sUser))
{
$aError[] = "Oeps! Je bent vergeten je gebruikersnaam in te vullen.";
$bError = true;
}
if (empty ($sPass))
{
$aError[] = "Oeps! Je bent vergeten je wachtwoord in te vullen.";
$bError = true;
}
if (!$bError)
{
$sQuery = "SELECT `usr_id` FROM `gebruikers` ";
$sQuery .= "WHERE ";
$sQuery .= " ( `usr_login` = '". mysql_real_escape_string ($sUser) ."' ";
$sQuery .= " AND `usr_pass` = MD5(SHA1('". mysql_real_escape_string ($sPass) ."')) ";
$sQuery .= " AND `usr_geactiveerd` = '1' ";
$sQuery .= " )";
$iResult = mysql_query ($sQuery, $iDB);
if (mysql_num_rows ($iResult) > 0)
{
// voor de Gegevens op te halen :)
$aLogin = mysql_fetch_assoc ($iResult);
$_SESSION['login'] = $aLogin['usr_id'];
$sQuery = "UPDATE `gebruikers` ";
$sQuery .= "SET `usr_laatst_ingelogd` = NOW() ";
$sQuery .= "WHERE `usr_id` = '". $_SESSION['login'] ."'";
mysql_query ($sQuery, $iDB);
header("Location: spel/index.php");
}
else
{
$aError[] = "Sorry, de gegevens die je invulde zijn niet correct.";
$bError = true;
}
}
}
if ($bError)
{
$iCountError = count ($aError);
print ("<br /><br /><h3>Inlogfout". (($iCountError > 1) ? "en" : "") ."</h3>");
print ("\n<ul>");
foreach ($aError as $sError)
print ("\n <li>". $sError ."</li>");
print ("\n</ul>\n");
}
?>
<?php $bError = false; if (isset ($_POST['login-submit'])) { $sUser = $_POST['user']; $sPass = $_POST['pass']; { $aError[] = "Oeps! Je bent vergeten je gebruikersnaam in te vullen."; $bError = true; } { $aError[] = "Oeps! Je bent vergeten je wachtwoord in te vullen."; $bError = true; } if (!$bError) { $sQuery = "SELECT `usr_id` FROM `gebruikers` "; $sQuery .= "WHERE "; $sQuery .= " AND `usr_geactiveerd` = '1' "; $sQuery .= " )"; { // voor de Gegevens op te halen :) $_SESSION['login'] = $aLogin['usr_id']; $sQuery = "UPDATE `gebruikers` "; $sQuery .= "SET `usr_laatst_ingelogd` = NOW() "; $sQuery .= "WHERE `usr_id` = '". $_SESSION['login'] ."'"; header("Location: spel/index.php"); } else { $aError[] = "Sorry, de gegevens die je invulde zijn niet correct."; $bError = true; } } } if ($bError) { $iCountError = count ($aError); print ("<br /><br /><h3>Inlogfout". (($iCountError > 1) ? "en" : "") ."</h3>"); foreach ($aError as $sError) print ("\n <li>". $sError ."</li>"); } ?>
Bij het registratie wachtwoord dat de gebruikers zelf kiezen in een POST kun je wel direct inloggen met het wachtwoord:
<?php
$sQuery = "INSERT INTO `gebruikers`(`usr_login`,`usr_geld`,`usr_credits`,`usr_voornaam`,
`usr_achternaam`,`usr_reg_datum`,`usr_geslacht`,`usr_land`,`usr_email`,`usr_pass`,
`usr_geactiveerd`,`usr_bday_dag`,`usr_bday_maand`,`usr_bday_jaar`,`usr_ip`) ";
$sQuery .= "VALUES(
'". mysql_real_escape_string ($sLogin) ."',
'". mysql_real_escape_string ($sGeld) ."',
'". mysql_real_escape_string ($sCredits)."',
'". mysql_real_escape_string ($sVoornaam) ."',
'". mysql_real_escape_string ($sAchternaam) ."',
NOW() ,
'". mysql_real_escape_string ($sGeslacht) ."',
'". mysql_real_escape_string ($sLand) ."',
'". mysql_real_escape_string ($sEmail) ."',
MD5(SHA1('". $sWachtwoord ."')) ,
'". mysql_real_escape_string ($sRand) ."',
'". mysql_real_escape_string ($sBday_dag) ."',
'". mysql_real_escape_string ($sBday_maand) ."',
'". mysql_real_escape_string ($sBday_jaar) ."',
'".$ip."'
)";
mysql_query ($sQuery, $iDB);
?>
<?php $sQuery = "INSERT INTO `gebruikers`(`usr_login`,`usr_geld`,`usr_credits`,`usr_voornaam`, `usr_achternaam`,`usr_reg_datum`,`usr_geslacht`,`usr_land`,`usr_email`,`usr_pass`, `usr_geactiveerd`,`usr_bday_dag`,`usr_bday_maand`,`usr_bday_jaar`,`usr_ip`) "; $sQuery .= "VALUES( NOW() , MD5(SHA1('". $sWachtwoord ."')) , '".$ip."' )"; ?>
Edit: Het is opgelost! Ik heb die random voor een nieuw wachtwoord aan te maken vervangen door een functie die uitgebreidere wachtwoorden aanmaakt, nu lukt het wel.
Niels |