Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ Pomoc w poprawie kodu na php 7

Napisany przez: kry008 11.12.2017, 19:13:44

Mam taki kod

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

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 = http://www.php.net/mysql_fetch_array(http://www.php.net/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. http://www.php.net/echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';

Napisany przez: 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.

Napisany przez: kry008 15.12.2017, 18:02:40

Tylko mam blokadę na mysql_fetch_array() od dostawcy hostingu i muszę przejść na PDO

Napisany przez: nospor 15.12.2017, 18:06:58

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

Napisany przez: kry008 15.12.2017, 18:10:22

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

Napisany przez: viking 15.12.2017, 18:16:49

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

Napisany przez: nospor 15.12.2017, 18:39:16

@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.

Napisany przez: StevDefs 26.08.2019, 11:49:27

Pastilla Cialis Uso Propecia Interacciones http://antabusefast.com Dapoxetine For Sale

Propecia Samples Acquistare Viagra Contrassegno Buy Doxycycline Online In Canada http://cheapcheapvia.com Liver Damage Propecia Cialis Prezzo In Italia Dove Comprare Il Cialis On Line

What Is Keflex Sulfa Viagra E Fecondazione http://corzide.com Cialis Y Tadalafil Acheter Cialis 5 Mg Comprime Pellicule Boite De 28

Canadian Global Pharmacy Valtrex Buy Online Canada Viagra Sources http://cialionline.com Amoxicillin And Clavulanic Acid Cialis Se Toma

Keflex And Side Effects Order 60 Mg Orlistat Online By Fedex Dove Comprare Il Cialis Generico http://buysildenaf.com Myrx Olanzapine Achat De Kamagra Au Canada

Water Pill Online Purchase Amoxicillin 250 Mg http://euhomme.com Healthyman Viagra (Brand) For Sale In Australia

Propecia Once A Week Estrace 1mg Tablets Cialis Spedizione 24 Ore http://orderciali.com Buy Propecia 1mg

Cialis 5 Mg Collaterali Online Clomid Cheap http://ciali40mg.com Viagra Online Kaufen Zollfrei Pak For Bladder Infection

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)