Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] logowanie
gigzorr
post
Post #1





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

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


Witam.
Po wielu nieudanych probach , napisania skryptu logowania poddalem sie.
  1. <?php session_start();?>
  2. <?php
  3. // laczenie z baza danych i wybor bazy danych
  4.  
  5. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  6. $wyborbazy = mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  7.  
  8. $username = $_POST['username'];
  9. $password = md5($_POST['password']);
  10. $password = addslashes($password);
  11. $username = htmlspecialchars($username);
  12.  
  13. if ($_GET['username'] != '') { //jezeli ktos przez adres probuje kombinowac
  14. }
  15. if ($_GET['password'] != '') { //jezeli ktos przez adres probuje kombinowac
  16. }
  17.  
  18. $password = md5($password); //szyfrowanie hasla
  19. if (!$username OR empty($username))
  20. {
  21. echo 'Wypełnij pole z loginem!';
  22. }
  23. if (!$password OR empty($password))
  24. {
  25. echo 'Wypełnij pole z hasłem!';
  26. }
  27.  
  28. $istnick_zapytanie = mysql_query("SELECT * FROM `rejestracja` WHERE `uzytkownik` = '$username' AND `haslo` = '$password'"); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle
  29. print_r($istnick_zapytanie);
  30. if ($istnick_zapytanie[0] == 0)
  31. {
  32. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  33. }
  34. else
  35. {
  36.  
  37. $_SESSION['username'] = $username;
  38. $_SESSION['password'] = $password;
  39.  
  40. $username = $_SESSION['username'];
  41. $password = $_SESSION['password'];
  42. if ((empty($username)) AND (empty($password)))
  43. {
  44. echo '<br>Nie byłeś zalogowany albo zostałeś wylogowany<br><a href="index.php">Strona Główna</a><br>';
  45. }
  46. $user = (mysql_query("SELECT * FROM uzytkownicy WHERE `uzytkownik`='$username' AND `haslo`='$password' LIMIT 1"));
  47.  
  48. if (empty($user[id]) OR !isset($user[id]))
  49. {
  50. echo '<br>Nieprawidłowe logowanie.<br>';
  51. }
  52. // tresc dla zalogowanego uzytkownika
  53. echo 'Witaj '.$username[uzytkownik].' zostałeś/aś pomyślnie zalogowany/a, tutaj umieść ukryta strone tylko dla zalogowanych';
  54.  
  55. }
  56. ?>


Oto skrypt , problem jest taki , ze jakbym nie zmienil zapytanie caly czas.
Kod
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php:11) in C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php on line 11

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php:11) in C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php on line 11
3Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Wywal to:
  1. if ($_GET['username'] != '') { //jezeli ktos przez adres probuje kombinowac
  2. }
  3. if ($_GET['password'] != '') { //jezeli ktos przez adres probuje kombinowac
  4. }
Bo skoro te dane przesyłasz POSTem to GET zawsze bedzie pusty czyli !isset.

W ogole masz tonę błędów w tym skrypcie! Wywal linijki 55 i 56 a zamiast 43 wstaw to:
  1. $query="SELECT * FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."' LIMIT 1";
  2. $istnick_zapytanie=mysql_result(mysql_query($query),0);


Twoj caly skrypt nie ma wiekszego sensu. Masz tu poprawione...
  1. <?php session_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <title></title>
  7. </head>
  8. <body>
  9. <html>
  10.  
  11.  
  12.  
  13. <?php
  14. // laczenie z baza danych i wybor bazy danych
  15.  
  16. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  17. $wyborbazy = mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  18.  
  19. if(isset($_POST['username'])){
  20. $username = $_POST['username'];
  21. }else{ echo 'podaj login';}
  22. if(isset($_POST['password'])){
  23. $password = md5($_POST['password']);
  24. }else{echo 'podaj haslo';}
  25.  
  26.  
  27. $query="SELECT * FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."' LIMIT 1";
  28.  
  29. if(!mysql_result(mysql_query($query),0)){
  30. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  31. }
  32. else
  33. {
  34.  
  35. $_SESSION['zalogowany_user_login'] = $username;
  36.  
  37. // tresc dla zalogowanego uzytkownika
  38. echo 'Witaj '.$_SESSION['zalogowany_user_login'].' zostałeś/aś pomyślnie zalogowany/a, tutaj umieść ukryta strone tylko dla zalogowanych';
  39.  
  40. }
  41. ?>


Ten post edytował sadistic_son 20.04.2010, 18:54:14
Go to the top of the page
+Quote Post
gigzorr
post
Post #3





Grupa: Zarejestrowani
Postów: 652
Pomógł: 47
Dołączył: 6.02.2010
Skąd: Radom

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


Cytat(sadistic_son @ 20.04.2010, 19:47:01 ) *
Wywal to:
  1. if ($_GET['username'] != '') { //jezeli ktos przez adres probuje kombinowac
  2. }
  3. if ($_GET['password'] != '') { //jezeli ktos przez adres probuje kombinowac
  4. }
Bo skoro te dane przesyłasz POSTem to GET zawsze bedzie pusty czyli !isset.

W ogole masz tonę błędów w tym skrypcie! Wywal linijki 55 i 56 a zamiast 43 wstaw to:
  1. $query="SELECT * FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."' LIMIT 1";
  2. $istnick_zapytanie=mysql_result(mysql_query($query),0);


Twoj caly skrypt nie ma wiekszego sensu. Masz tu poprawione...
  1. <?php session_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <title></title>
  7. </head>
  8. <body>
  9. <html>
  10.  
  11.  
  12.  
  13. <?php
  14. // laczenie z baza danych i wybor bazy danych
  15.  
  16. $db = mysql_connect("localhost","root","vertrigo") or die ("polaczenie nie moze byc zrealizowane");
  17. $wyborbazy = mysql_select_db("strona") or die ("nie ma takiej bazy danych");
  18.  
  19. if(isset($_POST['username'])){
  20. $username = $_POST['username'];
  21. }else{ echo 'podaj login';}
  22. if(isset($_POST['password'])){
  23. $password = md5($_POST['password']);
  24. }else{echo 'podaj haslo';}
  25.  
  26.  
  27. $query="SELECT * FROM `rejestracja` WHERE `uzytkownik` = '".$username."' AND `haslo` = '".$password."' LIMIT 1";
  28.  
  29. if(!mysql_result(mysql_query($query),0)){
  30. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  31. }
  32. else
  33. {
  34.  
  35. $_SESSION['zalogowany_user_login'] = $username;
  36.  
  37. // tresc dla zalogowanego uzytkownika
  38. echo 'Witaj '.$_SESSION['zalogowany_user_login'].' zostałeś/aś pomyślnie zalogowany/a, tutaj umieść ukryta strone tylko dla zalogowanych';
  39.  
  40. }
  41. ?>


To samo +
Kod
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php:1) in C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php on line 1

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in C:\Program Files\VertrigoServ1\www\mojastrona\zalogowano.php on line 36
Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.

Pierwszego bledu powinno wogole nie byc..
Drugi blad mowi ze nie ma takiej tabeli jesli dobrze wyczytalem o.O
Myslalem , ze to przez nalozenie uniqe na id , ale wywalilem wogole id i dalej to samo. I dont have idea anymore.

Ten post edytował gigzorr 20.04.2010, 19:24:45
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: 14.10.2025 - 08:42