Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] przesyłanie zmiennych
Forum PHP.pl > Forum > Przedszkole
nmts
Witam użytkowników php.pl, winksmiley.jpg

xxx

Na powyższej stronie plik od logowania jest includowany, a wygląda on tak:

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  5.  
  6. // polaczenie z baza
  7.  
  8. require "config.php"; 
  9. connection();
  10.  
  11. function ShowLogin($komunikat=""){
  12.  
  13. echo "$komunikat<br>";
  14.  
  15. // formularz
  16.  
  17. echo " <form id='form1' method='post' action='index.php?login=logowanie'>";
  18. echo " <fieldset>";
  19. echo " <legend>Zaloguj</legend>";
  20. echo " <label for='inputtext1'>Nick:</label>";
  21. echo " <input id='inputtext1' type='text' name='nick' value='' />";
  22. echo " <label for='inputtext2'>Password:</label>";
  23. echo " <input id='inputtext2' type='password' name='pass' value='' />";
  24. echo " <input id='inputsubmit1' type='submit' name='inputsubmit1' value='Zaloguj' />";
  25. echo " <p><a href='index.php?id=rejestracja'>Zaloz konto</a></p>";
  26. echo " <p><a href='#'>Przypomnij haslo</a></p>";
  27. echo " </fieldset>";
  28. echo " </form>";
  29.  
  30.  
  31.  
  32. }
  33.  
  34. $user=$_POST['nick'];
  35. $_SESSION["user"]=$_POST["nick"];
  36.  
  37. // tutaj proby wyswietlenia nazwy uzytkownika, wyswietlaja sie jedynie tuz po zalo
    gowaniu, pozniej znikaja
  38.  
  39. $_SESSION["user"];
  40. echo $_SESSION["user"];
  41. print $_SESSION["user"];
  42. echo $user;
  43.  
  44. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "<b>Zostales wylogowany!</b><br>";}
  45. if($_SESSION["zalogowany"]!=1){
  46. if(!empty($_POST["nick"]) && !empty($_POST["pass"])){
  47. if(mysql_num_rows(mysql_query("select * from stmn_users where nick = '".htmlspecialchars($_POST["nick"])."' AND pass = '".htmlspecialchars($_POST["pass"])."'"))){
  48. echo "Zalogowany jako $nick ,<br>
  49. <br><a href='index.php?id=profil'>Twoj profil</a>
  50. <br><a href='index.php?id=edit'>Edytuj profil</a><br>
  51. <br><a href='index.php?dzial=admin&id=admin'>Panel Admina</a><br>
  52. <br><a href='index.php?login=logowanie&wyloguj=tak'><b>Logout</b></a> ";
  53. $_SESSION["zalogowany"]=1;
  54. }
  55. else echo ShowLogin("Podano zle dane!!!");
  56. }
  57. else ShowLogin();
  58. }
  59. else{
  60.  
  61. echo $username; 
  62. echo $_SESSION['user']; 
  63.  
  64. ?>
  65. Zalogowany jako $nick ,<br>
  66. <br><a href='index.php?id=profil'>Twoj profil</a>
  67. <br><a href='index.php?id=edit'>Edytuj profil</a><br>
  68. <br><a href='index.php?dzial=admin&id=admin'>Panel Admina</a><br>
  69. <br><a href='index.php?login=logowanie&wyloguj=tak'><b>Logout</b></a>
  70. <?php
  71. }
  72.  
  73. ?>


Czy w powyższym przykładzie $_SESSION["user"] nie powinna przechowywać nazwy zalogowanego użytkownika? Jednak nie działa, więc jak sprawić by sesja zapamiętała tą zmienną(nick uzytkownika)? wstydnis.gif
Ociu
Temat otwarty.
l0ud
Na oko:

  1. <?php
  2. $_SESSION["user"]=$_POST["nick"];
  3. ?>


Dlaczego nadpisujesz za każdym razem sesję? Przecież $_POST['nick'] może być puste... Umieść to lepiej zaraz po

  1. <?php
  2. $_SESSION["zalogowany"]=1;
  3. ?>
nmts
Zrozumiałem, że nie mogę nadpisywać sesji ponieważ zmienna staje sie pusta. Jednak Twoja propozycja nie rozwiązuje problemu, sesja nie zapamiętuje wartości(jedynie w czasie pierwszego wykonywania skryptu). ^^ Jak to wykonać aby po reloadingu strony, sesja pamiętała zmienne(nick użytkownika z formularza)? worriedsmiley.gif



@edit

Postanowiłem użyć zupełnie innego kodu, sesja zapamiętuje zmienne, jednak są inne problemy ale to historia na inny temat.

..raczej EOT.
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.