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
kbaryk
post
Post #2





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

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


Wpisałem ten kawałek kodu w odpowiednie miejsce i nadal nie ma przekierowania na inną stronę, gdy podam inne hasło.

Kod wpisywany przeze mnie wygląda następująco:
  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. switch ($haslo){
  25. case 'haslo1': $link = 'main1.php';break;
  26. case 'haslo2': $link = 'main2.php';break;
  27. case 'haslo3': $link = 'main3.php';break;
  28. .....
  29. default: $link = 'main1.php';break;
  30. }
  31. header('Location: mojastrona.pl/'.$link);
  32. }
  33. else
  34. {
  35. echo $zle;
  36. }
  37.  
  38. ?>


Pracuję na programie php designer 7 i lada dzień skończy mi się okres testowy. W każdym razie program krzyczy, że "....." zawiera błędy, a po zalogowaniu się na stronę wyświetlany jest komunikat: "
Parse error: syntax error, unexpected '.' in /home/users/strona/public_html/podstrona/index.php on line 28".

Usunąłem w/w "...." znaki oraz przerobiłem skrypt na:
  1. switch ($haslo){
  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);
Teraz można zalogować się na stronę z hasłem numer 1 tak, jak uprzednio, natomiast hasło numer 2 działa analogicznie jak numer 1, nie otwiera linku "main2.php".
Czy może to być związane z faktem, że ten skrypt bierze jedynie pod uwagę linijkę "default: $link = 'main.php';break;" (IMG:style_emoticons/default/questionmark.gif)

Czy może jest to spowodowane, że w bazie są jedynie trzy kolumny: "id", "user" oraz "pass" (IMG:style_emoticons/default/questionmark.gif) W każdym razie chciałbym, by skrypt sprawdzał, czy w bazie w komórce "pass" jest hasło numer 1 bądź hasło numer 2 i przekierowywał na odpowiednią stronę.

Ten post edytował kbaryk 23.11.2011, 09:14:40
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: 15.10.2025 - 20:30