login  Naam:   Wachtwoord: 
Registreer je!
 Forum

kan niet meer inloggen! (Opgelost)

Offline sachico - 28/04/2008 18:42 (laatste wijziging 28/04/2008 18:43)
Avatar van sachicoNieuw lid Ik weet niet hoe het komt maar ik kan niet inloggen, er komt dan altijd fout. Weet er iemand hoe dit komt?

php code
  1. <table width="95%" cellpadding="0" cellspacing="0" border="1" bordercolor="#3399ff">
  2. <tr>
  3. <td bgcolor="#3399ff">Inloggen!</td>
  4. </tr>
  5. <tr>
  6. <td>
  7.  
  8. <form method="post">
  9. <table border="0" width="30%" cellspacing="0" cellpadding="0">
  10. <tr>
  11. <td width="50%">Gebruikersnaam</td>
  12. <td width="50%"><input type="text" name="gebruikersnaam" value="Gebruikersnaam" onclick="gebruikersnaam.value=''" size="20"></td>
  13. </tr>
  14. <tr>
  15. <td width="50%">Wachtwoord</td>
  16. <td width="50%"><input type="password" name="wachtwoord" value="Wachtwoord" onclick="wachtwoord.value=''" size="20"></td>
  17. </tr>
  18. <tr>
  19. <td width="50%">Ingelogd blijven</td>
  20. <td width="50%"><select size="1" name="dagen">
  21. <option selected value="1">1 Dag</option>
  22. <option value="2">2 Dagen</option>
  23. <option value="7">7 Dagen</option>
  24. <option value="14">2 Weken</option>
  25. <option value="28">1 Maand</option>
  26. <option value="178">6 Maand</option>
  27. <option value="356">1 Jaar</option>
  28. </select></td>
  29. </tr>
  30. <tr>
  31. <td width="100%" colspan="2"><input type="submit" name="login" value="Login"></td>
  32. </tr>
  33. </table>
  34. </form>
  35. </center>
  36. <?
  37. if( isset($_POST["login"]))
  38. {
  39. $query = mysql_query("select * from leden where gebruikersnaam='".$_POST["gebruikersnaam"]."'");
  40. $row = mysql_fetch_object($query);
  41. $wachtwoord1 = md5($_POST["wachtwoord"]);
  42. if($wachtwoord1 == $row->wachtwoord && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
  43. {
  44. setcookie ("login", $_POST["gebruikersnaam"],time()+3600*$dagen);
  45. echo "U bent ingelogt.";
  46. echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=index.php\">";
  47. }
  48. else
  49. {
  50. echo "Fout.";
  51. }
  52. }
  53. ?>
  54.  
  55.  
  56. </td>
  57. </tr>
  58. </table>
titjes schreef:
CODETAGS gebruiken!!!

10 antwoorden

Gesponsorde links
Offline Koen - 28/04/2008 18:43 (laatste wijziging 28/04/2008 18:44)
Avatar van Koen PHP expert PHP Code tussen [.code=php] en [./code] ( uiteraard zonder de 'puntjes'.

titjes schreef:
Al gebeurd! Toch bedankt. 

sliphead schreef:
At your service! 
Offline sachico - 28/04/2008 18:47
Avatar van sachico Nieuw lid Maar wat is nu het probleem, en sorry van die codetags.
Offline Martijn - 28/04/2008 18:50 (laatste wijziging 28/04/2008 18:56)
Avatar van Martijn Crew PHP
  1. && $_POST["gebruikersnaam"] == $row->gebruikersnaam

waarom dat, dat heeft bijzonder weinig zin mssn dat t daar aan licht, hoofdlettergevoelig mssn (betwijfel t, maar t kan)
Ook kun je beter mysql_fetch_object vervangen door mysql_fetch_array of mysql_fetch_assoc, dat is sneller

edit: je kunt trouwens beter een sessie gebruiken, ipv een cookie. Een cookie is aan te passen, session is al wat lastiger als gebruiker 
Offline sachico - 28/04/2008 18:57
Avatar van sachico Nieuw lid Ik heb nu dit
  1. && $_POST["gebruikersnaam"] == $row->gebruikersnaam

Weggelaten maar nu komt er dit:
  1. Fatal error: Cannot use object of type stdClass as array in /home/zitaline/domains/zitaline.gethost.nl/public_html/login.php on line 30
tes taan als ik met mijn gebruikersnaam + wachtwoord (ingevuld) op inloggen druk.
Offline Wim - 28/04/2008 18:58 (laatste wijziging 28/04/2008 19:01)
Avatar van Wim Crew algemeen
  1. $query = mysql_query("select * from leden where gebruikersnaam='".$_POST["gebruikersnaam"]."'");
  2. $row = mysql_fetch_object($query);
  3. $wachtwoord1 = md5($_POST["wachtwoord"]);

waarom zo niet:?
  1. $query = mysql_query("SELECT COUNT(id)
  2. FROM leden
  3. WHERE gebruikersnaam='".mysql_real_escape_string($_POST["gebruikersnaam"])."' AND wachtwoord='".md5($_POST["wachtwoord"])."'");
  4. if(mysql_num_rows($query) == 1)
  5. {
  6. // correcte info
  7. }
  8. else
  9. {
  10. echo ('fout!');
  11. }
Offline sachico - 28/04/2008 19:12
Avatar van sachico Nieuw lid
  1. <table width="95%" cellpadding="0" cellspacing="0" border="1" bordercolor="#3399ff">
  2. <tr>
  3. <td bgcolor="#3399ff">Inloggen!</td>
  4. </tr>
  5. <tr>
  6. <td>
  7.  
  8. <form method="post">
  9. <table border="0" width="30%" cellspacing="0" cellpadding="0">
  10. <tr>
  11. <td width="50%">Gebruikersnaam</td>
  12. <td width="50%"><input type="text" name="gebruikersnaam" value="Gebruikersnaam" onclick="gebruikersnaam.value=''" size="20"></td>
  13. </tr>
  14. <tr>
  15. <td width="50%">Wachtwoord</td>
  16. <td width="50%"><input type="password" name="wachtwoord" value="Wachtwoord" onclick="wachtwoord.value=''" size="20"></td>
  17. </tr>
  18. <tr>
  19. <td width="50%">Ingelogd blijven</td>
  20. <td width="50%"><select size="1" name="dagen">
  21. <option selected value="1">1 Dag</option>
  22. <option value="2">2 Dagen</option>
  23. <option value="7">7 Dagen</option>
  24. <option value="14">2 Weken</option>
  25. <option value="28">1 Maand</option>
  26. <option value="178">6 Maand</option>
  27. <option value="356">1 Jaar</option>
  28. </select></td>
  29. </tr>
  30. <tr>
  31. <td width="100%" colspan="2"><input type="submit" name="login" value="Login"></td>
  32. </tr>
  33. </table>
  34. </form>
  35. </center>
  36. <?
  37. if( isset($_POST["login"]))
  38. {
  39.  
  40. $query = mysql_query("SELECT COUNT(id)
  41. FROM leden
  42. WHERE gebruikersnaam='".mysql_real_escape_string($_POST["gebruikersnaam"])."' AND wachtwoord='".md5($_POST["wachtwoord"])."'");
  43. if(mysql_num_rows($query) == 1)
  44. {
  45. // correcte info
  46. }
  47. else
  48. {
  49. echo ('fout!');
  50. }
  51.  
  52. if($wachtwoord1 == $row->wachtwoord && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
  53. {
  54. setcookie ("login", $_POST["gebruikersnaam"],time()+3600*$dagen);
  55. echo "U bent ingelogt.";
  56. echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=index.php\">";
  57. }
  58. else
  59. {
  60. echo "Fout.";
  61. }
  62. }
  63. ?>
  64.  
  65.  
  66. </td>
  67. </tr>
  68. </table>



Dit is nu: login.php Maar als ik probeer in te loggen: krijg ik nog altijd fout.
Offline Rens - 28/04/2008 19:15 (laatste wijziging 28/04/2008 19:18)
Avatar van Rens Gouden medaille

Crew algemeen
  1. $query = mysql_query("SELECT COUNT(id)
  2. FROM leden
  3. WHERE gebruikersnaam='".mysql_real_escape_string($_POST["gebruikersnaam"])."' AND wachtwoord='".md5($_POST["wachtwoord"])."'");

Leer eens error handling gebruiken!
  1. $query = mysql_query("SELECT COUNT(id)
  2. FROM leden
  3. WHERE gebruikersnaam='".mysql_real_escape_string($_POST["gebruikersnaam"])."' AND wachtwoord='".md5($_POST["wachtwoord"])."'") or die(mysql_error());


http://www.sitemasters.be/FAQ/2/Foutmeldingen#faq3
http://www.site...r_Handling

edit; Heb het gevoel dat er van je code ook niet veel klopt...
Verander je code eens in het volgende:
  1. <?PHP
  2. ?>
  3. <table width="95%" cellpadding="0" cellspacing="0" border="1" bordercolor="#3399ff">
  4. <tr>
  5. <td bgcolor="#3399ff">Inloggen!</td>
  6. </tr>
  7. <tr>
  8. <td>
  9. <form method="post">
  10. <table border="0" width="30%" cellspacing="0" cellpadding="0">
  11. <tr>
  12. <td width="50%">Gebruikersnaam</td>
  13. <td width="50%"><input type="text" name="gebruikersnaam" value="Gebruikersnaam" onclick="gebruikersnaam.value=''" size="20"></td>
  14. </tr>
  15. <tr>
  16. <td width="50%">Wachtwoord</td>
  17. <td width="50%"><input type="password" name="wachtwoord" value="Wachtwoord" onclick="wachtwoord.value=''" size="20"></td>
  18. </tr>
  19. <tr>
  20. <td width="50%">Ingelogd blijven</td>
  21. <td width="50%"><select size="1" name="dagen">
  22. <option selected value="1">1 Dag</option>
  23. <option value="2">2 Dagen</option>
  24. <option value="7">7 Dagen</option>
  25. <option value="14">2 Weken</option>
  26. <option value="28">1 Maand</option>
  27. <option value="178">6 Maand</option>
  28. <option value="356">1 Jaar</option>
  29. </select></td>
  30. </tr>
  31. <tr>
  32. <td width="100%" colspan="2"><input type="submit" name="login" value="Login"></td>
  33. </tr>
  34. </table>
  35. </form>
  36. </center>
  37. <?
  38. if($_SERVER['REQUEST_METHOD'] == "POST")
  39. {
  40. $query = mysql_query("SELECT COUNT(id)
  41. FROM leden
  42. WHERE gebruikersnaam='".mysql_real_escape_string($_POST["gebruikersnaam"])."' AND wachtwoord='".md5($_POST["wachtwoord"])."'") or die(MySQL_Error());
  43. if(mysql_num_rows($query) == 1)
  44. {
  45. setcookie ("login", mysql_real_escape_string($_POST["gebruikersnaam"]),time()+3600*$dagen);
  46. echo "U bent ingelogt.";
  47. echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=index.php\">";
  48. } else {
  49. echo "Fout.";
  50. }
  51. }
  52. ?>
  53. </td>
  54. </tr>
  55. </table>
Offline sachico - 28/04/2008 19:25
Avatar van sachico Nieuw lid Nu komt er dit te staan
  1. Notice: Undefined variable: dagen in /home/zitaline/domains/zitaline.gethost.nl/public_html/login.php on line 46

En als ik met een verkeerd paswoord inlog, word ik ook degelijk ingelogged maar als ik dan op een pagina wil klikken dat beveiligd is, dan kom ik op de aanmeld pagina te staan.
Offline Rens - 28/04/2008 19:57
Avatar van Rens Gouden medaille

Crew algemeen
Die $dagen moet gewoon $_POST['dagen'] worden...
Offline sachico - 28/04/2008 20:06
Avatar van sachico Nieuw lid Bedankt rens, dit werkte.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.448s