Strona 1 z 1

[PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 1:03 pm
autor: htmlowiecii
witam
ostatnio tworząc skrypt wyskoczył mi taki błąd
Parse error: syntax error, unexpected T_VARIABLE in /var/www/full.php on line 3
w tym skrypcie jest to właściwie 1. linia, bo w pierwszej mam znacznik otwierający a w 2. komentarz
linia ta wygląda tak:
[php]
$plik[0]=$HTTP_POST_VARS["klucz"]
[/php]
utworzyłem parę innych skryptów aby sprawdzić czy błąd tyczy się tylko tego skryptu, ale wszędzie wyskakiwał mi ten błąd w 1.linii w której użyłem zmiennej.wgrałem te skrypty na kilka innych serwerów z obsługą PHP aby sprawdzić czy błąd czasem nie leży po stronie serwera ale błąd nadal jest.Proszę o pomoc
z góry dziękuje

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 1:29 pm
autor: SzamanGN
Błąd składni. Pamiętaj, że na końcu musi być średnik.

Dlaczego nie piszesz tak?
[php]<?php
$plik[0]=$_POST["klucz"];
?>[/php]

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 1:57 pm
autor: htmlowiecii
to nic nie pomaga
a średnik chyba nie musi być po wszystkim (w tym definicji zmiennej)

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 2:18 pm
autor: SzamanGN
A wcześniej masz zadeklarowaną zmienną tablicową $plik[]?

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 2:26 pm
autor: htmlowiecii
nie ale błąd jest również ze zwykłymi zmiennymi

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 3:05 pm
autor: gorylek
1. To jest CAŁY kod tego pliku ?

2. Jaką masz wersje PHP ?

3. Powinno to wyglądać tak jeżeli chcesz odebrać dane z pola formularza o nazwie klucz:

Kod: Zaznacz cały

<?php
$plik[0] = $_POST['klucz'];
?>
4. A wg Ciebie kiedy nie trzeba stosować średnika ? Bo jak na razie to nie spotkałem się z instrukcją po której nie trzeba go dawać.

5. $HTTP_POST_VARS wyszło z użycia.

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 3:15 pm
autor: htmlowiecii
1. cały kod
[php]<? php
//odbiór i zapisz danych do prywatnej tablicy
$plik[0] = $_POST['klucz'];
$plik[1] = $_POST['opis']
$plik[2] = $_POST['tresc'];
$plik[3] = $_POST['tytul'];
$plik[4] = $HTTP_COOKIE_VARS["user"];
//zapis do pliku
small($tytul5);
$superthebomb=explode(" ",$tytul)
for ($a=0;$a<count($thebomb);$a++)
{
$thebomb=$thebomb."_".$superthebomb[$a]
}
$$thebomb='./'.$thebomb.".txt"
chmod($thebomb, 0666);
$fopen=fopen($thebomb,"w+");
for ($a=0;$a<5;$a++)
{
fputs($plik[$a]."\n")
}
fcolse($thebomb);
chmod($thebomb, 0644);

?>[/php]
2. 5.coś
3.nie pomaga
4. a widziałeś kiedyś np.: [php]<?php
$a++;
?>[/php]
5.dzięki za informację

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 3:17 pm
autor: ooo_michal
htmlowiecii pisze:a średnik nie musi być po wszystkim (w tym definicji zmiennej)
Gdzie takie głupoty wyczytałeś? Średnika nie trzeba stosować wyłącznie w sytuacji gdy w miejscu w którym powinien wystąpić kończy się skrypt. W żadnej innej.

Re: [PHP]błąd użycia zmiennej?

: ndz sty 04, 2009 5:29 pm
autor: gorylek
Eh... myślałeś o jakimś kursie PHP ? Przydał by Ci się

Kod: Zaznacz cały

<? php 
1. Między <? a php nie ma odstępu, pisze się to tak: <?php

2. INSTRUKCJE KOŃCZĄ SIĘ ŚREDNIKIEM !!!

Kod: Zaznacz cały

$plik[4] = $HTTP_COOKIE_VARS["user"]; 
3. Wyszło z użycia, korzystaj z $_COOKIE['user']

Kod: Zaznacz cały

small($tytul5); 
4. Co to za funkcja small ? pierwsze widzę. Po co użyto $tytul5 ?

Kod: Zaznacz cały

$superthebomb=explode(" ",$tytul) 
5. Rozdzielasz pustą zmienną $tytul... po co ?

Kod: Zaznacz cały

for ($a=0;$a<count($thebomb);$a++) 
6. Robisz pętlę w której zmienną $a porównujesz z ilością elementów pustej tablicy $thebomb... po co ?

Kod: Zaznacz cały

$thebomb=$thebomb."_".$superthebomb[$a] 
7. Dodajesz do pustej zmiennej $thebomb elementy pustej tablicy $superthebomb... po co ?

Kod: Zaznacz cały

$$thebomb='./'.$thebomb.".txt" 
Po co są 2 $ ? Dodaj echo przed tą zmienną. Zapewne zauważysz że jej wartość to "/.txt". W końcu zmienna $thebomb jest pusta...

Kod: Zaznacz cały

chmod($thebomb, 0666); 
Bladego pojęcia nie mam co będzie miało chmod 666. Do tego zdajesz sobie mam nadzieje sprawę że każdy który ma konto na serwerze będzie mógł odczytać i zapisać coś do tego pliku ?

Kod: Zaznacz cały

$fopen=fopen($thebomb,"w+"); 
Teraz nie mam bladego pojęcia co chcesz otworzyć.

$tytul można wytłumaczyć tak że liczysz na włączone register globals ale na to bym specjalnie nie liczył w php5-cośtam. Zwłaszcza w 5.3.0 i wyżej.

Re: [PHP]błąd użycia zmiennej?

: pn sty 05, 2009 7:40 pm
autor: htmlowiecii
poprawiłem wg twoich wskazówek kod
efekt [php]<?php
//odbiór i zapis danych do prywatnej tablicy//<br />
$plik[0]= $_POST["klucz"];//<br />
$plik[1]= $_POST["opis"];//<br />
$plik[2]= $_POST["tresc"];//<br />
$plik[4]= $_COOKIE["user"];//<br />
$plik[3]= $_POSTT["tytul"];//<br />
//zapis do pliku<br />
small($plik[3]);//jeszcze nie wiem jakiej urzyć funkcji więc daje o nazwie zastępczej<br />
$superthebomb=explode(" ",$plik["3"]);//<br />
for (a=0;a<count($superthebomb);a++)//<br />
{$thebomb=$thebomb."_".$superthebomb[$a]}//<br />
$thebomb='./'.$thebomb.".txt";//<br />
chmod($thebomb,0666);//<br />
$fopen=fopen($thebomb,"w+");//<br />
for (a=0;a<5;a++)//<br />
{fputs($plik[$a]);}//<br />
fcolse($thebomb);//<br />
chmod($thebomb,0644)//<br />
?>
[/php]
a książka którą się posiłkuje ma nr ISBN 83-7279-476-6 żeby nie mogli się od razu czepić że źle mówimy o książce

Re: [PHP]błąd użycia zmiennej?

: pn sty 05, 2009 10:30 pm
autor: gorylek
http://php.net.pl/manual/pl/function.fi ... ntents.php
Przyda Ci się, po co się bawić tyle z plikiem, CHMOD itp.
small($plik[3]);//jeszcze nie wiem jakiej urzyć funkcji więc daje o nazwie
zastępczej<br />
A co ona ma robić ?
//<br />
A to po co ?

Re: [PHP]błąd użycia zmiennej?

: wt sty 06, 2009 8:20 am
autor: htmlowiecii
ta funkcja ma zamieniać duże litery na małe i litery typu ą,ę na a,e itp. przewiduje możliwość użycia w tym miejscu 2 funkcji
a

Kod: Zaznacz cały

//<br />
to na wszelki wypadek gdyby kod był potraktowany jak zwykły tekst i żeby w przeglądarce miał czytelny widok,a ze jest w komentarzu to nie ingeruje w wykonanie skryptu

Re: [PHP]błąd użycia zmiennej?

: wt sty 06, 2009 9:45 am
autor: gorylek
To zamiast tego użyj:

Kod: Zaznacz cały

$plik[3]=strtolower($plik[3]);

Re: [PHP]błąd użycia zmiennej?

: wt sty 06, 2009 7:04 pm
autor: htmlowiecii
dzięki
już wszystko sprawne