Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
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
kry008
post 15.12.2017, 18:02:40
Post #3





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

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


Tylko mam blokadę na mysql_fetch_array() od dostawcy hostingu i muszę przejść na PDO
Go to the top of the page
+Quote Post
nospor
post 15.12.2017, 18:06:58
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




wg komunikatu nie masz zadnej blokady a jedynie masz zle skonfigurowane polaczenie do bazy. przejscie na PDO nie rozwiaze tego problemu.
Oczywiscie, przejscie na PDO to bardzo pomysl rzecz jasna, mowie tyko ze teraz problem masz z czyms innym.

No i wbrew temu co masz w tytule, kodu tego nie odpalasz na php7 bo jakbys odpalal na php7 to bys mial inny error


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kry008
post 15.12.2017, 18:10:22
Post #5





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

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


Cytat(sazian @ 11.12.2017, 21:29:38 ) *
Ł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.

A jak już to jak

na tym hostingu mam na próbę potem przechodzę na 7.1


Ten post edytował kry008 15.12.2017, 18:10:49
Go to the top of the page
+Quote Post
viking
post 15.12.2017, 18:16:49
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Jeśli przejdzisz na 7 to ten cały kod jest bezużyteczny bo od php7 mysql nie istnieje.


--------------------
Go to the top of the page
+Quote Post
nospor
post 15.12.2017, 18:39:16
Post #7





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




@kry008 jesli uwazasz, ze jakis user cie zle zrozumial, to wyjasnij to w temacie a nie raportujesz tego usera.... jak dziecko.
Jak napisales tak ludzie odpowiadaja.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
StevDefs
post 26.08.2019, 11:49:27
Post #8





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 22.08.2019

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


Pastilla Cialis Uso Propecia Interacciones purchase antabuse Dapoxetine For Sale

Propecia Samples Acquistare Viagra Contrassegno Buy Doxycycline Online In Canada online pharmacy Liver Damage Propecia Cialis Prezzo In Italia Dove Comprare Il Cialis On Line

What Is Keflex Sulfa Viagra E Fecondazione viagra Cialis Y Tadalafil Acheter Cialis 5 Mg Comprime Pellicule Boite De 28

Canadian Global Pharmacy Valtrex Buy Online Canada Viagra Sources cialis from canada Amoxicillin And Clavulanic Acid Cialis Se Toma

Keflex And Side Effects Order 60 Mg Orlistat Online By Fedex Dove Comprare Il Cialis Generico viagra Myrx Olanzapine Achat De Kamagra Au Canada

Water Pill Online Purchase Amoxicillin 250 Mg cialis without prescription Healthyman Viagra (Brand) For Sale In Australia

Propecia Once A Week Estrace 1mg Tablets Cialis Spedizione 24 Ore buy cialis online Buy Propecia 1mg

Cialis 5 Mg Collaterali Online Clomid Cheap cialis price Viagra Online Kaufen Zollfrei Pak For Bladder Infection
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: 28.03.2024 - 20:28