Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przekazywanie parametrow
Forum PHP.pl > Forum > PHP
MiLupo
witam,
sytuacja ma sie nastepujaco:

w pliku plik.php mam cos takiego

  1. <form action='index.php' method='post'>
  2. <table class='td'>
  3. <tr><td>Username:</td><td><input type='text' name='username'></td></tr> <tr><td>Password:</td><td><input type='password' name='password'></td></tr>
  4. <tr><td></td><td><input type='submit' value='Login'></td></tr>
  5. </form>


natomist w pliku index.php mam sprawdzenie logowania...
  1. <?php
  2.  
  3. include('sprawdz.php');
  4.  
  5. ?>


...oraz link:

  1. <a href="index.php?id=1>1</a>


teraz pytanie:
dlaczego po nacisnieciu linka i przeskoczeniu do "poczatku" strony zmienna $is_loged_in ustawia sie na 0-ro questionmark.gif wyglada na to ze nie przekazywane sa zmienne z posta czy co? dlaczego?

oto plik sprawdz.php

  1. <?php
  2.  
  3.  
  4. $is_loged_in=&#092;"0\";
  5. if(isset($username)) {
  6. if(!isset($md5_password)) {
  7. $md5_password=md5($password);
  8. }
  9.  
  10.  
  11. /* odczyt bazy danych */
  12. $sql=mysql_connect('localhost', 'user', 'haselko');
  13.  
  14. if(!$sql){
  15. echo&#092;"Podłączenie do bazy danych nie powiodło się. Przepraszamy\";
  16. }
  17. elseif($sql){
  18.  
  19.  
  20.  
  21.  
  22. // odczyt bazy danych i sprawdzenie logowania
  23.  
  24. $result = mysql_query(&#092;"SELECT * FROM users\");
  25. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  26.  if($row[1]==&#092;"$username\"){ 
  27.  $user=$row[1];  
  28.  $pass=$row[2];
  29.  $imie=$row[3];
  30.  $nazwisko=$row[4];
  31.  
  32.  } //w
  33. }//if
  34. } //if
  35.  
  36.  
  37.  
  38.  
  39.  
  40. /* koniec */
  41.  
  42.  
  43.  
  44. if($user==$username && $pass==$md5_password) {
  45. $is_loged_in=1;
  46. setcookie(&#092;"username\", $username, time()+1012324305);
  47. setcookie(&#092;"md5_password\", $md5_password, time()+1012324305);
  48. }
  49. }
  50.  
  51.  
  52.  
  53. ?>


jesli przekaze metoda post do pliku index.php to wszystko jest ok i niby sie zalogowalem ale jesli klikne w jakiegos linka do pliku index.php to cala procedure diabli biora i $isl_loged_in nie zmienia sie na 1-den

prosze o pomoc... i z gory dzieki
Bakus
to bardzo proste... smile.gif
Cytat
w pliku index.php mam sprawdzenie logowania

  1. <?php
  2. include('sprawdz.php');
  3. ?>
- czyli w pliku index.php wczytujesz i wykonujesz plik sprawdz.php

Klikając na
  1. <a href="index.php?id=1>1</a>
wykonujesz plik index.php w którym wywołujesz (o czym mowa wyżej) plik sprawdz.php

i sedno sprawy...
na samym początku pliku sprawdz.php masz wpisane:
  1. <?php
  2. $is_loged_in=&#092;"0\";
  3. ?>

smile.gif
MiLupo
no nie tak proste... bo to zabezpieczenie przed niepoowolanym dostepem potem jest procedura sprawdzenie loginu i hasla czy jest takie samo jak w bazie i jesli jest wszysko ok to ustawiane jest cookie i $is_loged_in na 1-den...
Bakus
o ile umiem czytać, to pytałeś dlaczego po kliknięciu "<a href="index.php?id=1>1</a>" zmienna $is_loged_in ma wartość "0"...
MiLupo
... juz sobie poradzilem w inny sposob winksmiley.jpg
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.