Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomoc w poprawie kodu na php 7
kry008
post 11.12.2017, 19:13:44
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.12.2017

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


Mam taki kod
  1. // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
  2. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login' AND pass = '$pass'"));
  3.  
  4. if ($userExists[0] == 0) {
  5. // Użytkownik nie istnieje w bazie
  6. echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';

I wyskakuje taki błąd
Warning: mysql_query(): Permission denied in /usr/home/kry008/domains/e-biblioteka.ct8.pl/public_html/logowanie.php on line 46 Warning: mysql_query():
A link to the server could not be established in /usr/home/kry008/domains/e-biblioteka.ct8.pl/public_html/logowanie.php on line 46 Warning: mysql_fetch_array()
expects parameter 1 to be resource, boolean given in /usr/home/kry008/domains/e-biblioteka.ct8.pl/public_html/logowanie.php on line 46

wiem tyle że ten kod trzeba przerobić na PDO:: (coś tam i właśnie nie wiem jak to zrobić)
pełny kod jak potrzeba:
  1. <?php
  2. /*
  3. MADE BY BLACK-PAROTS
  4. ALL RIGHTS RESERVED Ž 2017-2018
  5. WSZELKIE PRAW ZASTRZEŻONE Ž 2017-2018
  6. */
  7. include_once('connect.php');
  8. include_once('definicje.php');
  9. /**
  10.  * Formularz oraz skrypt logowania
  11.  */
  12. $lczytelnika = htmlspecialchars($_POST['lczytelnik']);
  13. $hczytelnika = htmlspecialchars($_POST['hczytelnik']);
  14. //$lczytelnika = $_POST['lczytelnik'];
  15. //$hczytelnika = $_POST['hczytelnik'];
  16. $aaa = $_POST['aaa'];
  17. if(!isset($aaa))
  18. { //jeszcze nie zalogowany pokaż formulaż logowania
  19. echo '
  20. <form method="post" action="">
  21. <label for="login">Login:</label>
  22. <input type="text" name="lczytelnik" maxlength="32" id="lczytelnik" />
  23.  
  24. <label for="pass">Hasło:</label>
  25. <input type="password" name="hczytelnik" maxlength="32" id="hczytelnik" /><br />
  26.  
  27. <input type="hidden" name="aaa" value="1" />
  28. <input type="submit" value="Zaloguj" />
  29. </form>
  30. ';
  31. }
  32. if(isset($aaa)) //formularz wypełniony czas na sprawdzenie
  33. {
  34.  
  35. if($lczytelnika == "")
  36. {
  37. echo '<big>NIE PODAŁEŚ LOGINU</big>';
  38. }
  39. elseif($hczytelnika == "")
  40. {
  41. echo '<big>NIE PODAŁEŚ HASŁA</big>';
  42. }
  43.  
  44. // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
  45. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login' AND pass = '$pass'"));
  46.  
  47. if ($userExists[0] == 0) {
  48. // Użytkownik nie istnieje w bazie
  49. echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
  50. }
  51. else {
  52. // Użytkownik istnieje
  53. $user = user::getData($login, $pass); // Pobierz dane użytknika do tablicy i zapisz ją do zmiennej $user
  54.  
  55. // Przypisz pobrane dane do sesji
  56. $_SESSION['login'] = $login;
  57. $_SESSION['pass'] = $pass;
  58.  
  59. echo '<p class="success">Zostałeś zalogowany. Możesz przejść na <a href="index.php">stronę główną</a></p>';
  60. }
  61. unset($lczytelnika);
  62. unset($hczytelnika);
  63. }
  64. ?>
  65.  
  66.  
  67.  
  68. <?php
  69.  
  70.  
  71. ?>
  72.  
  73.  
  74. <?php
  75. include_once('stopka.php');
  76. ?>

Tylko z jednym zastrzeżeniem ja chcę tylko pomoc z kodem wymienionym na samym początku

Mała poprawka kodu
  1. // Sprawdź, czy użytkownik o podanym loginie i haśle isnieje w bazie danych
  2. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login_czytelnika = '$lczytelnik' AND haslo_czytelnika = '$hczytelnik'"));
  3.  
  4. if ($userExists[0] == 0) {
  5. // Użytkownik nie istnieje w bazie
  6. echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sazian
post 11.12.2017, 21:29:38
Post #2





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Łatwiej będzie przejść na mysqli.
Wystarczy zamienić wszystkie mysql_ na mysqli_ oraz w query jako pierwszy parametr podajesz link do połączenia zwracany przez mysqli_connect.
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.04.2024 - 15:52