Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem z kompilacja skryptow
Forum PHP.pl > Forum > Przedszkole
agentmullder
Witam. Jestem poczatkujacy w dziedzinie php, stad moje pytanie w tym dziale. Podczas testowania skryptow zamieszczonych w sieci (dzialajacych) wywala mi bledy moj apache, w stylu:

Notice: Undefined variable: info_txt_nick in I:\wamp\www\rej\index.php on line 62

Lub tez w skryptach typu: rejestracja/logowanie do bazy mysql w okienkach logowania gdzie trzeba podac np adres mail/haslo/login wyskakuje mi kod php:

<?=$vemail?>

myslalem, ze trzeba zrobic tak:

<?php=$vemail?>

ale wtedy wogule stronka przestaje chodzic.

Doszedlem do wniosku, ze moj apache (ver 2.2.11) ma wylaczone jakeis opcje. Macie jakies pomysly?
nospor
Cytat
Notice: Undefined variable: info_txt_nick in I:\wamp\www\rej\index.php on line 62
uzywasz zmiennej $info_txt_nick której wczesniej nie raczyles zadeklarowac

<?=$vemail?>
zamien na
<?php echo $vemail ?>
agentmullder
Ok, a jesli taki sam blad deklaracji zmiennej jest w takim przypadku:

  1. if(empty($email)){
  2. $info_txt_email.='<img src="x.gif" /> <font color="#B20000"> Pole nie zostało wypełnione.</font>';
  3. $blad=true;


To 'php echo' nie pomoze.
piotrooo89
przypisujesz jakaś wartość do zmiennej która nie została zadeklarowana.
agentmullder
Jak czytalem kompedium php to bylo wyraznie napisane, ze deklarowac zmiennych w php mozna w locie, tzn bez deklaracji typu od razu zmienna moze byc przypisana jak to ujme do akcji.

Cytat
* zmiennych nie deklarujemy,
* nie określamy typu zmiennych (typ zmiennej wynika z wykonywanych na niej operacji),
* przed każdą zmienną występuje znak $.


W powyzszym przypadku jest znak $. To ja nie wiem jak mam zadeklarowac :/
nospor
jejciu... gdzies na poczatku:
$info_txt_email = '';

chodziło o to, ze uzywales łączenia zmiennych, a jedna ze zmiennych tego łaczenia nie byla okreslona, wiec parser grzecznie cie o tym informował.
agentmullder
Dzieki :-) Mysle, ze w koncu rusze z miejsca :-) Jak narazie php stawia mi opor smile.gif
mls
Cytat(agentmullder @ 1.03.2010, 15:28:10 ) *
Jak czytalem kompedium php to bylo wyraznie napisane, ze deklarowac zmiennych w php mozna w locie, tzn bez deklaracji typu od razu zmienna moze byc przypisana jak to ujme do akcji.


I właśnie dlatego jestem wielkim przeciwnikiem jakichkolwiek "podręczników" do PHP i innych języków.
Zmienne należy deklarować. Fakt, że nie trzeba w PHP określać ich typów, ale przed użyciem zmienna musi istnieć! Jak dla mnie każda domyślna instalacja PHP powinna poza wyłączonym register_globals mieć ustawione error_reporting na E_ALL, czyli włącznie z notice'ami.
agentmullder
No niestety deklarowanie zmiennej w taki sposob spowodowalo, ze skrypt przestal dzialac. Dodam, ze na WebSerwer skrypt dziala poprawnie (starsza wersja mysqla i php), a na Wamp serwerze (najnowsze wersje) nie dziala. Chyba nic innego mi nie pozostaje jak praca na starszych wersjach.
thek
Możliwe, że miejsce w którym zadeklarowałeś ową zmienną jest poza zasięgiem widzialności lub gdzieś zrobiłeś literówkę w kodzie typu brak średnika kończącego instrukcję i stąd problemy. Inna sprawa, że mozesz mieć inna konfiguracje serwera. Przykładowo: na starym są włączone register_globals. Takich niuansów może być więcej i to one, a nie zmienna Ci mogą wysypywać skrypt.
agentmullder
Cytat(thek @ 2.03.2010, 11:22:45 ) *
Możliwe, że miejsce w którym zadeklarowałeś ową zmienną jest poza zasięgiem widzialności lub gdzieś zrobiłeś literówkę w kodzie typu brak średnika kończącego instrukcję i stąd problemy. Inna sprawa, że mozesz mieć inna konfiguracje serwera. Przykładowo: na starym są włączone register_globals. Takich niuansów może być więcej i to one, a nie zmienna Ci mogą wysypywać skrypt.


Bardziej bym sie sklanial ku temu, ze cos jest wylaczone w moim wampie. Wlaczylem register_globals ale nie pomoglo. Mialbys moze jeszcze jakies sugestie co moze byc wylaczone?
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.