Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]System logowania problem
jasiek65
post 27.03.2011, 22:07:42
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 25.05.2010

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


Witam, na swoją stronkę postanowiłem napisać prosty PA no i pewnie poradziłbym sobie ,gdyby nie logowanie do Mysql z ,którym męcze się od 2 dni.
Oto moja tabela:
  1. 1 id int(11) Nie None AUTO_INCREMENT
  2. 2 nick text utf8_polish_ci Nie None
  3. 3 haslo text utf8_polish_ci Nie None
  4. 4 ranga int(11) Tak NULL
  5.  
  6.  



Oto kod index php(tu ma się logować):

  1.  
  2.  
  3. <?php
  4.  
  5.  
  6. if (!isset($_SESSION['login'])) { //to tam można wywalićbiggrin.gif
  7. include_once"./include/config.php";
  8. if ($_POST['login']) {
  9. {
  10.  
  11. $haslo_2 = trim(strip_tags( mysql_real_escape_string(HTMLSpecialChars($_POST['haslo']))));
  12. if(empty($nick) || empty($haslo_2))
  13. {
  14.  
  15. echo"Uzupełnij wszystkie pola!!!";
  16.  
  17. }else
  18. {
  19.  
  20. $wynik=mysql_query("select * FROM user WHERE nick=’$nick’ AND haslo=’$haslo’");
  21. if (mysql_num_rows($wynik) == 1) {
  22. $informacja = mysql_fetch_array($wynik);
  23. $_SESSION["login"] = $informacja["login"];
  24. echo"Zostałeś zalogowany!!!";
  25.  
  26. }else
  27. {
  28.  
  29. echo"Niestety nie zostałeś zalogowany!!!";
  30.  
  31. }
  32.  
  33.  
  34. }
  35.  
  36.  
  37.  
  38. }
  39. }
  40.  
  41.  
  42.  
  43.  
  44. ?>
  45. <form method='POST' name="login" action=''>
  46. <b>Nick:</b> <input type='text' name='nick'><br>
  47. <b>Hasło:</b> <input type='password' name='haslo'><br>
  48. <input type='submit' name="login" value='Wyślij'>
  49. </form>
  50.  
  51. <?php
  52. }else
  53. {
  54.  
  55. echo"Jesteś zalogowany!!!";
  56.  
  57. }
  58.  
  59. if ($_GET["wylogowanie"] == "tak") {
  60. // niszczenie sesji uĹĽytkownika
  61. }
  62.  
  63. ?>


Podczas próby logowania wywala mi błąd:
Kod
Uzupełnij wszystkie pola!!!

Chociaż sprawdzałem kilkakrotnie ten kod i powinien być dobry.
Czy ma ktoś pomysł jak rozwiązać ten problem?

Pozdrawiam rolleyes.gif
Go to the top of the page
+Quote Post
sadistic_son
post 27.03.2011, 22:10:46
Post #2





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

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


A do czego jest ten nawias klamrowy z linijki 10?


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Mackos
post 27.03.2011, 22:52:11
Post #3





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Cytat(sadistic_son @ 27.03.2011, 23:10:46 ) *
A do czego jest ten nawias klamrowy z linijki 10?

Wydaje mi się że po prostu przypadkiem wkleił dwa razy otwarcie do if'a powyżej.
ale ja bym ustawił linijkę 15 tak:
  1. if((empty($nick)) or (empty($haslo_2)))
  2. {


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
sadistic_son
post 27.03.2011, 23:10:26
Post #4





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

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


Cytat(Mackos @ 27.03.2011, 23:52:11 ) *
ale ja bym ustawił linijkę 15 tak:
  1. if((empty($nick)) or (empty($haslo_2)))
  2. {
Absolutnie żadna różnica.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Turson
post 28.03.2011, 14:43:48
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Daj
  1. if(!empty($_POST["nick"]) && !empty($_POST["haslo"]) && !empty($_POST["haslo2"]))

zamiast Twojego
Go to the top of the page
+Quote Post
jasiek65
post 28.03.2011, 14:46:16
Post #6





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 25.05.2010

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


Klamry poprawiłem ,ale nadal to samo
TursoN myślisz że nie próbowałem tylko zamiast $_post używałem zmiennych

Znalazłem błąd,niestety napotkałem kolejny podczas logowania
Kod
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/virtual/moja strona/admin/index.php on line 24


Nie wiem dlaczego mysql wywala taki błąd ponieważ wydaje mi się wszystko w porządku

aha skoro błąd z mysql to dorzucam plik /inlcude/config.php (ja mam plik logowania w folderze /admin/index.php)

  1. <?
  2.  
  3. @error_reporting(E_ALL & ~E_NOTICE);
  4. @ini_set('error_reporting',E_ALL & ~E_NOTICE);
  5.  
  6. $host = ""; // database host
  7. $dbname = ""; // database name
  8. $dbuname = ""; // database username
  9. $dbpw = ""; //database password
  10. mysql_connect($host,$dbuname,$dbpw) || die("Nie mogę połączyć się z bazą danych");
  11. mysql_select_db($dbname) || die("Nie mogę wybrać bazy danych");
  12. mysql_query("SET NAMES 'utf8_polish_ci'");
  13.  
  14.  
  15. ?>
  16.  


Ten post edytował jasiek65 28.03.2011, 15:09:34
Go to the top of the page
+Quote Post
Synapsa
post 28.03.2011, 15:04:24
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 3
Dołączył: 15.06.2007

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


Masz połączenie z bazą podczas wykonywania skryptu?
Go to the top of the page
+Quote Post
jasiek65
post 28.03.2011, 15:13:57
Post #8





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 25.05.2010

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


include_once dałem zaraz pod session_start();
Go to the top of the page
+Quote Post
rangoo
post 28.03.2011, 15:43:14
Post #9





Grupa: Zarejestrowani
Postów: 40
Pomógł: 5
Dołączył: 15.01.2010
Skąd: Skawina k. Krakowa

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


Głupi błąd smile.gif W zapytaniu SQL:
  1. SELECT * FROM user WHERE nick=&#8217;$nick’ AND haslo=’$haslo’

’’ - tych cudzysłowów używa się do nazw kolumn/tabel.
'' - tych cudzysłowów do wartości
wobec tego poprawione zapytanie:
  1. SELECT * FROM user WHERE nick='$nick' AND haslo='$haslo'

lub
  1. SELECT * FROM &#8217;user’ WHERE ’nick’='$nick' AND ’haslo’='$haslo'

(Oba są poprawne) wink.gif

Ten post edytował rangoo 28.03.2011, 15:44:35
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 19:36