Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL][PHP]przekierowanie na stronę zależne od hasła pobranego z bazy, Problem do rozwiązania
kbaryk
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 10.11.2011

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


Witam serdecznie,

Jestem nowym użytkownikiem forum. Potrzebuję wykonać pewną, prostą aczkolwiek skomplikowaną dla osoby nie zajmującej się programowaniem czynność. Ktoś kiedyś stworzył pewną stronkę, która umożliwiała wejście na nią po uwierzytelnieniu. Dane pobierane są z bazy MySQL.

Skrypt ten działa następująco - po podaniu pary: login i hasło nr.1 znajdującego się w bazie, otwiera stronę powitalną "main.php", w przypadku błędnych poświadczeń, skrypt otwiera stronę "zle.php".

Niestety osoba pisząca całą stronę już nie pracuje, w związku z tym strona działa jak widać poniżej.

Docelowo wpisanie loginu i hasła nr.2 z bazy winno otwierać stronę main2.php, analogiczne z main3.php

  1. <?php
  2.  
  3.  
  4. $login=$_POST['login'];
  5. $pass=$_POST['pass'];
  6.  
  7. $zle='<html><head><link rel="stylesheet" type="text/css" href="style.css" /><meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"><title>Klub czytelnika</title><link rel="stylesheet" href="style.css" type="text/css"></head><body bgcolor="black"><form action="send" method="post" target="zle.php"><table height="100" width="900" align="center" frameborder="0" border="0" cellspacing="0" cellpadding="0" valign="top"><tr><td width="900" height="100" align="right" valign="middle" colspan="2"></tr></td><tr><td width="900" height="25" align="right" valign="middle"><p align="center" class="text">Wprowadzono niepoprawny login i hasło.</p><p align="center" class="text">Skontaktuj się z opiekunem.</p></td></tr></table></FORM></body></html>';
  8. $ok='<html><head><link rel="stylesheet" type="text/css" href="style.css" /><meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"><META HTTP-EQUIV="Refresh" CONTENT="3; URL=main.php"><title>Klub czytelnika</title><link rel="stylesheet" href="style.css" type="text/css"></head><body bgcolor="#111111"><table height="620" width="900" align="center" valign="middle" bgcolor="#111111" cellspacing="0" cellpadding="0" border="0" frameborder="0"><tr><td width="900" height="125" align="center" valign="middle" colspan="2" background="img/baner.jpg"></td></tr><tr><td width="900" height="9" align="right" valign="middle" bgcolor="#111111"></td></tr><tr><td width="900" height="477" align="right" valign="middle" bgcolor="#111111"> <table width="900" height="477" align="center" valign="middle" bgcolor="#111111" cellspacing="0" cellpadding="0" border="0" frameborder="0"> <tr> <td width="72" height="467" align="right" valign="middle" bgcolor="#111111"></td> <td width="751" height="467" align="center" valign="middle" bgcolor="#000000"> <p class="welcome">Biblioteka wita wszystkich</p> </td> <td width="10" height="467" align="right" valign="middle" background="img/rightpanel.jpg"></td> <td width="67" height="467" align="right" valign="middle" bgcolor="#111111"></td> </tr> <tr> <td width="72" height="10" align="right" valign="middle" bgcolor="#111111"></td> <td width="751" height="10" align="right" valign="middle" background="img/bottompanel1.jpg"></td> <td width="10" height="10" align="right" valign="middle" background="img/bottompanel2.jpg"></td> <td width="67" height="10" align="right" valign="middle" bgcolor="#111111"></td> </tr> </table></td></tr><tr><td width="900" height="6" align="right" valign="middle" bgcolor="#111111"></td></tr></table></body></html>';
  9.  
  10.  
  11.  
  12.  
  13. $pol=mysql_connect("http://","LOGIN","HASŁO") or die ("Uwaga, polaczenie zawiera bledy!");
  14.  
  15. mysql_select_db("BAZA", $pol);
  16.  
  17.  
  18. $query=("SELECT `user` FROM `users` WHERE `user` = '".$login."' AND `pass` = '".$pass."'");
  19.  
  20. $wynik= mysql_query ($query);
  21. $ile= mysql_numrows($wynik);
  22. if ($ile > 0)
  23. {
  24. echo $ok;
  25. }
  26. else
  27. {
  28. echo $zle;
  29. }
  30.  
  31. ?>


Będę niezmiernie wdzięczny za pomoc.

Krzysztof
Powód edycji: [Daiquiri]: Poprawiam bbcode
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redelek
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Hej,

Moim zdaniem przy takim kodzie otwiera Ci się cały czas main.php.
Nie masz nigdzie w kodzie zmiennej $haslo , więc ta zmienna jest pusta i otwiera zawsze opcje default main.php.
Ty masz zmienną $pass, więc zmień to na taki kod

  1. switch ($pass){
  2. case 'haslo1': $link = 'main.php';break;
  3. case 'haslo2': $link = 'main2.php';break;
  4. case 'haslo3': $link = 'main3.php';break;
  5.  
  6. default: $link = 'main.php';break;
  7. }
  8. header('Location: '.$link);


Poza tym dosyć ciekawe jest to zapytanie

  1. $query=("SELECT `user` FROM `users` WHERE `user` = '".$login."' AND `pass` = '".$pass."'");


Pobierasz tylko pole USER z tabeli USERS, a sprawdzasz jeszcze pole pass o tu WHERE `user` = '".$login."' AND `pass` = '".$pass."'"), a pola pass nie pobierasz
Ja bym to zapytanie przerobił na takie
  1. $query=("SELECT `user`,`pass` FROM `users` WHERE `user` = '".$login."' AND `pass` = '".$pass."'");
i wtedy to ma sens lub SELECT * wszystkie pola z tabeli

Oczywiście PHP to moje hobby, a nie praca i chlebek więc mogę się mylić (IMG:style_emoticons/default/smile.gif) )

Ten post edytował redelek 23.11.2011, 10:07:51
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 12:42