Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]System logowania problem
Forum PHP.pl > Forum > Przedszkole
jasiek65
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
sadistic_son
A do czego jest ten nawias klamrowy z linijki 10?
Mackos
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. {
sadistic_son
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.
Turson
Daj
  1. if(!empty($_POST["nick"]) && !empty($_POST["haslo"]) && !empty($_POST["haslo2"]))

zamiast Twojego
jasiek65
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.  
Synapsa
Masz połączenie z bazą podczas wykonywania skryptu?
jasiek65
include_once dałem zaraz pod session_start();
rangoo
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.