• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zmienna nie jest dostępna, choć jest zdeklarowana w innym pliku

0 głosów
220 wizyt
pytanie zadane 11 września 2022 w PHP przez mn130496 Gaduła (3,530 p.)
Witam

W ramach nauki języka php przerabiam sobie lekcje Mirosława zelanta. W trakcie pisania skryptu rejestracji napotkałem dziwną sytuację. Stworzyłem plik, który zawiera wszystkie potrzebne informacje do połączenia się z bazą danych w osobnym pliku za pomocą funkcji require once  dołączam ten plik. Problem polega  na tym , że gdy tworzę obiekt klasy mysqli i podaję zmienne z pliku connect.php to edytor pokazuje mi błędy że zmienne nie zostały zdefiniowane ale cały skrypt działa tak jak powinien oprócz tego ,że zauważyłem że @ nie wycisza mi komunikatów o błędach tak jak robi to na filmiku Pana zelanta.  Edytor jaki używam to php strom. a wersja php to 8.1.6. Czy ktoś mógłby mi powiedzieć o co w tym chodzi?. Z góry dziękuję.

2 odpowiedzi

0 głosów
odpowiedź 11 września 2022 przez neo1020 Dyskutant (9,370 p.)

 require once zmień na require albo include, jeżeli skrypt działa jak mówisz albo pokaż kod

@ w php +8 już nie działa

https://www.php.net/manual/en/language.operators.errorcontrol.php

komentarz 11 września 2022 przez mn130496 Gaduła (3,530 p.)

faktycznie zapomniałem o kodzie proszę

<?php
   session_start();
    require_once "connect.php"; //dołączenie pliku connect.php zawierający dane potrzebne do połączenia się z bazą danych

  // Połączenie z bazą
    $polonczenie = @new mysqli($host,$db_user,$db_password,  $db_name); // Stworzenie obiektu klasy mysqli , który pozwoli nam
// na operacje na danych z bazy danych

    if ($polonczenie->connect_errno!=0)
    {
        echo "Error:".$polonczenie->connect_errno."Opis:".$polonczenie->connect_error;
    }
    else
    {
        $login = $_POST['login']; //pobranie loginu z formularza
        $haslo = $_POST['haslo']; //pobranie hasła z formularza

        $sql = "SELECT * FROM uzytkownicy WHERE user = '$login' AND pass = '$haslo' "; // Zapytanie do bazy danych , które wyciągnie nam
 //interesujące nas dane czyli w typ przypadku login i hasło

        /*Stworzenie zmiennej rezultat , która będzie przechowywała wynik zapytania if spowoduje że jeżeli zapytanie z jakiś powodów nie
         powiedzie się to zmienna rezultat będzie miało wartość false czyli ten if nie spełni się co zapobiegnie prubie wyciągnięcia danych */

        if ($rezultat = @$polonczenie->query($sql))
        {
            $ilu_userow = $rezultat->num_rows;

            if ($ilu_userow >0)
            {
                $wiersz  = $rezultat->fetch_assoc();
                $_SESSION['user'] = $wiersz['user'];
                $_SESSION['drewno'] = $wiersz['drewno'];
                $_SESSION['kamien'] = $wiersz['kamien'];
                $_SESSION['zboze'] = $wiersz['zboze'];
                $_SESSION['email'] = $wiersz['email'];
                $_SESSION['dnipremium'] = $wiersz['dnipremium'];

                $rezultat->free(); /* wyczyszczenie bufora z niepotrzebnych rezultatów zapytania , które są już nie potrzebne poniewarz i tak
                 i tak zostały przełożone do zwykłych zmiennych php */
                header('Location: gra.php');

            }
        }
        $polonczenie->close(); // Zamknięcie połączenia z bazą danych

    }

zawartość pliku connect.php

<?php
    $host = "localhost";
    $db_user = "root";
    $db_password = "";
    $db_name = "osadnicy";

 

0 głosów
odpowiedź 11 września 2022 przez VBService Ekspert (256,600 p.)

gdy tworzę obiekt klasy mysqli i podaję zmienne z pliku connect.php to edytor pokazuje mi błędy że zmienne nie zostały zdefiniowane ...

 

Edytor jaki używam to php strom ...

sprawdź to:  PHPStorm: undefined variables caused by include/require

Podobne pytania

0 głosów
1 odpowiedź 863 wizyt
0 głosów
0 odpowiedzi 282 wizyt
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 11 listopada 2019 w JavaScript przez BlvckFox Gaduła (4,240 p.)

93,604 zapytań

142,529 odpowiedzi

322,997 komentarzy

63,092 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...