Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z private, public i kompilacją kodu.
Forum PHP.pl > Forum > Przedszkole
xairo
Kod
class Admin {

public var $errors = array();
public var $info = array();
public var $dbh;
public var $form;

private function Admin() {

$this -> dbh = new dbMySQL( DB_USER, DB_PASS, DB_HOST, DB_DATA);
$this -> form = new AdminForm();
session_save_path('tmp_');
session_start();
}

private function loginCheck() {
....


Nie wiem dlaczego zwraca mi błąd w 3ciej linijce kodu.

Kod
Parse error: syntax error, unexpected T_VAR, expecting T_VARIABLE in C:\Program Files\VertrigoServ\www\jrcasti ng\cms\include\admin.class.php on line 3
phpion
Albo kodujesz pod PHP5 określając składowe klasy poprzez public/protected/private lub kodujesz pod PHP4 używając var. Nie możesz łączyć ich razem czyli pisz np.:
  1. <?php
  2. public $errors = array();
  3. ?>
xairo
Kod
class Admin {

    public $errors = array();
    public $info = array();
    public $dbh;
    public $form;
    
    private function Admin() {

        $this -> dbh = new dbMySQL( DB_USER, DB_PASS, DB_HOST, DB_DATA);
        $this -> form = new AdminForm();
        session_save_path('tmp_');
        session_start();
        }
    
    private function loginCheck() {


treść błędu się tylko zmieniła- nadal nie działa

Kod
Parse error: syntax error, unexpected T_PRIVATE, expecting T_VARIABLE in C:\Program Files\VertrigoServ\www\jrcasting\cms\include\produkcja.php on line lekk


Mam zainstalowane VertrigoServ z PHP Version 5.2.6 :/
erix
Zmiennym musisz przyporządkować jakąś wartość; to nie PHP4, że wystarczy podać nazwę.

Poza tym, masz stare nawyki w postaci konstruktora z PHP4; poczytaj: __construct" title="Zobacz w manualu PHP" target="_manual.
magra
Cytat(erix @ 15.01.2009, 21:11:29 ) *
Poza tym, masz stare nawyki w postaci konstruktora z PHP4; poczytaj: __construct" title="Zobacz w manualu PHP" target="_manual.


nie mówiąc o tym, że masz konstruktor prywanty, więc
  1. <?php
  2. new Admin()
  3. ?>

możesz wywołać teraz tylko z wnętrza klasy...
phpion
Cytat(erix @ 15.01.2009, 23:11:29 ) *
Zmiennym musisz przyporządkować jakąś wartość; to nie PHP4, że wystarczy podać nazwę.

Pierwsze słyszę... jesteś tego pewien?

Co do błędu: kod wklejony przez Ciebie jest poprawny i nie zgłasza żadnych błędów (przy usuniętej zawartości metody Admin()).
erix
Cytat
Pierwsze słyszę... jesteś tego pewien?

Nie. winksmiley.jpg Zmylił mnie po prostu błąd...
xairo
Cytat(phpion @ 15.01.2009, 21:19:21 ) *
(przy usuniętej zawartości metody Admin())questionmark.gif?


Co chcesz przez to powiedzieć....
W metodzie... ? funkcji? mam logowanie użytkownika i załadowanie klasy obsługującej bazę danych. Nie mogę jej ot tak usunąć....
decha-design
Cytat(erix @ 15.01.2009, 21:11:29 ) *
Poza tym, masz stare nawyki w postaci konstruktora z PHP4; poczytaj: __construct" title="Zobacz w manualu PHP" target="_manual.


przyglądnij się jeszcze raz temu co napisal erix ...
phpion
Cytat(xairo @ 16.01.2009, 05:33:45 ) *
Co chcesz przez to powiedzieć....
W metodzie... ? funkcji? mam logowanie użytkownika i załadowanie klasy obsługującej bazę danych. Nie mogę jej ot tak usunąć....

Ja u siebie wywaliłem całą zawartość metody bo nie mam klasy dbMySQL czy AdminForm. Kod na pewno nie zgłasza błędów (ten kod, który podałeś, bez wnętrza metody Admin).

Cytat(decha-design @ 16.01.2009, 10:24:30 ) *
przyglądnij się jeszcze raz temu co napisal erix ...

To akurat nie ma nic do rzeczy w tym momencie. Błąd jest raczej gdzieś indziej. Kolega nie daje całego skryptu (brak np. zamknięcia loginCheck() oraz samej klasy).
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.