Hey ik heb een probleem... alles werkt behalve het updaten van de passwd_key. Dat is eigelijk ook het probleem.. ik weet niet of iemand mij kan helpen?
ja eigenlijk wat er in jouw script staat is:
bestaat $key? indien ja:
selecteer de person_id, nickname, passwd_key waar key gelijk is aan $key bv. 2
en als er zo'n rij bestaat plaats deze in een var. en dan update die passwd_key naar dezelfde $key bv. 2 maar hiermee
selecteerde je ook de rijen (zie hierboven), dus eigenlijk wordt hier niets nieuws upgedate/verandert. aangezien je gewoon diezelfde key update
edit:
Citaat:
Hoef niet persee.. als je @ er voorzet krijg je geen database error tezien...
ja daarom moet je juist or die(mysql_error()) gebruiken om wel een (mogelijke) error te zien en dan kan je tot de oplossing komen
hmm kan je het alsjeblieft goed uit leggen, ik ben niet zo pro. Ja die person_id, nickname, passwd_key word gepakt enz. werkt goed.
Maar dan wil ik passwd_key updaten met een nieuw wachtwoord...
md5 liefst..
Als je ooit een error krijgt.. krijg de gebruikers niks te zien. Die hebben ook niks te maken met je errors teminste als er geen database is krijgen ze gewoon stukkie tekst te zien...
awel ja zorg er dan eerst voor dat dat wachtwoord verandert wordt voordat je het terug update...
@mysql_error()-discussie: zorg er gewoon voor dat je geen errors krijgt ... en daar kan je dan weer voor zorgen door mysql_error() te gebruiken en als er zich toch een error voordoet, die gemakkelijk oplossen (omdat je simpel weet wat de fout is, dit is niet het geval met "@" want die laat geen fouten zien)
De lost password pagina.. vult men der email adres in... email adres word opgezocht... zo ja.. dan word die geselecteerd en de oude key er uit gehaald en opgestuurd met een link naar zijn email..
In zijn email heb die nu dus bijv,... password.php?key=435345345jk3l5jh34jk5h34jkh34ljk5h34l5h34 (voorbeeld kan fout in zitte )
Dan pak die de key en aan die key kan die zien welk id en nickname die moet pakken... en ik dacht dat je dan ook dat je automatisch die oude key kon updaten..
<?php
if ($key) {
$queryPerson = mysql_query("SELECT person_id, nickname, passwd_key FROM persons WHERE passwd_key='" . $key . "'") or die(mysql_error());
if (@mysql_num_rows($queryPerson) == 1) {
$getPerson = @mysql_fetch_object($queryPerson);
function wachtwoord($aantal)
{
$tekens = array('a','b','c','1','2','3'); //Hier kan je zelf meer tekens toevoegen!
$totaal = count($tekens) -1;
for ($i=0; $i<$aantal; $i++)
{
$id = rand(0, $totaal);
$wachtwoord .= $tekens[$id];
}
return $wachtwoord;
}
$wachtwoord = wachtwoord(10);
$key1 = md5($wachtwoord);
mysql_query("UPDATE persons SET passwd_key='". $key1 ."' WHERE person_id='". $getPerson->person_id ."'") or die(mysql_error());
//dit heb ik simpel naar hier verplaatst, omdat nu $key1 wel bekend is aan de mysql_query()(als die mysql_query boven het toewijzen van de waarde aan het $key1 staat, dan kan het dat onmogelijk updaten omdat $key1 nog niet gekend is)
?>
<?php
if($key){
$queryPerson=mysql_query("SELECT person_id, nickname, passwd_key FROM persons WHERE passwd_key='".$key."'") or die(mysql_error());
mysql_query("UPDATE persons SET passwd_key='".$key1."' WHERE person_id='".$getPerson->person_id."'") or die(mysql_error());
//dit heb ik simpel naar hier verplaatst, omdat nu $key1 wel bekend is aan de mysql_query()(als die mysql_query boven het toewijzen van de waarde aan het $key1 staat, dan kan het dat onmogelijk updaten omdat $key1 nog niet gekend is)
?>
en ik heb speciaal voor jou mysql_errors toegevoegd