login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Wachtwoordwijzigen script

Offline SomaQan - 21/02/2007 21:52 (laatste wijziging 22/02/2007 01:31)
Avatar van SomaQanPHP beginner ik heb een wachtwoordwijzig script maar ik krijg een

fout
Parse error: syntax error, unexpected T_STRING in /home/med013/domains/mootje.medos.be/public_html/wachtwoordwijzigen.php on line 24

Script

  1. <?php
  2.  
  3. include('config.php');
  4. if(isset($_POST['wachtwoordwijzigen'])){
  5.  
  6.  
  7.  
  8. if(empty($_POST['wachtwoord'])){
  9. die('Geen wachtwoord ingevult');
  10. }
  11.  
  12. if(empty($_POST['wachtwoord2'])){
  13. die('Geen wachtwoord nogmaals ingevult');
  14. }
  15.  
  16. $sql= mysql_query("SELECT * FROM lid WHERE username = '".$_POST['username']."'");
  17.  
  18. $num = mysql_num_rows($sql);
  19. if($_POST['wachtwoord'] != $_POST['wachtwoord2']){
  20. die('De wachtwoorden komen niet overeen.');
  21. }
  22. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE
  23. echo "Je wachtwoord is succesvol gewijzigt.<br>
  24. <a href = 'index.php'>Klik hier om in te gaan</a>";
  25. }
  26. else{
  27. ?>
  28. <table>
  29. <form name="wachtwoordwijzigen" method="post">
  30. <tr>
  31. <td>Wachtwoord:</td>
  32. <td><input name="wachtwoord" type="password" value=''></td>
  33. </tr>
  34. <tr>
  35. <td>Wachtwoord nogmaals:</td>
  36. <td><input name="wachtwoord2" type="password" value=''></td>
  37. </tr>
  38. <tr>
  39. <td colspan="2"><input name="wachtwoordwijzigen" value="Wijzigen" type="submit"></td>
  40. </tr>
  41. </form>
  42. </table>
  43. <?
  44. }
  45. ?>


  1. <?php
  2. if("'".md5($_POST['password'] != md5($_POST['password2']."'");
  3. ?>

27 antwoorden

Gesponsorde links
Offline Rens - 21/02/2007 21:53
Avatar van Rens Gouden medaille

Crew algemeen
Ik zeg alleen dat je naar de kleuren moet kijken...
Offline X3ore - 21/02/2007 21:56 (laatste wijziging 21/02/2007 21:58)
Avatar van X3ore HTML interesse De kleur zegt toch al genoeg?

  1. <?php
  2.  
  3. include('config.php');
  4. if(isset($_POST['wachtwoordwijzigen'])){
  5.  
  6.  
  7.  
  8. if(empty($_POST['wachtwoord'])){
  9. die('Geen wachtwoord ingevult');
  10. }
  11.  
  12. if(empty($_POST['wachtwoord2'])){
  13. die('Geen wachtwoord nogmaals ingevult');
  14. }
  15.  
  16. $sql= mysql_query("SELECT * FROM lid WHERE username = '".$_POST['username']."'");
  17.  
  18. $num = mysql_num_rows($sql);
  19. if($_POST['wachtwoord'] != $_POST['wachtwoord2']){
  20. die('De wachtwoorden komen niet overeen.');
  21. }
  22. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE gebruikersnaam = '".$_COOKIE['ietsofzo']."'";
  23. echo "Je wachtwoord is succesvol gewijzigt.<br>";
  24. echo "<a href = 'index.php'>Klik hier om in te gaan</a>";
  25. }
  26. else{
  27. ?>
  28. <table>
  29. <form name="wachtwoordwijzigen" method="post">
  30. <tr>
  31. <td>Wachtwoord:</td>
  32. <td><input name="wachtwoord" type="password" value=''></td>
  33. </tr>
  34. <tr>
  35. <td>Wachtwoord nogmaals:</td>
  36. <td><input name="wachtwoord2" type="password" value=''></td>
  37. </tr>
  38. <tr>
  39. <td colspan="2"><input name="wachtwoordwijzigen" value="Wijzigen" type="submit"></td>
  40. </tr>
  41. </form>
  42. </table>
  43. <?
  44. }
  45. ?>
Offline Rens - 21/02/2007 21:57
Avatar van Rens Gouden medaille

Crew algemeen
@X3ore, met jouw script zul je ook nog een fout krijgen...
Offline SomaQan - 21/02/2007 21:58 (laatste wijziging 21/02/2007 21:58)
Avatar van SomaQan PHP beginner Rens ik zie hem echt niet staan en ik heb dat kleuren gedoe nog niet goed onder controle
Offline Rens - 21/02/2007 21:59
Avatar van Rens Gouden medaille

Crew algemeen
  1. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE

Die regel moet je hebben, regel 23, niet 24.
Offline SomaQan - 21/02/2007 22:03 (laatste wijziging 21/02/2007 22:05)
Avatar van SomaQan PHP beginner Wat is er dan fout bij die regel ?

@Rens als je het weet zet er dan bij, van wat er bij moet komen
en vertel dan ook er bij wat ik fout deed, zo kan ik er van leren maar zo leer ik nooit iets
Offline Rens - 21/02/2007 22:05
Avatar van Rens Gouden medaille

Crew algemeen
Als je zo'n fout over het hoofd ziet...
Het enige wat op die regel staat is wat er nu staat.
Je mist behoorlijk wat...
  1. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE

==>
  1. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE id=".$_GET['id']);

Zoiets moet je gewoon zelf wel zien als je de regel kant en klaar voor je neus krijgt... 
Offline SomaQan - 22/02/2007 01:40 (laatste wijziging 22/02/2007 01:40)
Avatar van SomaQan PHP beginner sorry:|

maar ik wil nu dit regel in md5 stoppen

  1. <?php
  2. if("'".md5($_POST['password'] != md5($_POST['password2']."'");
  3. ?>


ik heb dat al gedaan en kleuren zij juist. maar ik krijg tooch deze fout :S

Parse error: syntax error, unexpected ';' in /home/med013/domains/mootje.medos.be/public_html/wwz.php on line 25
Offline Gerard - 22/02/2007 01:41 (laatste wijziging 22/02/2007 01:43)
Avatar van Gerard Ouwe rakker Het klopt niet helemaal, je zit namelijk ook met aanhalingstekens te kloten waar dat niet hoeft. Verder hoef je voor deze vergelijking niet de wachtwoorden eerste te hashen met PHP.net: md5.

Die regel kan er dus gewoon als volgt uitzien:
  1. <?php
  2. if ($_POST['password'] != $_POST['password2']) {


Je moet bij een controle-structuur ook geen gebruik maken van ";".
Zie hier voor meer info.

@titjes
Bekijk die if nog eens goed :X
Offline Abbas - 22/02/2007 01:42 (laatste wijziging 22/02/2007 01:51)
Avatar van Abbas Gouden medaille

Crew .NET
Gewoon zo is ook goed
  1. <?php
  2. if(md5($_POST['password'] != md5($_POST['password2'])
  3. {
  4. // niet goed
  5. }
  6. else
  7. {
  8. //goed
  9. }
  10. ?>

en achter een if-statement moet geen ';'

Proximus was me voor 

edit: wat is er mis met m'n 'if'?
Offline SomaQan - 22/02/2007 01:47
Avatar van SomaQan PHP beginner Maar hij wijzigd geen wachtwoord 
Offline Abbas - 22/02/2007 01:49 (laatste wijziging 22/02/2007 01:49)
Avatar van Abbas Gouden medaille

Crew .NET
Misschien moet je de code die je nu hebt is plaatsen op www.plaatscode.be
Dan kunnen we ze bekijken en je eventueel verder helpen...
Offline SomaQan - 22/02/2007 01:51
Avatar van SomaQan PHP beginner Mijn script

http://www.plaatscode.be/4330/
Offline Abbas - 22/02/2007 01:54
Avatar van Abbas Gouden medaille

Crew .NET
Op regel 30 heb je een fout in je query:
Het moet zijn:
  1. <?php
  2. mysql_query("UPDATE lid SET password = '".md5($_POST['password'])."' WHERE id= ".$_SESSION["id"]." ");
Offline SomaQan - 22/02/2007 01:58
Avatar van SomaQan PHP beginner hij veranderd nog steeds geen wachtwoord naar mij verbazing :S

waar aan kan het liggen ?
Offline Gerard - 22/02/2007 02:36 (laatste wijziging 22/02/2007 02:37)
Avatar van Gerard Ouwe rakker Ik heb als voorbeeld eens jouw script herschreven. Onderstaande link is van een dump van de pagina zoals ik hem op zou zetten. Kijk maar eens wat je er van vindt.

Pastebin
Offline SomaQan - 22/02/2007 13:21 (laatste wijziging 22/02/2007 13:23)
Avatar van SomaQan PHP beginner @Proximus ik heb jouw script getest ik krijg geen fout ofzo alles doet het , maar hij wijzigd heleaas geen wachtwoord 

Klik

Misschien hebben jullie mij table nodig

  1. CREATE TABLE `lid` (
  2. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `username` VARCHAR( 150 ) NOT NULL ,
  4. `password` VARCHAR( 32 ) NOT NULL ,
  5. `naam` VARCHAR( 20 ) NOT NULL ,
  6. `email` VARCHAR( 40 ) NOT NULL ,
  7. `leeftijd` VARCHAR( 3 ) NOT NULL ,
  8. `woonplaats` VARCHAR( 150 ) NOT NULL
  9. );
Offline Thomas - 22/02/2007 13:37
Avatar van Thomas Moderator Ik denk dat je backticks om `password` moet zetten in je UPDATE-query, omdat dit een gereserveerd woord is.

Kijk anders eens met mysql_query(...) or die(mysql_error()) wat er mis gaat.
Offline Mad_Mike - 22/02/2007 13:39
Avatar van Mad_Mike PHP beginner Klopt het WHERE gedeelte wel in de query? Je wilt het wachtwoord wijzigen van een bepaalde user-id, maar je update het voor $_SESSION['session'];

Dit lijkt me niet de bedoeling... tenzij het session-id de user-id is, wat ik dan weer niet verstandig gekozen vind 
Offline SomaQan - 22/02/2007 13:54 (laatste wijziging 22/02/2007 13:55)
Avatar van SomaQan PHP beginner @fangorN ik snap het niet echt, ik ben nog maar en beginner dus kun je het iets duidelijker misschien uit leggen, alvast bedankt

Moet het bij dit regel de backticks komen ?
  1. <?php
  2. #
  3. $qUpdatePassword = mysql_query("UPDATE lid
  4. #
  5. SET password = '" . md5($_POST['password']) . "'
  6. #
  7. WHERE id = " . intval($_SESSION['sessionid']));
  8. ?>
Offline Thomas - 22/02/2007 13:59
Avatar van Thomas Moderator
Citaat:
Ik denk dat je backticks om `password` moet zetten in je UPDATE-query, omdat dit een gereserveerd woord is.
  1. <?php
  2. $qUpdatePassword = mysql_query("UPDATE lid SET `password` = '".md5($_POST['password'])."' WHERE id = ".intval($_SESSION['sessionid']));
  3. ?>
Offline SomaQan - 22/02/2007 14:38
Avatar van SomaQan PHP beginner ik snap er geen flikker meer van echt raar dat hij het nog steeds niet doet 
Offline Mad_Mike - 22/02/2007 14:43
Avatar van Mad_Mike PHP beginner doe eens voor die gein:
  1. echo intval($_SESSION['sessionid']);

Welke waarde heeft die? Is er wel een record in de database met deze waarde?
Offline SomaQan - 22/02/2007 15:40 (laatste wijziging 22/02/2007 15:40)
Avatar van SomaQan PHP beginner ik krijg een 0 te zien nu
Offline Mad_Mike - 22/02/2007 15:48
Avatar van Mad_Mike PHP beginner En wat wil dat zeggen 

query->nl:
Pas het wachtwoord aan voor het record waar user-id gelijk is aan 0.

Is er wel een user-id met 0? Lijkt me niet... vandaar dat er ook niets gebeurd. Want er valt niets te updaten
Offline SomaQan - 22/02/2007 15:50
Avatar van SomaQan PHP beginner hoe kan ik dat doen

en ik nog een vraag want als ik me wachtwoord verander en ik loguit en ik wil opnieuw inloggen kan ik niet :S
Offline Mad_Mike - 22/02/2007 15:58
Avatar van Mad_Mike PHP beginner srry, maar ik kan je echt even niet volgen.

1.
dat probleem met wachtwoord updaten? Is opgelost? Je weet waarom het eerst niet werkte?

2.
Je wachtwoord is aangepast (de nieuwe md5-hash ervan is in de database geschreven). Als je wilt inloggen lukt het niet meer?
Vergelijk je wel het opgegeven wachtwoord (dmv het login formulier) op de juiste mannier met de wachtwoorden die in de db staan? Dus mdv de md5-hash?
  1. <?php
  2. $strPassword = md5($_POST['password']); // wachtwoord via formulier
  3.  
  4. // en dan nog de juiste query
  5. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.352s