login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ik kan niet uitloggen??

Offline Simeken - 06/05/2005 17:10
Avatar van SimekenHTML beginner ik heb loguit.php aangemaakt maar als ik naar die pagina ga ik toch naar ingelogd.php...

login.php
  1. <?
  2.  
  3. require("config.php");
  4. $ipadres=$_SERVER['REMOTE_ADDR'];
  5. //query opbouwen
  6. $query="SELECT * FROM ipban WHERE ipadres='" .$ipadres ."'";
  7. $result=mysql_query($query) or die ("FOUT IN DE QUERY: " . mysql_error());
  8.  
  9. //als het ipadres van de bezoeker is gevonden in de ipbanlijst dan
  10. //doorsturen naar een zelf te kiezen pagina
  11. $aantal = mysql_num_rows($result);
  12. if ($aantal >= 1)
  13. {
  14. header("Location: banned.php");
  15. die ();
  16. }
  17.  
  18.  
  19. if($submit)
  20. {
  21.  
  22. $query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
  23. $result = mysql_num_rows($query);
  24.  
  25. if(!$result)
  26. {
  27. $a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of uw account is nog niet geactiveerd...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
  28. }
  29.  
  30. else
  31. {
  32. while($object = mysql_fetch_assoc($query))
  33. {
  34. $memberid = $object['memberid'];
  35. $logintimes = $object['logintimes'];
  36. }
  37.  
  38. $ipadres=$_SERVER['REMOTE_ADDR'];
  39. $time=time();
  40. mysql_query("UPDATE members SET ipadres='$ipadres' WHERE memberid = '$memberid'") or die (mysql_error());
  41.  
  42. if($logintimes == 0)
  43. {
  44. $logintimes2 = $logintimes+1;
  45. mysql_query("UPDATE members SET logintimes='$logintimes2', laatstonline=NOW(), sessiebegin='$time', cashgeld='3000', bankgeld='0' WHERE memberid = '$memberid'") or die (mysql_error());
  46. }
  47.  
  48. elseif($logintimes > 0)
  49. {
  50. $logintimes2 = $logintimes+1;
  51. mysql_query("UPDATE members SET logintimes='$logintimes2', laatstonline=NOW(), sessiebegin='$time' WHERE memberid = '$memberid'") or die (mysql_error());
  52. }
  53.  
  54. else
  55. {
  56.  
  57. }
  58.  
  59. $login = 1;
  60. session_register("login");
  61. session_register("memberid");
  62. }
  63. }
  64.  
  65. if($login == 0)
  66. {
  67. ?>
  68.  
  69.  
  70. <form method="POST" action="">
  71. <input type="hidden" name="submit" value="1">
  72. Gebruikersnaam:<br>
  73. <input type="text" name="gebruikersnaam" size="20" value=""><br>
  74. Wachtwoord:<br>
  75. <input type="password" name="wachtwoord" size="20" value=""><br><br>
  76. <input type="submit" name="submit" value="Login">
  77. <input type="reset" value="Registreren" onclick="document.location.href=('aanmelden.php')">
  78. </form>
  79. <?
  80. }
  81.  
  82. elseif($login == 1)
  83. {
  84. header("Location: ingelogd.php");
  85. }
  86.  
  87.  
  88. // Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
  89. echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
  90. ?>


loguit.php
  1. <?php
  2. $_SESSION = array();
  3. $login = 0;
  4. if(isset($_COOKIE['gebruikersnaam'])) {
  5. setcookie("gebruikersnaam", "", time(), "/");
  6. }
  7. if(isset($_COOKIE['wachtwoord'])) {
  8. setcookie("gebruikersnaam", "", time(), "/");
  9. }
  10. header("Location: index2.php");
  11.  
  12. ?>
(dit is overgenomen van een membersysteem)
ingelogd.php
  1. <?
  2.  
  3. require("config.php");
  4.  
  5. // Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
  6. echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
  7.  
  8. if(!$login){
  9. ?>
  10.  
  11. Niet ingelogd<br><br>
  12. > <a href="login.php">Log in</a><br>
  13. > <a href="aanmelden.php">Meld aan</a>
  14.  
  15. <?
  16. }
  17. if($login AND session_is_registered('memberid')){
  18. $query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");
  19.  
  20. while( $object = mysql_fetch_assoc($query))
  21. {
  22. $gebruikersnaam = $object['gebruikersnaam'];
  23. $priveberichten = $object['pm'];
  24. }
  25.  
  26. $query = mysql_query("SELECT * FROM priveberichten WHERE naar = '$memberid'");
  27. $result = mysql_num_rows($query);
  28. ?>
  29.  
  30. Ingelogd als :
  31. <?php
  32. echo "<b>".$gebruikersnaam."</b>";
  33.  
  34. $query = mysql_query("SELECT * FROM members WHERE memberid = '$memberid'");
  35. while( $object = mysql_fetch_assoc($query))
  36. {
  37. if ( $object['rang'] == 1 )
  38. {
  39. echo "(Speler)";
  40. }
  41. elseif ( $object['rang'] ==2 )
  42. {
  43. echo "(Forum-admin)";
  44. }
  45. elseif ( $object['rang'] ==3 )
  46. {
  47. echo "(Forum-admin en moderator)";
  48. }
  49. elseif ( $object['rang'] ==4 )
  50. {
  51. echo "(Admin)";
  52. }
  53. }
  54. ?>
  55. <br><br>
  56.  
  57. <SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
  58. <!--
  59.  
  60. function FrameUpdate() {
  61. self.location.href = "pm.php";
  62. parent.frame1.location.href = "menu_links.php";
  63. }
  64.  
  65. //-->
  66. </SCRIPT>
  67.  
  68. > <a href="login.php" onclick="FrameUpdate(); return false;">Ga naar het spel</a><br>
  69. <?
  70. }
  71. ?>


index2.php
  1. <?
  2.  
  3. require("config.php");
  4.  
  5. // Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
  6. echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
  7.  
  8. if($login AND session_is_registered('memberid'))
  9. {
  10. ?>
  11. <html>
  12. <title>Homepage MKIQ</title>
  13. <frameset cols="30%,*" frameborder="0">
  14. <frame src="menu_links.php" name="frame1" noresize>
  15. <frameset rows="17%,83%">
  16. <frame src="logo.html" name="frame2" scrolling="no" noresize>
  17. <frame src="pm.php" name="frame3" scrolling="yes" noresize>
  18. </frameset>
  19. </frameset>
  20. </html>
  21. <?
  22. } //sluiten sessie
  23.  
  24. elseif(!$login AND !session_is_registered('memberid'))
  25. {
  26. ?>
  27.  
  28. <html>
  29. <title>Homepage MKIQ</title>
  30. <frameset cols="30%,*" frameborder="0">
  31. <frame src="homepage_menu_links.html" name="frame1" noresize>
  32. <frameset rows="17%,83%">
  33. <frame src="logo.html" name="frame2" scrolling="no" noresize>
  34. <frame src="home.html" name="frame3" scrolling="yes" noresize>
  35. </frameset>
  36. </frameset><noframes></noframes>
  37. </html>
  38.  
  39. <?
  40. }
  41. ?>


Weet iemand hoe het komt dat ik toch niet uitgelogd geraak.
Dan bij voorbaat

(ik weet dat het een lang script is :$ )

6 antwoorden

Gesponsorde links
Offline Legolas - 06/05/2005 17:16
Avatar van Legolas Onbekend
  1. <?php
  2. $_SESSION = array();
  3. unset($login);
  4. if(isset($_COOKIE['gebruikersnaam'])) {
  5. setcookie("gebruikersnaam", "", time()-3600, "/");
  6. }
  7. if(isset($_COOKIE['wachtwoord'])) {
  8. setcookie("gebruikersnaam", "", time()-3600, "/");
  9. }
  10. echo "Succesvol uitgelogd";
  11. ?>

Is volgens mij beter, mss werkt et
Offline Gerard - 07/05/2005 00:47
Avatar van Gerard Ouwe rakker
  1. <?php
  2. $query="SELECT * FROM ipban WHERE ipadres='" .$ipadres ."'";
  3. $result=mysql_query($query) or die ("FOUT IN DE QUERY: " . mysql_error());
  4.  
  5. //als het ipadres van de bezoeker is gevonden in de ipbanlijst dan
  6. //doorsturen naar een zelf te kiezen pagina
  7. $aantal = mysql_num_rows($result);
  8. if ($aantal >= 1)
  9. {
  10. header("Location: banned.php");
  11. die ();
  12. }
  13. ?>


  1. <?php
  2.  
  3. if (@mysql_result(mysql_query("SELECT COUNT(`ipadres`) FROM `ipban` WHERE `ipadres` = '".$ipadres."'"), 0) >= 1) {
  4.  
  5. header("Location: banned.php");
  6. exit();
  7.  
  8. }
  9.  
  10. ?>


Gewoon suggestie 
Offline Legolas - 07/05/2005 08:21 (laatste wijziging 07/05/2005 08:31)
Avatar van Legolas Onbekend @Proximus:
dat maakt toch niks uit, het bannen werkt dacht ik goed.
ff moment volgens mij is er iets fout aant cookie gebruik...
edit: je sette de cookie op time(), en dat is dus niet in het verleden... dus blijft die cookie bestaan:!:
zoals mijn voorbeeld moet het werken, dus time()-3600 bijvoorbeeld.^^
Offline Thomas - 07/05/2005 13:09 (laatste wijziging 07/05/2005 13:10)
Avatar van Thomas Moderator - je (re)set (bij uitloggen) 2x hetzelfde cookie:
setcookie("gebruikersnaam", "", time()-3600, "/");

- session_register() is verouderd
- je maakt geen gebruik van superglobals:
if($submit) ...
if(!$login) { ... (gevaarlijk !!! denk aan je_pagina.php?login=1 !!!)
unset($login); ? unset($_SESSION['login']) misschien? maar je sessie al weggegooid / vernietigd / whatever

Dus tijd om met een flinke bezem je scripts eens door te werken.

Tis een wonder dat je in de eerste plaats in kunt loggen .
Offline Gerard - 07/05/2005 15:56
Avatar van Gerard Ouwe rakker
Citaat:
@Proximus:
dat maakt toch niks uit, het bannen werkt dacht ik goed.


Performance zal met mijn query iets omhoog gaan. Niet veel maar alle kleine beetjes helpen. Vooral aangezien dit, volgens mij dan, weer een opzet is voor een text-based online game waar 100den mensen tegelijk kunnen zitten te spelen.
Offline Shifty - 07/05/2005 16:04
Avatar van Shifty Onbekend Het kan inderdaad beter zijn om eerst wat tutorials door te lezen, want je maakt nog gebruik van verouderde functies (zoals murfy al aangaf). Je moet proberen het nieuwste van het nieuwste te gebruiken, want dat is (vaak) het veiligste).

Probeer ook te letten op eht onnodig aanmaken van variabelen. Ik zie dat je ergens $time = time(); hebt staan. Dit is overbodig en kan dus weg, wat resulteert in een netter en overzichtelijker script. Je zal dit wel met een korrel zout nemen, maar je hebt er echt profijt van. Evenals goede namen verzinnen voor je variabelen. $a zegt voor jou waarschijnlijk genoeg, maar voor een vreemde niet. Wanneer je na een lange tijd weer terugkijkt op het script, zal je het waarschijnlijk ook niet meer snappen, dus zorg ten aller tijde voor de juiste benamingen.

In jouw script zou ik $a vervangen door bijvoorbeeld $sBericht. s staat voor string (rij letters en/of letters + cijfers). Haal variabelen buiten quotes! Een goed voorbeeld kan je in deze tutorial onderaan vinden: http://www.site...mp;id=78#6
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.255s