login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Update table

Offline Damage - 04/10/2005 20:24
Avatar van DamagePHP interesse 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?

  1. <?php
  2.  
  3. if ($key) {
  4. $queryPerson = @mysql_query("SELECT person_id, nickname, passwd_key FROM persons WHERE passwd_key='" . $key . "'");
  5.  
  6. if (@mysql_num_rows($queryPerson) == 1) {
  7. $getPerson = @mysql_fetch_object($queryPerson);
  8.  
  9. @mysql_query("UPDATE persons SET passwd_key='". $key1 ."' WHERE person_id='". $getPerson->person_id ."'");
  10.  
  11.  
  12. function wachtwoord($aantal)
  13. {
  14. $tekens = array('a','b','c','1','2','3'); //Hier kan je zelf meer tekens toevoegen!
  15. $totaal = count($tekens) -1;
  16.  
  17. for ($i=0; $i<$aantal; $i++)
  18. {
  19. $id = rand(0, $totaal);
  20. $wachtwoord .= $tekens[$id];
  21. }
  22.  
  23. return $wachtwoord;
  24. }
  25.  
  26. $wachtwoord = wachtwoord(10);
  27.  
  28. $key1 = md5($wachtwoord);
  29.  
  30. ?>

8 antwoorden

Gesponsorde links
Offline finduilas - 04/10/2005 20:31
Avatar van finduilas PHP gevorderde Wat geeft or die(mysql_error());?
Offline Damage - 04/10/2005 20:31
Avatar van Damage PHP interesse Hoef niet persee.. als je @ er voorzet krijg je geen database error tezien...
Offline Button - 04/10/2005 20:34 (laatste wijziging 04/10/2005 20:35)
Avatar van Button PHP ver gevorderde 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
Offline Damage - 04/10/2005 20:37 (laatste wijziging 04/10/2005 20:38)
Avatar van Damage PHP interesse 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...

Offline Button - 04/10/2005 20:48 (laatste wijziging 04/10/2005 20:48)
Avatar van Button PHP ver gevorderde 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)
Offline Damage - 04/10/2005 20:51
Avatar van Damage PHP interesse Het is voor een lost password pagina...

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..

volg je me nog?
Offline Button - 04/10/2005 20:59 (laatste wijziging 04/10/2005 21:08)
Avatar van Button PHP ver gevorderde ahja srry nu heb ik het door:
je hebt $key en $key1 ...
had ik eerst niet gezien...


edit:
  1. <?php
  2.  
  3. if ($key) {
  4. $queryPerson = mysql_query("SELECT person_id, nickname, passwd_key FROM persons WHERE passwd_key='" . $key . "'") or die(mysql_error());
  5.  
  6. if (@mysql_num_rows($queryPerson) == 1) {
  7. $getPerson = @mysql_fetch_object($queryPerson);
  8.  
  9.  
  10.  
  11.  
  12. function wachtwoord($aantal)
  13. {
  14. $tekens = array('a','b','c','1','2','3'); //Hier kan je zelf meer tekens toevoegen!
  15. $totaal = count($tekens) -1;
  16.  
  17. for ($i=0; $i<$aantal; $i++)
  18. {
  19. $id = rand(0, $totaal);
  20. $wachtwoord .= $tekens[$id];
  21. }
  22.  
  23. return $wachtwoord;
  24. }
  25.  
  26. $wachtwoord = wachtwoord(10);
  27.  
  28. $key1 = md5($wachtwoord);
  29.  
  30. mysql_query("UPDATE persons SET passwd_key='". $key1 ."' WHERE person_id='". $getPerson->person_id ."'") or die(mysql_error());
  31. //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)
  32. ?>


en ik heb speciaal voor jou mysql_errors toegevoegd 
Offline Damage - 04/10/2005 21:00 (laatste wijziging 04/10/2005 21:13)
Avatar van Damage PHP interesse oké no problem... ja ik ben zelf vanaaf ook beetje wazig 
maar u hebt ook geen idee wat het probleem zou zijn ?


Hey kerel, harstikke bedankt. LOL dat ik z'n fout maak maarja!!

TOP!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.203s