als je een insert pagina hebt.
Dat kan je heel eenvoudig ombouwen naar een update querie
Link gekopieerd
Sommige dingen zijn een beetje overdreven, maar het heeft uiteindelijk wel allemaal nu ;).
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST['naam']) && isset($_POST['wachtwoord']))
{
$naam = mysql_real_escape_string($_POST['naam']);
$wachtwoord = mysql_real_escape_string(sha1($_POST['wachtwoord']));
$query = "SELECT id, wachtwoord FROM gebruikers WHERE naam = '".$naam."' AND wachtwoord = '".$wachtwoord."'";
$resultaat = mysql_query($query);
if ($resultaat && (mysql_num_rows($resultaat) == 1))
{
$rij = mysql_fetch_array($resultaat);
$dbwachtwoord = $rij['wachtwoord'];
$dbgebruiker = $rij['id'];
if($dbwachtwoord == $wachtwoord)
{
$code = sha1(randomgenerator('12'));
$query = "UPDATE gebruikers SET inlogcode = '".$code."' WHERE id = ".$dbgebruiker."";
$resultaat = mysql_query($query);
if($resultaat && mysql_affected_rows() == 1)
{
$_SESSION['ingelogd']['id'] = $dbgebruiker;
$_SESSION['ingelogd']['code'] = $code;
}
}
}else{
echo '<p class="error">Sorry, hiermee kan ik u niet inloggen.</p>';
}
}
}
?>
Als extratje controleren we of iemand een sessie heeft, en of zijn code klopt. Zoja dan vervangen we die code gelijk...
<?php
if(isset($_SESSION['ingelogd']))
{
$code = sha1(randomgenerator('12'));
$query = "UPDATE gebruikers SET inlogcode = '".$code."' WHERE id = ".$_SESSION['ingelogd']['id']."";
$resultaat = mysql_query($query);
if($resultaat && mysql_affected_rows() == 1)
{
$_SESSION['ingelogd']['code'] = $code;
}else{
echo '<p class="error">Er gaat iets mis, u zult opnieuw moeten inloggen!</p>';
session_destroy();
}
}
?>
Link gekopieerd
Er gebeurt niks, heb connectie met db en gebruikersnaam en wachtwoord geinsert. maar gebeurt niks
Link gekopieerd
Je moet er wel een beetje handig mee zijn, database aanmaken met daarin een veld id, wachtwoord (sha!), naam en inlogcode (40tekens).
Randomgenerator functie aanmaken etc. Maareh, 'er gebeurd niks' is mij te vaag.
Link gekopieerd