Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: coś nie tak z tą... sesją :(
Forum PHP.pl > Forum > Przedszkole
bronx
witam

wiem, że temat wałkowany był kilka razy ale nie moge sobie z tym poradzić, może ktoś pomoże:

zwykły formularz do logowania z dwoma polami: login i hasło

admin.php:

  1. <?php
  2.  
  3. require(&#092;"loginy.php\"); 
  4.  
  5.  
  6. $login = $_POST[login]; 
  7. $haslo = $_POST[haslo];
  8.  
  9.  
  10. if(isset($users[$login]) AND $users[$login]==$haslo){
  11.  
  12. echo &#092;"zalogowany<br><br><a href=\"dodaj_newsa.php\">dodaj newsa</a>\";
  13.  
  14. } 
  15. else{ 
  16.  
  17. echo &#092;"nie zalogowany\";
  18. }
  19. ?>



dodaj_newsa.php:

  1. <?php
  2.  
  3. require(&#092;"loginy.php\"); 
  4.  
  5.  
  6. if(isset($users[$login]) AND $users[$login]==$haslo){
  7.  
  8. echo &#092;"formularz donewsów\";
  9. }
  10. else
  11. {
  12. echo &#092;"nie zalogowany\";
  13. }
  14. ?>


czemu na dodaj_newsa.php zawsze wyświetla mi nie zalogowany ? co jest nie tak z tym questionmark.gif

pozdrawiam
revyag
Najpierw dodaj cudzysłowy:
  1. <?php
  2. $login = $_POST[&#092;"login\"];
  3. $haslo = $_POST[&#092;"haslo\"];
  4. ?>

Poza tym dlaczego w $users[$login] masz hasło ?
No i zmienna sesyjne musisz przekazać do następnej strony przez link:
  1. echo('<a href=\"dodaj_newsa.php?<?php echo SID?>\">dodaj newsa</a>');
bronx
zrobiłem to tak i..... NIE DZIAŁA sad.gif

admin.php
  1. <?php 
  2. require(&#092;"loginy.php\"); 
  3.  
  4. $login = $_POST[&#092;"login\"]; 
  5. $haslo = $_POST[&#092;"haslo\"];
  6.  
  7.  
  8. if(isset($users[$login]) AND $users[$login]==$haslo){
  9.  
  10. echo &#092;"<INPUT TYPE=button VALUE=\"Dodaj Newsa\" onClick=\"parent.location.href='dodaj_newsa.php?echo SID'\" style=\"width:400px;\" class=s><br><br>\";
  11. }
  12.  
  13. else
  14. {
  15. echo &#092;"nie zalogowany\";
  16. }
  17.  
  18. ?>


dodaj_newsa.php
  1. <?php 
  2. require(&#092;"loginy.php\"); 
  3.  
  4.  
  5. if(isset($users[$login]) AND $users[$login]==$haslo){
  6.  
  7. echo &#092;"formularz do newsów\";
  8. }
  9. else
  10. {
  11. echo &#092;"nie zalogowany\";
  12. }
  13.  
  14. ?>


pomoże ktoś ? - zawsze jest NIE ZALOGOWANY
shpyo
  1. <?php
  2.  
  3.  
  4. //teraz sesja jest zarejestrowana...
  5. $_SESSION['login'] = $_POST['login'];
  6. $_SESSION['haslo'] = $_POST['haslo'];
  7.  
  8. //teraz aby sprawdzić czy jesteś zalogowany wystarczy coś takiego:
  9.  
  10. if ( isset ($_SESSION[id]) && isset ($_SESSION['haslo']) )
  11. {
  12.  //dla zalogowanego...
  13. }
  14. else
  15. {
  16.  echo 'nie jestes zalogowany';
  17. }
  18.  
  19. ?>


to jest tylko przykład, tak w IFie drugi warunek jest opcjonalny. Natomiast u Ciebie jesteś cały czas niezalogowany bo (prawdopodobnie, a nawet na 100%) nie ma takiej zmiennej jak: $users[].

pozdr,
shpyo
bronx
plik z hasłami wygląda tak:

  1. <?php
  2. $users['bronx'] = 'haseleczko';
  3. $users['test'] = 'test';
  4. $users['janek'] = 'pestka';
  5. ?>


i może mi ktoś powiedzieć jak dokładnie ma wygladać plik admin.php oraz co wklejać na pozostałych (takich jak dodaj_newsa.php) questionmark.gif
shpyo
1. w admin.php session_start(); daje się na samym początku

admin.php
  1. <?php
  2. require_once(&#092;"loginy.php\");
  3.  
  4. $_SESSION['login'] = $_POST['login'];
  5. $_SESSION['haslo'] = $_POST['haslo'];
  6.  
  7. if( isset( $users[ $_SESSION[ 'login' ] ] ) AND $users[ $_SESSION[ 'login' ] ] == $_SESSION[ 'haslo' ] )
  8. {
  9. // ... dla zalogowanego, tu wstawiasz to co chcesz
  10. }
  11.  
  12. else
  13. {
  14. echo &#092;"nie zalogowany\";
  15. }
  16.  
  17. ?>


dodaj_newsa.php :

  1. <?php
  2. require_once(&#092;"loginy.php\");
  3.  
  4. if( isset( $users[ $_SESSION[ 'login' ] ] ) AND $users[ $_SESSION[ 'login' ] ] == $_SESSION[ 'haslo' ] )
  5. {
  6. echo &#092;"formularz do newsów\";
  7. }
  8. else
  9. {
  10. echo &#092;"nie zalogowany\";
  11. }
  12.  
  13. ?>


powinno być ok, teraz powinieneś sobie poradzić ;-)
bronx
a nie powinno gdzieś tutaj być session_register questionmark.gif
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.