Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]logowanie + sesja
Forum PHP.pl > Forum > Przedszkole
Misior
Witam, mam problem z logowaniem! Otoz, w pliku index1.php umiescilem formularz logowania! Po prawidlowym wpisaniu loginu i hasla, przekierowuje nas do pliku index2.php! Do tego momentu wszystko dziala! Wybierajac opcje przyjecie lub klienci niestety wracamy do index1.php, chodz umiescilem na tych 2 stronach:

  1. <?php
  2. if ($_SESSION['authuser']!=1) {
  3. include "index1.php";
  4. exit();
  5. }
  6. ?>


Kod index1.php
  1. <?
  2. ?>
  3.  
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  5. <HTML>
  6. <HEAD>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  8. <META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16">
  9. <META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny">
  10. <META NAME="Description" CONTENT="opis dokumentu">
  11. <META NAME="Author" CONTENT="autor dokumentu">
  12. <META NAME="Generator" content="Dev-php 2.0.12">
  13. <TITLE>Strona glowna hurtowni e-fajka</TITLE>
  14. </HEAD>
  15. <BODY>
  16. <style>
  17. body{
  18. background: white;
  19. }
  20.  
  21. table{
  22. border: 10;
  23. background-image: url(rysunki/tlo.jpg) }
  24.  
  25. }
  26.  
  27. </style>
  28. <form action="index1.php" method="GET"> 
  29. <TABLE align="center">
  30. <TR>
  31.  <TD><img src="rysunkilogo1.jpg"></TD>
  32. </TR>
  33. <TR>
  34.  <TD align="center">
  35.  <?
  36. print "Dzisiejsza data: " .date("m/d/y")."<br>";
  37.  ?>
  38.  <br>
  39.  
  40. <tr>
  41. <td align="center">
  42. <INPUT TYPE="SUBMIT" NAME="zamowienie" VALUE="Zamowienie">
  43.  
  44.  
  45. <INPUT TYPE="SUBMIT" NAME="zestawienia" VALUE="Zestawienia"></td></tr>
  46.  
  47. </form><br>
  48. <TR align="center"><br>
  49. <td><b><br>Witamy</b><br>Witamy na stronie hurtowni papierosow e-fajka! Dzieki nam bez wychodzenia z domu, masz mozliwosc <br>zamowienia
  50. interesujacych uzywek! Wszystko w cenach hurtowych!<hr></td></tr><br>
  51.  
  52. <tr align="center"><td><form method="post" action="index2.php"><b>Administrator</b><br><br>Login: <input type="text" name="user"></td></tr>
  53. <tr align="center"><td>Haslo: <input type="password" name="pass"></td></tr>
  54. <tr align="center"><td><Input type="submit" name="Submit" value="Wyslij"><Input type="reset" name="reset" value="Popraw"><br><br><hr></td></tr>
  55. <tr><td><img src="rysunkidol.jpg"></td></tr>
  56.  
  57. </form>
  58. </table>
  59. <?
  60.  
  61. if( isset($_GET['zamowienie']) && $_GET['zamowienie']== true)
  62. {
  63. include("zam.php");
  64. }
  65.  
  66. if( isset($_GET['zestawienia']) && $_GET['zestawienia']== true)
  67. {
  68. include ("zestawienia.php");
  69. }
  70.  
  71.  
  72.  
  73. ?>
  74.  
  75. </BODY>
  76. </HTML>


oraz index2.php
  1. <?
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5. if (($_SESSION['username'] == 'kasia') and ($_SESSION['userpass'] == 'patryk'))
  6. {
  7. $_SESSION['authuser'] = 1;
  8. }
  9. else 
  10. {
  11. include "index1.php";
  12. exit();
  13. }
  14. ?> 
  15. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  16. <HTML>
  17. <HEAD>
  18. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  19. <META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16">
  20. <META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny">
  21. <META NAME="Description" CONTENT="opis dokumentu">
  22. <META NAME="Author" CONTENT="autor dokumentu">
  23. <META NAME="Generator" content="Dev-php 2.0.12">
  24. <TITLE>Panel administracyjny</TITLE>
  25. </HEAD>
  26. <BODY>
  27. <style>
  28. body{
  29. background: white;
  30. }
  31.  
  32. table{
  33. border: 10;
  34. background-image: url(rysunki/tlo.jpg) }
  35.  
  36. }
  37.  
  38. </style>
  39. <form action="index2.php" method="GET"> 
  40. <TABLE align="center">
  41. <TR>
  42.  <TD><img src="rysunkilogo1.jpg"></TD>
  43. </TR>
  44. <TR>
  45.  <TD align="center">
  46.  <?
  47. print "Dzisiejsza data: " .date("m/d/y")."<br>";
  48.  ?>
  49.  
  50.  <br>
  51.  
  52. <tr>
  53. <td align="center">
  54.  
  55.  
  56.  
  57. <INPUT TYPE="SUBMIT" NAME="przyjecie" VALUE="Przyjecie">
  58.  
  59. <INPUT TYPE="SUBMIT" NAME="klienci" VALUE="Klienci">
  60.  
  61.  
  62. <INPUT TYPE="SUBMIT" NAME="zestawienia" VALUE="Zestawienia"></td></tr>
  63.  
  64. <br>
  65. <TR align="center"><br>
  66. <td><b><br>Witaj <? echo $_SESSION['username'];?></b><br>Witamy na stronie hurtowni papierosow e-fajka! Dzieki nam bez wychodzenia z domu, masz mozliwosc <br>zamowienia
  67. interesujacych uzywek! Wszystko w cenach hurtowych!<hr></td></tr><br>
  68. <tr align="center"><td><b>Menu:</b><br>Zamowienie - <i>opcja dla klientow</i><br>Przyjecie - <i>opcja dla administratora</i><br>Zestawienia - <i>dla wszystkich</i><br>Klienci - <i>opcja dla administratora</i>
  69. <hr></td></tr>
  70. <tr><td><img src="rysunkidol.jpg"></td></tr>
  71.  
  72. </form>
  73. </table>
  74. <?
  75.  
  76.  
  77. if( isset($_GET['przyjecie']) && $_GET['przyjecie']== true)
  78. {
  79. include ("przyjecie.php");
  80. }
  81.  
  82. if( isset($_GET['zestawienia']) && $_GET['zestawienia']== true)
  83. {
  84. include ("zestawienia.php");
  85. }
  86.  
  87. if( isset($_GET['klienci']) && $_GET['klienci']== true)
  88. {
  89. include ("klienci.php");
  90. }
  91.  
  92.  
  93. ?>
  94.  
  95. </BODY>
  96. </HTML>
piotrekkr
session_start() na kazdej stronie na samym poczatku a nie tylko na tych dwoch stronach
Misior
Jak juz wczesniej pisalem na kazdej stronie mam:
  1. <?php
  2. if ($_SESSION['authuser']!=1) {
  3. include "index1.php";
  4. exit();
  5. }
  6. ?>
piotrekkr
a rzuc plikiem klienci.php czy jak ty nazwales ta strone na ktora sie nie da wejsc
Misior
prosze bardzo

  1. <?
  2. if($_SESSION['authuser']!=1){
  3. include "index1.php";
  4. exit();
  5. }
  6. ?>
  7. <HTML>
  8. <HEAD>
  9. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  10. <TITLE>Dodawanie nowego klienta</TITLE>
  11. </HEAD>
  12. <BODY>
  13. <center><i>Opcja pozwala dodac nowego klienta do bazy danych</i></center>
  14. <FORM ACTION="klienci.php" METHOD="GET">
  15.  
  16. <table align="center">
  17.  
  18.  
  19. <tr>
  20. <td>Imie:</td>
  21. <td><input type="text" name="imie"></td></tr><br>
  22. <td>Nazwisko:</td>
  23. <td><input type="text" name="nazwisko"></td></tr><br>
  24. <td>Ulica:</td>
  25. <td><input type="text" name="ulica"></td></tr><br>
  26. <td>Kod:</td>
  27. <td><input type="text" name="kod"></td></tr><br>
  28. <td>Miejscowosc:</td>
  29. <td><input type="text" name="miejscowosc"></td></tr><br>
  30. <td>Telefon:</td>
  31. <td><input type="text" name="telefon"></td></tr>
  32.  
  33. <tr>
  34. <td><input type="submit" value="zastosuj"></td>
  35. <td><input type="reset" value='Popraw'></td>
  36. <input type="hidden" name="co" value="zastosuj">
  37. </tr></table>
  38.  
  39. <br>
  40.  
  41. </FORM>
  42. <table align="center">
  43. <tr><td>
  44. <a href="index1.php"><center>Strona glowna</center></a></td></tr></table>
  45. <?
  46. $kod = $_GET['kod'];
  47. $telefon = $_GET['telefon'];
  48. if($_GET['imie'] && $_GET['nazwisko'] && $_GET['ulica'] && $_GET['kod'] && $_GET['miejscowosc'] && $_GET['telefon'])
  49. {
  50. if(ereg ( '^[0-9]{2}-[0-9]{3}$' , $kod )){
  51. if(ereg ( '^[1-9]{4}-[1-9]{3}$' , $telefon)){
  52.  
  53. $conn= mysql_connect("localhost","root","krasnal"); 
  54. mysql_select_db("hurtownia"); 
  55.  
  56. $query = "INSERT INTO klienci (imie,nazwisko,ulica,kod,miejscowosc,telefon) VALUES ('".$_GET['imie']."','".$_GET['nazwisko']."','".$_GET['ulica']."','".$_GET['kod']."','".$_GET['miejscowosc']."','".$_GET['telefon']."');";
  57. $wynik1 = mysql_query($query);
  58.  
  59. print "<center>Dodano nowego klienta do bazy danych</center>";
  60. }
  61. else {
  62. print "<center>Telefon musi byc zapisany w formie: nnnn-nnn np: 2423-669</center>";
  63. }
  64. }
  65.  
  66. else 
  67. {
  68. print "<center>Nie dodano nowego klienta! Kod pocztowy musi byc zapisany w formie ll-lll np.: 41-705</center>";
  69. }
  70. }
  71. ?>
  72. </body>
  73. </html>
piotrekkr
hmm a sproboj wstawic cos takiego:
  1. <?
  2. if($_SESSION['authuser']!=1){
  3. echo $_SESSION['authuser'];
  4. exit();
  5. };
  6. ?>

i napisz co sie wyswietla w tym pliku co nie mozesz do niego wejsc
Misior
Niestety nie wyswietla nic! Przeskakuje na index1.php!
piotrekkr
a zamieniles :
  1. <?
  2. if($_SESSION['authuser']!=1){
  3. include "index1.php";
  4. exit();
  5. }
  6. ?>

na
  1. <?php
  2. if($_SESSION['authuser']!=1){
  3. echo $_SESSION['authuser'];
  4. exit();
  5. };
  6. ?>
Misior
tak, zamienilem! Co z tym jest...wrr
piotrekkr
hmm blad jest tu
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5. if (($_SESSION['username'] == 'kasia') and ($_SESSION['userpass'] == 'patryk'))
  6. {
  7. $_SESSION['authuser'] = 1;
  8. }
  9. else 
  10. {
  11. include "index1.php";
  12. exit();
  13. }
  14. ?>


formularz odwoluje sie do samego siebie znaczy do index2.php

Kod
<form action="index2.php" method="GET">

i teraz na samym poczatku wlaczana jest sesja i zostaje zmienna sesyjna 'authuser' wyzerowana i jej wartosc sie nie zmienia bo nie ostalo nic wyslane do tego skryptu metoda post. wiec jakby tu rzec zawsze zmienna sesyjna 'authuser' rowna sie 0. mysle ze ten jeden warunek zalatwi sprawe:
  1. <?php
  2. if(empty($_SESSION['authuser'])){
  3. $_SESSION['username'] = $_POST['user'];
  4. $_SESSION['userpass'] = $_POST['pass'];
  5. $_SESSION['authuser'] = 0;
  6. if (($_SESSION['username'] == 'kasia') and ($_SESSION['userpass'] == 'patryk'))
  7. {
  8. $_SESSION['authuser'] = 1;
  9. }
  10. else 
  11. {
  12. include "index1.php";
  13. exit();
  14. };
  15. };
  16. ?>

wtedy to zmienna sesyjna autuser nie bedzie zerowana jesli juz wczesniej byla ustawiona na 1
Misior
Ale gdy wpiszemy poprwany login i haslo to przerzuca nas na index2.php! Tylko dalej nie dziala!

No dziala smile.gif dziekuje bardzo! Jeden maly warunek a tyle sprawia problemow! Jesli jestesmy juz w tym watku to chcialbym sie dowiedziec jak wylogowac sie!

Cos takiego??

  1. <?php
  2.  
  3. $_SESSION = array();
  4. setcookie(nazwa_twojej_sesji, '', time()-300, '/', '', 0);
  5.  
  6. ?>


tylko jaka jest u mnie nazwa sesji??

Dzieki wielkie!!
piotrekkr
tak mi sie zdaje ze to zbedna kombinacja wystarczy chyba :
session_unset()
session_destroy()
zdaje sie ze w takiej kolejnosci powinny byc uzyte:
  1. <?php
  2. ?>


zreszta poczytaj w manualu tam jest wszystko napisane
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.