[PHP]Wszystko dziala ale nie dziala?

0

Znaczy bledu nie ma ale nie dziala tak jak trzeba. Wszystkie uzyte w skrypcie pliki istnieja. Co robie zle?
!!

0

$file_post="$dir_postilosc.dat";

Nie tak się "łączy" dwa stringi w PHP zobacz:
[code]
$file_post=$dir_postilnosc.".dat";
[/code]
Widzisz różnicę?
Dwa stringi w PHP łączy się znakiem kropki (".").

if (!isset($akcja)){$akcja="pokaz";}

w nowszych wersjach PHP należy używać tablic zmiennych superglobalnych tzn.
Jeżeli zmienna jest przekazywana do skryptu metodą GET tzn. np. poprzez zapisanie zmiennych w adresie (np. http://www.serwer.pl/plik.php?zmienna=wartosc_zmiennej) to należy odwołać się do tej zmienne jw skrypcie w ten sposób:
[code]
$_GET["zmienna"];
[/code]
czyli np. porównanie dwóch string-ów (ciągów znaków), jedna zmienna to zmienna z adresu, a druga to inna ("wewnętrzna") w skrypcie.
[code]
if ($_GET["zmienna"]==$zmienna_ze_skryptu) {
echo("Zmienne są takie same!");
}
else {
echo("Zmienne nie są takie same!");
}
[/code]

switch ($akcja){

Tu znowu nie zastosowana jest tablica zmiennych superglobalnych.

if (!is_file($file_post)){$akcja="blad1";}

Znowu nie zostosowałeś tablicy zmiennych superglobalnych.

$id=fgetc("$open_post");

Nie są tutaj potrzebne nawiasy w funkcji fgetc tzn.
można użyć zapisu:
[code]
$id=fgetc($open_post);
[/code]

echo("$id");

Też nie potrzebnie użyłeś tutaj nawiasów.

echo("blad1");

Tutaj tylko małą uwagę chciałbym zwrócić na to, że używanie cudzysłowów nie w przypadku kiedy mamy pewność, że w wyświetlanej zawartości nie ma żadnej zmiennej jest nie uzasadnione choć nie jest to błędem.
W przypadku użycia cudzysłowu (" i ") parser ("przetwarzacz" (analizator) kodu PHP) przeszukuję tekst w poszukiwaniu zmiennych co wydłuża pracę parser-a, w przypadku małych skryptów PHP nie ma to większego znaczenia na pracę serwera, ale w przypadku dużych skryptów wwarto zwracać uwagę na takie małe szczegóły.
Zamiast cudzysłowów można użyć pojedynczego cudzysłowu (' i '), wtedy parser nie przeszukuję danego ciągu znaków tylko Od razu go wyśiwetla lub wykonuje jakąś funkcję związaną z tym string-iem.
:)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.