login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login probleem

Offline mike87 - 06/05/2005 00:30
Avatar van mike87Nieuw lid Hallo,
Ik ben met een Administratie-script bezig waarbij mensen in kunnen loggen en vervolgens toegang hebben tot alle beheer-pagina's van overige systemen.

Nu is mijn probleem dat na het inloggen de melding komt dat je niet ingelogd ben...
Ik heb al van alles geprobeert en kan maar niet zien wat er fout gaat.

Mijn 2 pagina's zijn:

Index.php
  1. <?php
  2.  
  3. $gebruikers = array (
  4.  
  5. "*******" => "*******", // hier kun je dus meerdere gebruikers toevoegen.
  6. "*******" => "*******",
  7. "*******" => "*******",
  8.  
  9. );
  10. ?>
  11. <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
  12. <tr>
  13. <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="topie">
  14. <tr>
  15. <td><div align="center" class="style1">:: Ajaxfancenter - Administratie </div></td>
  16. </tr>
  17. </table></td>
  18. </tr>
  19. <tr>
  20. <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
  21. <tr>
  22. <td width="22%" class="new"><div align="center">
  23. <p><strong> - [ Inloggen ] - </strong></p>
  24. <p><?php
  25. if ($_SERVER['REQUEST_METHOD'] != 'POST') {
  26. echo "
  27. <form method=\"POST\" action=\"$PHP_SELF\">
  28. <input type=\"hidden\" name=\"submit\" value=\"1\">
  29. <center><table width=50%>
  30. <tr><td width=100% align=center>Gebruikersnaam:
  31. </td>
  32. <td width=100% align=center><input type=\"text\" name=\"loginName\"></td>
  33. </tr>
  34. <tr>
  35. <td width=100% align=center>Password: </td>
  36. <td width=100% align=center><input type=\"password\" name=\"passWord\"></td>
  37. </tr>
  38. <tr>
  39. <td align=center><input name=\"submit2\" type=\"submit\" value=\"Log in\"></td>
  40. <td align=center><input name=\"reset\" type=\"reset\" value=\"Wissen\"></td>
  41. </tr>
  42. </table>
  43. </form>";
  44. }
  45. else{
  46.  
  47. if (($loginName == "") || ($passWord == "")) { echo"<b>Je bent een of meerdere velden vergeten!</b><br><a href=\"javascript:history.back(1)\" style=\"color:#1199ff;font-weight: bold\">terug</a>";
  48. }
  49.  
  50. elseif (strcmp($gebruikers[$loginName],$passWord) != 0) {
  51. echo"<b>De door jouw opgegeven gegevens kloppen niet!!</b>";
  52. }
  53. elseif (strcmp($gebruikers[$loginName],$passWord) == 0) {
  54. setcookie("afclog", $_REQUEST['LoginNaam']);
  55. echo "<meta http-equiv=\"Refresh\" content=\"0;URL=overzicht.php\">";
  56. }
  57. }
  58. ?></p>
  59. </div></td>
  60. </tr>
  61. </table></td>
  62. </tr>
  63. </table>
  64. <?php ob_end_flush(); ?>


overzicht.php
  1. <?php
  2. if ( isset( $_COOKIE['afclog'] ) ) {
  3. echo "
  4. <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
  5. <tr>
  6. <td width=\"22%\" class=\"new\"><div align=\"center\">
  7. <p><strong> - [ Menu ] - </strong></p>
  8. <p>- Nieuwssysteem.<br>
  9. - Linksysteem.<br>
  10. - Nieuwsbrief.<br>
  11. - Poll. <br>
  12. - Gastenboek.<br>
  13. - Spel - Admin.
  14. </p>
  15. </div></td>
  16. <td width=\"78%\" align=\"left\" valign=\"top\"> <div align=\"left\">
  17. <p>Index.</p>
  18. <p>Hallo, "$_COOKIE['afclog']",<br>
  19. Welkom in het administratie gedeelte van Ajaxfancenter.<br>
  20. Vanaf hier heb je toegang tot diverse beheer-pagina's van de website.<br>
  21. </p>
  22. </div></td>
  23. </tr>
  24. </table>";
  25. }
  26. else {
  27. echo "Je heb geen toegang tot dit gedeelte van de website!";
  28. }
  29. ?></td>
  30. </tr>
  31. </table>


Weet iemand waar het hier niet goed gaat, want ik wordt er onderhand compleet gek van:\ :'(

2 antwoorden

Gesponsorde links
Offline Stijn - 06/05/2005 01:17
Avatar van Stijn PHP expert omdat je cookie niet geplaatst wordt: HTTP-Headers 

je kan dit simpel oplossen door gewoon bovenaan de pagina (achter '<?php')
  1. <?php
  2. //je code van index.php
  3. ob_end_flush();//dit als laatste regel gebruiken ;-)
  4. ?>


groeten stijn 
Offline Legolas - 06/05/2005 07:38
Avatar van Legolas Onbekend Ik zou niet met cookies werken, of in ieder geval minder.
edit: dit is echt super-onveilig. stel dat een hacker gewoon ff naar zen cookies gaat en daar de cookie afclog aanmaakt, kan ie alles op overzicht.php
Dus beter::
  1. <?php
  2. $gebruikers = array (
  3. "*******" => "*******",
  4. "*******" => "*******",
  5. "*******" => "*******",
  6. );
  7. ?>
  8. <table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
  9. <tr>
  10. <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="topie">
  11. <tr>
  12. <td><div align="center" class="style1">:: Ajaxfancenter - Administratie </div></td>
  13. </tr>
  14. </table></td>
  15. </tr>
  16. <tr>
  17. <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
  18. <tr>
  19. <td width="22%" class="new"><div align="center">
  20. <p><strong> - [ Inloggen ] - </strong></p>
  21. <p><?php
  22. if ($_SERVER['REQUEST_METHOD'] != 'POST') {
  23. echo "
  24. <form method=\"POST\" action=\"".$PHP_SELF."\">
  25. <input type=\"hidden\" name=\"submit\" value=\"1\">
  26. <center><table width=50%>
  27. <tr><td width=100% align=center>Gebruikersnaam:
  28. </td>
  29. <td width=100% align=center><input type=\"text\" name=\"loginName\"></td>
  30. </tr>
  31. <tr>
  32. <td width=100% align=center>Password: </td>
  33. <td width=100% align=center><input type=\"password\" name=\"passWord\"></td>
  34. </tr>
  35. <tr>
  36. <td align=center><input name=\"submit2\" type=\"submit\" value=\"Log in\"></td>
  37. <td align=center><input name=\"reset\" type=\"reset\" value=\"Wissen\"></td>
  38. </tr>
  39. </table>
  40. </form>";
  41. }
  42. else{
  43.  
  44. if (($loginName == "") || ($passWord == "")) { echo"<b>Je bent een of meerdere velden vergeten!</b><br><a href=\"javascript:history.back(1)\" style=\"color:#1199ff;font-weight: bold\">terug</a>";
  45. }
  46.  
  47. elseif (strcmp($gebruikers[$loginName],$passWord) != 0) { // hier is iets fout maar weet nog niet precies wat, beveilig het script t.n.t. alleen maar
  48. echo"<b>De door jouw opgegeven gegevens kloppen niet!!</b>";
  49. }
  50. elseif (strcmp($gebruikers[$loginName],$passWord) == 0) {
  51. setcookie("afclog", $_REQUEST['LoginNaam']);
  52. $_SESSION['ingelogd'] = 'true';
  53. echo "<meta http-equiv=\"Refresh\" content=\"0;URL=overzicht.php\">";
  54. }
  55. }
  56. ?></p>
  57. </div></td>
  58. </tr>
  59. </table></td>
  60. </tr>
  61. </table>

Dat is index.php en dan iets veiliger.
Nu overzicht.php:
  1. <?php
  2. if ($_SESSION['ingelogd'] == 'true') {
  3. echo "
  4. <table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">
  5. <tr>
  6. <td width=\"22%\" class=\"new\"><div align=\"center\">
  7. <p><strong> - [ Menu ] - </strong></p>
  8. <p>- Nieuwssysteem.<br>
  9. - Linksysteem.<br>
  10. - Nieuwsbrief.<br>
  11. - Poll. <br>
  12. - Gastenboek.<br>
  13. - Spel - Admin.
  14. </p>
  15. </div></td>
  16. <td width=\"78%\" align=\"left\" valign=\"top\"> <div align=\"left\">
  17. <p>Index.</p>
  18. <p>Hallo, "$_COOKIE['afclog']",<br>
  19. Welkom in het administratie gedeelte van Ajaxfancenter.<br>
  20. Vanaf hier heb je toegang tot diverse beheer-pagina's van de website.<br>
  21. </p>
  22. </div></td>
  23. </tr>
  24. </table>";
  25. }
  26. else {
  27. echo "Je heb geen toegang tot dit gedeelte van de website!";
  28. }
  29. ?></td>
  30. </tr>
  31. </table>

Ik doe het dus met sessions, dan moet je dus de rechten van de admins, uit een DB halen, is allemaal veel veiliger.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.273s