login  Naam:   Wachtwoord: 
Registreer je!
 Forum

inlog werkt niet goed (Opgelost)

Offline Gezienus - 22/04/2010 20:54 (laatste wijziging 22/04/2010 21:22)
Avatar van GezienusLid Ik heb het volgende inlogscherm:

  1. <link href="main.css" rel="stylesheet" type="text/css" />
  2. <?php
  3.  
  4. $do = $_GET['do'];
  5. if (!$do)
  6. {
  7. ?>
  8. <div id="main_border">
  9. <form name=login action=index.php?location=login&do=controleer method=post>
  10. <br>
  11. <table width="965px" border="0">
  12. <tr align="center">
  13. <td colspan="3">Geef uw gebruikersnaam en wachtwoord in om in te loggen:</td>
  14. </tr>
  15. <tr>
  16. <td width="250">&nbsp;</td>
  17. <td width="282">&nbsp;</td>
  18. <td width="421">&nbsp;</td>
  19. </tr>
  20. <tr>
  21. <td>&nbsp;</td>
  22. <td>Gebruikersnaam:</td>
  23. <td><input type=text name=gebruikersnaam /></td>
  24. </tr>
  25. <tr>
  26. <td>&nbsp;</td>
  27. <td>Wachtwoord</td>
  28. <td><input type=password name=wachtwoord /></td>
  29. </tr>
  30. <tr>
  31. <td>&nbsp;</td>
  32. <td>Onthouden op deze computer</td>
  33. <td><input type=checkbox name=onthouden /></td>
  34. </tr>
  35. <tr>
  36. <td>&nbsp;</td>
  37. <td>&nbsp;</td>
  38. <td>&nbsp;</td>
  39. </tr>
  40. <tr>
  41. <td>&nbsp;</td>
  42. <td><input type=submit name=Login value=Login /></td>
  43. <td>&nbsp;</td>
  44. </tr>
  45. </table>
  46. </form>
  47. </div>
  48. <script type="text/javascript"><!--
  49. document.login.gebruikersnaam.focus();
  50. //--></script>
  51. <br>
  52. <?php
  53. } elseif ($do == "controleer")
  54. {
  55. $gebruikersnaam = $_POST['gebruikersnaam'];
  56. $wachtwoord = $_POST['wachtwoord'];
  57. $gebruikersnaam = strtolower($gebruikersnaam);
  58. $onthouden = $_POST['onthouden'];
  59. if (!$gebruikersnaam or !$wachtwoord)
  60. {
  61. print "Fout, gebruikersnaam en wachtwoord invullen!";
  62. echo '<meta http-equiv="refresh" content="2;URL=index.php?location=login" />';
  63. } else
  64. {
  65. $sql = mysql_query("SELECT * FROM users WHERE lower(username)='$gebruikersnaam'");
  66. $result = mysql_num_rows($sql);
  67. if ($result < 1)
  68. {
  69. print "Fout: Gebruiker niet gevonden!";
  70.  
  71. echo '<meta http-equiv="refresh" content="2;URL=index.php?location=login" />';
  72. } else
  73. {
  74. $row = mysql_fetch_array($sql);
  75. $wachtwoord_db = $row['password'];
  76. $user_id = $row['user_id'];
  77.  
  78. if (md5($wachtwoord) != $wachtwoord_db)
  79. {
  80. print "Fout: Wachtwoord verkeerd!<br><br>";
  81. echo '<meta http-equiv="refresh" content="2;URL=index.php?location=login" />';
  82. } else
  83. {
  84. $_SESSION['ingelogd_toegang'] = true;
  85. if ($onthouden)
  86. {
  87. echo '<meta http-equiv="refresh" content="0;URL=cms/index.php?do=schrijf_cookie"';
  88. } else
  89. {
  90. echo '<meta http-equiv="refresh" content="0;URL=cms/index.php"';
  91. }
  92. }
  93. }
  94. }
  95. }
  96. ?>


Op de te beveiligen pagina plaats ik nu de volgende code:

  1. <?php
  2. if ($_SESSION['ingelogd_toegang'] != true) {
  3. print "U heeft geen toegang tot deze site!<br> Probeer opnieuw in te loggen!";
  4. }
  5. ?>


De pagina wordt nu echter niet geopend maar ik krijg de waarschuwingsmelding

Wat mist er nog??

8 antwoorden

Gesponsorde links
Offline bennieboy - 22/04/2010 21:11
Avatar van bennieboy HTML beginner in een query moet je variabelen als volgt weergeven

'".$variabele."'

Misschien helpt dit?
Offline Gezienus - 22/04/2010 21:18
Avatar van Gezienus Lid Volgens mij helpt dat niet.
Ik kom nl wel al door het inlogscherm, alleen wordt de pagina waar ik naar toe spring (cms/index.php) niet geopend maar "geweigerd" met de melding:

U heeft geen toegang tot deze site!
Probeer opnieuw in te loggen
Offline denniseik - 22/04/2010 21:55 (laatste wijziging 22/04/2010 21:55)
Avatar van denniseik Lid Heb je wel session_start(); bovenaan je pagina's staan ?!! Anders kun je geen gebruik maken van sessies. Mocht dit nog niet helpen dan kan je misschien quotes om 'true' zetten.
Offline Gezienus - 22/04/2010 22:10
Avatar van Gezienus Lid session_start(); staat boven aan de pagina
Quotes helpen ook niet
Offline cx1213 - 23/04/2010 07:58
Avatar van cx1213 Lid heb je ook session_Start boven aan de pagina van het inlogscherm staan wat ik zie hem niet.
Offline larssy1 - 23/04/2010 08:37 (laatste wijziging 23/04/2010 08:38)
Avatar van larssy1 MySQL beginner 1. Waarom gebruik je geen " bij je values in je form..
<input type=checkbox name=onthouden /> .... Dat is gewoon fout zonder de "

2. je Sql op regel 65 moet op deze manier
$sql = mysql_query("SELECT * FROM users WHERE lower(username)='".$gebruikersnaam."'");

3. Heet je veld in je database lower(username) ??

-------------------
Je twee complete scripts van je login en index is handiger. Nu moeten wij uitgaan van bepaalde dingen..

Offline TotempaaltJ - 23/04/2010 17:11
Avatar van TotempaaltJ PHP interesse
larssy1 schreef:
1. Waarom gebruik je geen " bij je values in je form..
<input type=checkbox name=onthouden /> .... Dat is gewoon fout zonder de "

2. je Sql op regel 65 moet op deze manier
$sql = mysql_query("SELECT * FROM users WHERE lower(username)='".$gebruikersnaam."'");

3. Heet je veld in je database lower(username) ??

-------------------
Je twee complete scripts van je login en index is handiger. Nu moeten wij uitgaan van bepaalde dingen..

1. Dat is dus een dubbele quote (een teken) niet twee enkelen.
2. Die puntjes zijn voor string concatenation, oftewel samenvoeging.
3. LOWER is een MySQL builtin functie.
Offline joannis11 - 23/04/2010 18:49 (laatste wijziging 23/04/2010 18:49)
Avatar van joannis11 Nieuw lid
  1. <?php
  2.  
  3. $do = $_GET['do'];
  4. if (!$do)
  5. {
  6. ?>


wat als je daarvan dit maakt?

  1. <?php
  2.  
  3. $do = $_GET['do'];
  4. if (!isset($do) )
  5. {
  6. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.226s