Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autologowanie
Forum PHP.pl > Forum > Przedszkole
di@blo
Chce zrobic autologowanie cos jak na tym forum ale nie wiem gdzie mam bład?

Mam formularz z logowaniem i przechodze do pliku odpowiedzialnego za logowanie
  1. <?php
  2. $login=strtolower($HTTP_POST_VARS['login']);
  3. $haslo=md5(strtolower($HTTP_POST_VARS['haslo']));
  4.  
  5. $sql = mysql_connect ('localhost', 'root', '');
  6. $wyk = mysql_query("SELECT * FROM user WHERE haslo='$haslo' and login='$login'");
  7. $num = mysql_numrows($wyk);
  8.  
  9. if($num == false){ echo("Niepoprawny login lub hasło <br><br><A HREF=\"javascript:history.back();\" class='wroc'>Wróć i popraw</A>"); }
  10. else
  11. {
  12. $_SESSION["USER_AUTH"] = true;
  13. $_SESSION["USER_LOGIN"] = $login;
  14. $_SESSION["USER_PASS"] = $haslo;
  15. if(isset($alog) == true)
  16. {
  17. setcookie("user", $login, time()+3600);
  18.  setcookie("pass", $haslo, time()+3600);
  19. }
  20. header("Location: ../przejdz.php?menu=glowna.php");
  21. }
  22.  mysql_close($sql);
  23. ?>

wszystko ok wykonuje sie warunek isset($alog) i tworzy ciastka (sa w katalogu cookies na dysku) ale w pliku index.php nie wiedzi ciastek :/

  1. <?php
  2. setcookie("licznik", "1", time()+3600*3);
  3. include("skrypty/stat/licznik.php");
  4.  
  5. if( isset($_COOKIE["user"]) && isset($_COOKIE["pass"]) )
  6. {
  7.  echo "sa ciaska";
  8.  //cos tam dalej
  9.  }
  10. else { echo "nie ma ciastek"; }
  11.  
  12. i cos tam dalej
  13. ?>

zawsze pokazuje ze nie ma ciastek i nie chce wyswietlic nic z tablicy cookies choc skrypt licznika opart na cookies dziala

Chyba troche zamotalem ale jak ktos rozumie o co mi chodzi to prosze o pomoc lub ewentualne dodatkowe pytania

Z gory dzieki za pomoc
DEXTER_c
Tylko ja nie widze definicji zmiennej $alog :|
di@blo
zmienna $alog przychodzi z formularza
  1. <?php
  2.  
  3. <form action="logowanie/loger.php3" method="post">
  4.  
  5. <input type="text" name="login" size="30" maxlength="15">
  6. <input type="password" name="haslo" size="30" maxlength="15">
  7.  
  8. <input type="submit" value="Loguj" class="button">
  9.  
  10. <input type="checkbox" name="alog" value="1">zapamiętaj mnie
  11. </form>
  12.  
  13. ?>

No i sprawdzalem dziala bo w warunku if wstawilem echo i wyswietlilo tekst wiec ten warunek jest spelniony i przechodzi do wysylania cookies
DEXTER_c
Jeśli na pewno wykonały się funkcje setcookie(), a przeglądarka akceptuje ciasteczka, to ja nie mam pojęcia czemu to nie działa smile.gif
di@blo
warunek spelniony wiec chyba cookie wysyla
no i raczej wyslal cookie bo sprawdzalem w katalogu cookies systemu
a ciastak akceptuje bo licznik oparty na cookies dziala

w ksiazce o php znalazlem ze to
  1. <?php
  2.  
  3. echo "<pre>";
  4. print_r($_COOKIES);
  5. echo "</pre>";
  6.  
  7. ?>

powinno wyswietlic wszystkie cookies a nie wyswietla nawet tych ktore napewno istnieja czyli licznika :/
DEXTER_c
Spróbuj tego:

  1. <?php
  2. if(isset($alog) == true) {
  3.  $a = setcookie("user", $login, time()+3600);
  4.  $b = setcookie("pass", $haslo, time()+3600);
  5.  if( $a == true && $b == true ) {
  6. echo '<big>Wysłano pomyślnie ciasteczka</big>';
  7.  }
  8. }
  9. ?>
di@blo
sprawdzilem i wyswietla tekst "Wysłano pomyślnie ciasteczka" wiec zostaje tylko odczyt
  1. <?php
  2. include("skrypty/stat/licznik.php");
  3. setcookie("licznik", "1", time()+3600*3);
  4.  
  5. if( isset($_COOKIE['pass']) && isset($_COOKIE['pass']) )
  6. {
  7. echo "sa ciastka";
  8. $user = $_COOKIE["user"];
  9. $pass = $_COOKIE["pass"];
  10. $sql = mysql_connect ('localhost', 'root', '') or die('Błąd');
  11. mysql_select_db("baza");
  12. $wyk = mysql_query("SELECT * FROM user WHERE haslo='$pass' and login='$user'");
  13. $num = mysql_numrows($wyk);
  14.  
  15. if($num == true)
  16. {
  17. $_COOKIE["USER_AUTH"] = true;
  18. $_SESSION["USER_LOGIN"] = $user;
  19. $_SESSION["USER_PASS"] = $pass;
  20. }
  21.  
  22. mysql_close($sql);
  23. }
  24. else{ echo "nie ma ciasteczek"; }
  25. ?>
  26. i cos tam dalej



ale ciagle wyswietla ze nie ma ciasteczek! Dlaczego?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.