login  Naam:   Wachtwoord: 
Registreer je!
 Forum

foute login weergave

Offline fisoes - 22/10/2008 17:05
Avatar van fisoesNieuw lid Ik kreeg van iemand een script dat zou werken om om als je inlogd te tonen of je gebruikersnaam al in de db staat die je hebt ingevuld of dat je wachtwoord fout is of allebei
nou is hier het script
  1. <?php
  2. include("mysql.php");
  3.  
  4.  
  5. if (!empty($_POST)){ //test of er informatie binnen is gekomen
  6.  
  7. $username = $_POST["username"];
  8. $wachtwoord = $_POST["wachtwoord"];
  9.  
  10. $query = "SELECT *
  11. FROM gebruiker
  12. WHERE username='".$username."'
  13. AND hash=PASSWORD('".$wachtwoord."')";
  14.  
  15. // echo($query); hier kun je eventueel de query naar het scherm schrijven voor debugging
  16. // exit; deze exit heb je dan nodig zodat je de query ook op je scherm ziet
  17.  
  18. $result = mysql_query($query) or die(mysql_error()); // query naar database opsturen
  19.  
  20.  
  21. // controleren of het gelukt is
  22.  
  23. if(mysql_num_rows($result) == 1) {
  24. $regel = mysql_fetch_array($result);
  25.  
  26. // de $_SESSION blijft bestaan zolang de client op je website blijft.
  27. // De server houdt dat bij.
  28.  
  29. $_SESSION['username'] = $regel['username']; // dit zijn sessievariabelen voor
  30. $_SESSION['voornaam'] = $regel['voornaam']; // gebruik in verschillende paginas
  31. $_SESSION['achternaam'] = $regel['achternaam'];
  32. $_SESSION['level'] = $regel['ulevel'];
  33.  
  34. header("Location: index.php?id=10"); // login gelukt. ga door naar ...
  35.  
  36. } else
  37. $wachtwoorddb = mysql_query("SELECT hash from gebruiker WHERE username='$username'");
  38. $wwcheck = mysql_result($wachtwoorddb, 0);
  39. if($wwcheck != $wachtwoord){
  40. echo "Het wachtwoord is onjuist";}
  41. else
  42. $usernamedb = mysql_query("SELECT username from gebruiker WHERE username='$username'");
  43. $usercheck = mysql_result($usernamedb, 0);
  44. if($usercheck != $username){
  45. echo "gebruiker bestaat niet";}
  46.  
  47. }
  48.  
  49. ?>
  50.  
  51.  
  52.  
  53. <br />
  54. <br />
  55. <h3>Inloggen:</h3>
  56. <hr />
  57. <form method="post" action="index.php?id=6">
  58.  
  59.  
  60. <table>
  61. <tr>
  62. <td>Username:</td><td><input name="username" type="text" /></td>
  63. </tr>
  64. <tr>
  65. <td>Password:</td><td><input name="wachtwoord" type="password" /></td>
  66. </tr>
  67. </table>
  68. <p>
  69. <input type="submit" name="Submit" value="Inloggen" />
  70. </p>
  71. </form>
  72. <a href="index.php?id=16">Hier aanmelden</a>


het gaat om het stukje net boven het einde van het php deel

als je kijkt op http://sonnyrei...x.php?id=6
en inlogd met a/a dan kan je inloggen maar als je een verschillende username en pass invult dan geeft die errors weer ook als de username al bestaat kan iemand mij hierbij helpen?

hij moet dus weergeven als je een goede username gebruikt en een verkeerd wachtwoord dat het wachtwoord alleen fout is
en als bijde fout zijn dan moet die zeggen dat beide fout zijn

4 antwoorden

Gesponsorde links
Offline roberini - 22/10/2008 17:10
Avatar van roberini HTML beginner waar is je mysql tabel? hij zegt dat ie die mist. Als je die hebt, dan heb je allebei de errors weg
Offline Giant - 22/10/2008 17:17
Avatar van Giant PHP beginner gebruikersnaam al in de db staat die je hebt ingevuld of dat je wachtwoord fout is of allebei
de eerste 2 zijn ZEER onveilig...
altijd als er 1 van de twee niet klopt weergeven dat beide niet kloppen
Offline fisoes - 22/10/2008 18:25
Avatar van fisoes Nieuw lid
Giant schreef:
gebruikersnaam al in de db staat die je hebt ingevuld of dat je wachtwoord fout is of allebei
de eerste 2 zijn ZEER onveilig...
altijd als er 1 van de twee niet klopt weergeven dat beide niet kloppen


dit is 1 opdracht voor school om het zo te doen het moet erin verwerkt worden anders geen punten ik wil het liever ook niet zo doen :S

@roberini als het goed is heb ik die mysql dingen goed ingevuld de tabel heet gebruiker en voor de username heet het username en voor password is het ook gewoon password (wel in hash gecodeerd maar volgens een vriend van me moet je het gewoon aanroepen met password)
Offline roberini - 22/10/2008 20:39 (laatste wijziging 22/10/2008 20:44)
Avatar van roberini HTML beginner
  1. $wachtwoorddb = mysql_query("SELECT hash from gebruiker WHERE username='$username'");
  2. $wwcheck = mysql_result($wachtwoorddb, 0);
  3. if($wwcheck != $wachtwoord){
  4. echo "Het wachtwoord is onjuist";}
  5. else
  6. $usernamedb = mysql_query("SELECT username from gebruiker WHERE username='$username'");
  7. $usercheck = mysql_result($usernamedb, 0);
  8. if($usercheck != $username){
  9. echo "gebruiker bestaat niet";}


zie je die twee nullen op regel 2 en regel 7 (in jou code regel 39 en 44). Die eerste 0 moet je veranderen naar de rij van het wachtwoord(ik denk 2 in jou geval) en de tweede 0 moet je veranderen naar de rij van de gebruikersnaam(ik denk 1 in jou geval)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s