login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wachtwoorden worden niet goed vergeleken

Offline Ultimatum - 29/01/2006 16:17
Avatar van UltimatumPHP expert heb dit scriptje
  1. <?php
  2. $profile = mysql_query("SELECT * FROM users WHERE username = '".$logged[username]."'") or die(mysql_error());
  3. $profile = mysql_fetch_array($profile);
  4.  
  5. if(empty($_POST['password-old'])) {
  6. echo "<tr><td colspan='2'>You need to fill in your old password</td></tr>";
  7. }elseif(empty($_POST['password-new'])) {
  8. echo "<tr><td colspan='2'>You need to fill in a new password</td></tr>";
  9. }elseif(empty($_POST['password-c'])) {
  10. echo "<tr><td colspan='2'>You need to confirm your password</td></tr>";
  11. }elseif($_POST['password-old'] != $profile['password']) {
  12. echo "<tr><td colspan='2'>Your old password is not correct</td></tr>";
  13. }elseif($_POST['password-new'] != $_POST['cpassword-c']) {
  14. echo "<tr><td colspan='2'>Password have to match</td></tr>";
  15. }else{
  16. $password = md5($_POST['password-new']);
  17. ?>
  18. <tr><td colspan='2'>Your passwords has been updated!<br />You have been logged out!</td></tr>
  19. ?>


alleen als ik niks invul krijg ik de juiste error, maar als ik een verkeerd wachtwoord invul en dan submit, krijg ik ook een error, maar doe ik het juiste wachtwoord en 2 nieuwe wachtwoorden, krijg ik weer een error

ben er al een tijdje mee bezig, maar ik snap niet dat hij het de ene keer wel goed vergelijkt en dan weer niet 

5 antwoorden

Gesponsorde links
Offline Wim - 29/01/2006 16:32
Avatar van Wim Crew algemeen welke output krijg je...?
Offline kokx - 29/01/2006 16:44 (laatste wijziging 29/01/2006 16:44)
Avatar van kokx Onbekend je sluit achteraan je else niet af
ik denk dat het zo moet:
  1. <?php
  2. $profile = mysql_query("SELECT * FROM users WHERE username = '".$logged[username]."'") or die(mysql_error());
  3. $profile = mysql_fetch_array($profile);
  4.  
  5. if(empty($_POST['password-old'])) {
  6. echo "<tr><td colspan='2'>You need to fill in your old password</td></tr>";
  7. }elseif(empty($_POST['password-new'])) {
  8. echo "<tr><td colspan='2'>You need to fill in a new password</td></tr>";
  9. }elseif(empty($_POST['password-c'])) {
  10. echo "<tr><td colspan='2'>You need to confirm your password</td></tr>";
  11. }elseif($_POST['password-old'] != $profile['password']) {
  12. echo "<tr><td colspan='2'>Your old password is not correct</td></tr>";
  13. }elseif($_POST['password-new'] != $_POST['cpassword-c']) {
  14. echo "<tr><td colspan='2'>Password have to match</td></tr>";
  15. }else{
  16. $password = md5($_POST['password-new']);
  17. ?>
  18. <tr><td colspan='2'>Your passwords has been updated!<br />You have been logged out!</td></tr>
  19. <?php
  20. }
  21. ?>
Offline Ultimatum - 29/01/2006 16:47 (laatste wijziging 29/01/2006 18:46)
Avatar van Ultimatum PHP expert @wimmarien, Your old password is not correct
@kokx, dit is niet het hele script en waarom zegt iedereen dat, want je krijgt vanzelf wel een error dat hij niet is afgeslote en als dat zo is dan stel ik daar wel een vraag over en niet over dit probleem 
Offline Gerard - 29/01/2006 19:00
Avatar van Gerard Ouwe rakker $_POST['password-old'] != $profile['password']

Hij gaat dus de letterlijke user input vergelijken met wat er in de database staat.... ik neem dus aan dat je geen gebruik maakt van encryptie (md5,sha1)
Offline Ultimatum - 29/01/2006 19:05 (laatste wijziging 29/01/2006 19:13)
Avatar van Ultimatum PHP expert bedankt Proximus daar had ik helemaal niet naar gekeken (maak wel gebruik van md5 dus ), zal het nu ff proberen 

edit
het werkt, thanx proximus
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s