Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Logowanie, i przesłanie nicku przez zmienną w sesji
Forum PHP.pl > Forum > PHP
mercs600
Witam, znalazłem gdzieś w necie skrypt logowania dokładnie chodzi tutaj o "http://webmade.org/porady/sesje-php-system-logowania.php". Mam pewien problem chciałbym w tej sesji logowania przesłać nick z formularza do kolejnej strony zapisałem to tak "$_SESSION['user']=$_POST[login];" czyli mam
  1. <?php
  2. /******************************************************
  3. * logowanie
  4. * sprawdzanie czy sesja jest aktywna
  5. ******************************************************/
  6. session_register("zalogowany");
  7.  
  8. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  9. $_SESSION['user']=$_POST[login];
  10. $nick= $_SESSION['user'];
  11.  
  12. itd.....


I wszystko jest ok tylko problem jest w tym, że po zalogowaniu dostajemy wiadomość, że się zalogowałeś poprawnie, a potem dopiero że przejdź na stronę główną.. (strona główna to nadal ten sam plik) kod tego dotyczący:
  1. <?php
  2. /* jezeli kliknieto wyloguj */
  3. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  4. /* zalogowano poprawnie */
  5. if($_SESSION["zalogowany"]!=1){
  6.  
  7. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  8. if(mysql_num_rows(mysql_query("select * from admin where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  9. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  10. echo $nick;
  11. //tutaj sobie chciałem sprawdzić czy w tej części wyświetli się nick z sesji.. wyświetla
  12. $_SESSION["zalogowany"]=1;
  13. }
  14. else echo ShowLogin("Podano złe dane!!!");
  15. }
  16. else ShowLogin();
  17. }
  18. else{
  19. ?>

i po tym odcinku kodu jest ta część strony, gdzie chciałem wyświetlić nick z sesji, tutaj się nie wyświetla ponieważ przeładowałem stronę.. Czy jest jakieś rozwiązanie na ten problem ?
rychu123
Cytat(mercs600 @ 14.11.2009, 23:48:33 ) *
  1. <?php
  2. /* jezeli kliknieto wyloguj */
  3. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  4. /* zalogowano poprawnie */
  5. if($_SESSION["zalogowany"]!=1){
  6. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  7. if(mysql_num_rows(mysql_query("select * from admin where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  8. header('location: index.php);
  9. echo $nick;
  10. //tutaj sobie chciałem sprawdzić czy w tej części wyświetli się nick z sesji.. wyświetla
  11. $_SESSION["zalogowany"]=1;
  12. }
  13. else echo ShowLogin("Podano złe dane!!!");
  14. }
  15. else ShowLogin();
  16. }
  17. else{
  18. ?>


teraz powinno działać
Fifi209
Przecież nicku nie zapisałeś do sesji to jak chcesz go z niej wyświetlić ?
mercs600
To jak go zapisać ? smile.gif
Wicepsik
Popatrz na skrypt...
Arsen
Zapomniałeś o '' - cudzysłowach przy $_SESSION['user']=$_POST[login];.

Trochę późno na głębsze przyglądanie się...
mercs600
Ok wywnioskowałem, że powinienem zapisać jeszcze session_register("user"); ale i tak nic nie daje, ma ktoś jakiś pomysł ? ?

Cytat(rychu123 @ 14.11.2009, 23:59:49 ) *
teraz powinno działać


to wyjście zadziała tylko raz, ponieważ po odświeżeniu już tego loginu nie odczyta..
Fifi209
...

  1.  
  2. if ($_SESSION['login'] !== true) {
  3. if ($_POST['submit']) {
  4. // sprawdzasz dane i przypisujesz do $_SESSION['nick'] = $_POST['nick'];
  5. // ustawiasz $_SESSION['login'] = true;
  6. }else{
  7. // wyświetlasz formularz
  8. }
  9. }else{
  10.  
  11. // tutaj możesz zrobić echo $_SESSION['nick'];
  12. }
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.