Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] sesja + logowanie
gebp
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

Ostrzeżenie: (0%)
-----


Potrzebuje wskazówki pomocy. Mam plik index.html. Jest to prosty formularz (login i hasło) który przesyła postem dane do pliku index2.php. No i mam problem po wpisaniu loginu i hasła wywala mnie że nie poprawny login lub hasło (tak jak bym podał je źle). Login i hasło na pewno są poprawne. Do tabeli wprowadzilem je recznie. Pole 'pass" jest polem tekstowym tak jak i 'nazwa'.

  1. <?php
  2. $_SESSION['user'] = $_POST['login'];
  3. $_SESSION['pass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5. $l=$_POST['login']; //przypisanie do porównań
  6. $p=$_POST['pass']; //przypisanie do porównań
  7.  
  8. mysql_connect("localhost","root","");
  9. //wybieram z tabeli sklepy do porównania
  10. $s1 = "SELECT nazwa, pass FROM sklepy WHERE (nazwa like '$l')AND (pass like '$p')";
  11. $w= mysql_query($s1);
  12. $pnazwa= $w1['nazwa']; // przypisuje 'nazwe' zmiennej
  13. $ppass=$w1['pass']; // przypisuje 'pass' zmiennej
  14.  
  15. // porównuje; jezeli zgadza się 'authuser'=1 wyswietla link; jeżeli nie - link do logowania
  16. if (($SESSION['user'] ===$pnazwa) and ($_SESSION['pass'] === $ppass))
  17. { $_SESSION['authuser']=1;
  18. echo ("Zalogowany:".$l1);
  19. }
  20.  else {
  21.  echo ('
  22.  <TABLE>
  23.  <TR><TD>Niepoprawny login i hasło</TD></TR>
  24.  <TR><TD><a href="index.html">Strona główna</a></TD></TR>
  25.  </TABLE>)');
  26.  exit();}
  27.  
  28. ?>
  29. <HTML>
  30. <a href="dsklepy.html">Dodanie Sklepów.</a>
  31. </HTML>


Jakieś wskazówki a może moje myślenie i to co powyżej jest błedne albo jakieś błedy popełniłem proszę o pomoc.

Ten post edytował gebp 28.04.2006, 09:58:28
Go to the top of the page
+Quote Post
revyag
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


chyba nie tak:
  1. <?php
  2. $p=$_POST['login'];
  3. ?>


tylko tak:
  1. <?php
  2. $p=$_POST['pass'];
  3. ?>


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
gebp
post
Post #3





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

Ostrzeżenie: (0%)
-----


Raczej z tym sie nie zgodze
Idex.html
  1. <FORM ACTION="index2.php" method="post">
  2. <TR>
  3. <TD> Login: </TD>
  4. <TD><INPUT type="TEXT" name=login  ></TD>
  5. </TR>
  6. <TR>
  7. <TD> Hasło: </TD>
  8. <TD><INPUT type="PASSWORD" name=pass ></TD>
  9. </TR>
  10. <TR>
  11. <TD></TD>
  12. <TD><INPUT type="SUBMIT"  VALUE="zapisz"></TD>
  13. </TR>
  14. </FORM>
  15. </BODY>



A przepraszam racja już poprawiam.
Mój błąd. Tak to jest jak sie pisze po nocach. Sprawdze w domu bo niestety tam wszystko mam.
A tak poaz tym to wszystko OK (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował gebp 28.04.2006, 09:57:58
Go to the top of the page
+Quote Post
arioner
post
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 4.04.2006

Ostrzeżenie: (0%)
-----


Sprawdz ta literowke, zamiast

  1. <?php
  2. if (($SESSION['user']
  3. ?>


zrob

  1. <?php
  2. if (($_SESSION['user']
  3. ?>


Ja u siebie odpalilem ten kod i dziala.
Go to the top of the page
+Quote Post
gebp
post
Post #5





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

Ostrzeżenie: (0%)
-----


Racja należy mi sie nagana.
Kurde takie glupoty a ja pół paczki wczoraj wypaliłem bo nie chciało działać. Kurde.



Edit:

Mam jeszcze jedno pytanko.

Zmienna $_SESSION[] jest zmienną superglobalną tzn. że dopuki nie zakończy sie sesji przechowuje ona dane (login, pasword ect.).
Rozumując dalej na kolejnych stronach aby zidentyfikować czy np. dany user ma dostęp do tej strony wystarczy:
  1. <?php
  2.  
  3.  
  4. If (($_SESSION['user'] === $login) AND ($_SESSION['pass'] === $password))
  5.  {....}
  6. else {echo ("Zły login lub hasło");
  7. exit();
  8. }
  9.  
  10. ?>


Czy dobrze myslę (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Ten post edytował gebp 28.04.2006, 14:41:37
Go to the top of the page
+Quote Post
TomASS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Primo:
Brakuje Ci średnika na końcu session_start();

Secundo: Tak wystarczy, że tak zrobisz, ale ja raczej bym zrobił:
  1. <?php
  2. if(isset($_SESSION['flaga_czy_zalogowany'])){
  3.  echo 'Zalogowany';
  4. }
  5. else{
  6.  echo 'Niezalogwany';
  7. }
  8. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:16