Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] logowanie
ukaszq
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Napisalem skrypt do logowania i pobierania hasel z bazy mysql. I nie mam zadnej reakcji z tego skryptu. Kiedy wpisuje haslo i login nie mam zadnej ifnormacji, nawet nie przenosi mnie do index.php.

Oto moj skrypt:
  1. <?php
  2. if(isset($_POST["Submit"])){
  3. $login=$_POST["login"];
  4. $pass=$_POST["pass"];
  5. $auth = false;
  6.  
  7.  $connection1 = mysql_connect('localhost', 'users', 'usery1') 
  8. or die('<div align='center'><span class='style1'>Brak polaczenia z baza danych. Skontaktuj sie z administratorem serwera: admi
    n@farmina.pl</span></div>'
    ); 
  9. $db1 = mysql_select_db('logins', $connection1) 
  10. or die('<div align='center'><span class='style1'>Nie moge polaczyc sie z baza danych. Skontaktuj sie z administratorem serwera
    : admin@farmina.pl</span></div>'
    ); 
  11.  
  12. $wyb_prod11=mysql_query("SELECT * from users");
  13. while(($wi= mysql_fetch_array($wyb_prod11)) !== false ) 
  14. {
  15. if($login == $wi['user'] and crypt($pass) == $wi['passwd']){
  16. $auth = true;
  17. break;
  18.  
  19. }
  20.  
  21.  
  22.  
  23. if($auth){
  24. $_SESSION["username"] = $login;
  25. if(isset($_GET["url"])){
  26. $url = $_GET["url"];
  27. }else{
  28. $url = "../index.php";
  29. }
  30. }
  31.  
  32. if(!isset($_COOKIE[session_name()])){
  33. if(strstr($url, "?")){
  34. header("Location: " . $url . "&" . session_name() . "=" . session_id());
  35. }else{
  36. header("Location: " . $url . "?" . session_name() . "=" . session_id());
  37. }
  38. }else{
  39. header("Location: " . $url);
  40. }
  41.  
  42. }
  43. }
  44. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Pokaż jeszcze formularz
Go to the top of the page
+Quote Post
ukaszq
post
Post #3





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


  1. <form method="post" action="<? echo $PHP_SELF;?>">
  2. <input name="login" type="text" class="style6" >
  3. <input name="pass" type="password" class="style6" >
  4. <input name="Submit" type="submit" class="style6" value="LOG" />
  5. </form>
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. <?php
  2. wyb_prod11=mysql_query("SELECT * from users");
  3. while(($wi= mysql_fetch_array($wyb_prod11)) !== false ) 
  4. {
  5. if($login == $wi['user'] and crypt($pass) == $wi['passwd']){
  6. $auth = true;
  7. break;
  8.  
  9. }
  10. ?>


Lepiej tak:
  1. <?php
  2. $pass=crypt($pass);
  3. $sql = mysql_query("SELECT * FROM users WHERE passwd = '$pass' AND user='$login' AND LIMIT 1");
  4. if(mysql_num_rows($sql)) {
  5. $auth = true;
  6. }
  7. ?>


Co do przekierowań ja bym sie zastanowił na inną budową ich

Ten post edytował potreb 13.05.2008, 12:24:33
Go to the top of the page
+Quote Post
ukaszq
post
Post #5





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Zmienilem i dalej nic...

Mam pytanie, czy moze trzeba cos zmienic w php.ini?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




daj se echo $url i zobacz czy masz popprawny adres.
wlacz se raportowanie bledow by zobaczyc jakie masz bledy, np: wyslanie naglowkow, albo bledy w zzapytaniu ktorymi uraczył cię potreb... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ukaszq
post
Post #7





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Próbuje wyswietlic url i nie mam nic. Nie wiem co jest nie tak...
Zrobilem tak ze skrypt wrzucilem do nowego pliku i dalej nic...
Jest pusto, nie wlacza zadnej strony.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Daj se co kilka linii: echo 'dupa numer' (poczawszy od pierwszej) i zobacz na ktorej dupie ci sie wyłoży. bedziesz wiedzial gdzie jest przyblizony blad. jak zadna ci sie nie wyswietli to znaczy ze wogole ci do tego pliku nie wszedl (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Wlacz tez raportowanie bledow:
  1. <?php
  2. ini_set('display_errors', 1);
  3. ?>

I ogolnie kombinuj a nie wszystko trzeba tlumaczyc jak malemu dziecku (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

ps: $url widze ustawiasz tylko gdy jest $auth. Skoro ci sie url nie wyswietlil to nie jest $auth.
Auth ustawiasz na podstawie wyniku zapytania, a juz ci mowilem ze potreb ma blad w zapytaniu. O jedno and za duzo.
Go to the top of the page
+Quote Post
ukaszq
post
Post #9





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


O and w zapytaniu to wiem... zmienilem to odrazu.
Co do url to pokazuje mi ze: ze zmienna jest nie zdefiniowana...

Przy zlym hasle przeniesc mnie na sprzedaz.serwer, a nie robi tego...
Pokazuje mi takie info: The requested URL /log/<br /><b>Notice</b>: Undefined variable: PHP_SELF in <b>/home/admin/www/sprzedaz/log/logowanie.php</b> on line <b>87</b><br /> was not found on this server.

Czy to chodzi o to ze serwer nie ma takiej opcji jak php_self?

Ten post edytował ukaszq 13.05.2008, 13:29:03
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Co do url to pokazuje mi ze: ze zmienna jest nie zdefiniowana...
to jak ci mowilem - nie ustawiasz auth bo zapytanie ci nic nie zwrocilo. sprawdzaj tam czy masz ok wszystko
Go to the top of the page
+Quote Post
ukaszq
post
Post #11





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 8.08.2007

Ostrzeżenie: (10%)
X----


Zapytanie dziala poprawnie!
$wyb=mysql_query("SELECT * from users where user = '$login' and passwd = '$pass' LIMIT 1");
Mam dodanego siebie do bazy i moje haslo i login sa poprawne!
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale czego na mnie krzyczysz? ja tylko mowie jak jest. $url ustawiasz tylko wtedy gdy $auth. A $auth ustawiasz gdy zapytanie zwroci rekord. Wiec zamiast krzyczec na mnie to prześledź tę sciezkę.
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: 25.08.2025 - 21:39