Strona 1 z 1

Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: śr paź 08, 2003 1:42 am
autor: Atropos
Jestem początkujący.

Zainstalowałem FoxServ na winXP (Apache 2.0.39, PHP 4.2.2, MYSQL), teoretycznie wszystko się samo konfiguruje.

Serwer działa, skrypty PHP uruchamiają się lecz nie zapisują zmiennych do plików .txt.
Skrypty są poprawnie napisane - działają na serwerze komercyjnym w necie.

Bardzo proszę o pomoc.

Poprzednio zainstalowałem Apache i PHP w oddzielnych dystrybucjach, skonfigurowałem i problem był identyczny.

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: śr paź 08, 2003 8:00 am
autor: Dawid Pytel
Nikt tutaj wróżyć nie potrafi więc... podaj kod gdzie zapisujesz do pliku!

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: śr paź 08, 2003 3:47 pm
autor: Atropos
To jest skrypt, który zapisuje zmienne z flasha do pliku text_file.txt.
Flash przesyła wartość zmiennej "n" i "e". Próbowałem obu metod: get i post
Wygląda na to, że zmienne są przesyłane prawidłowo: w przypadku get są widoczne na pasku adresu.

Wszystkie pliki znajdują się w domyślnym katalogu www FoxServa czyli C:\FoxServ\www. Pliki uruchamiam wpisując w przeglądarkę http://localhost/test.htm

sam skrypt wygląda tak:

[php]<?php
$f=fopen("text_file.txt","a");

fwrite($f,"***************************************\r\n\r\n");
fwrite($f," Name:\t\t\t$n\r\n");
fwrite($f," E-Mail:\t\t$e\r\n\r\n");

fclose($f);

echo "<BR><BR><B>Submit successful!</B>";
?>[/php]
Po uruchomieniu i przesłaniu danych, okno wyświetla komunikat "Submit successful!", w piku .txt mam:
***************************************
Name:
E-Mail:
czyli wszystko oprócz zmiennych.

To jest najprostszy przykład jaki znalazłem i jedyny który choć trochę działa.
Inne skrypty nie zapisują zupełnie nic.

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: śr paź 08, 2003 6:26 pm
autor: Krzysztof Aszkiełowicz
Spróbuj tak:
[php]<?php
$f=fopen("text_file.txt","a");

fwrite($f,"***************************************\r\n\r\n");
fwrite($f," Name:\t\t\t$_GET[n]\r\n");
fwrite($f," E-Mail:\t\t$_GET[e]\r\n\r\n");

fclose($f);

echo "<BR><BR><B>Submit successful!</B>";
?>[/php]

$_GET[n] jeżeli z flasha przesyłasz metodą get lub $_POST[n] gdy metodą post!!

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: czw paź 09, 2003 12:15 am
autor: Atropos
Niesamowite !!! - działa !

Wielkie dzięki

Dlaczego mój skrypt działa na serwerze w necie, a u mnie na kompie nie ?
($_POST[x] także działa na serwerze w necie więc wszystko ok.)

I czy to znaczy, że książki które mam mogę sobie wsadzić gdzieś :)

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: czw paź 09, 2003 8:46 am
autor: Dawid Pytel
Chyba wszystkie ksiazki o PHP stosuja globalne zmienne. A to wszystko zalezy jedynie od ustawien Twojego Apacha. Musisz tylko w pliku php.ini ustawic zmienne globalne na Off i tyle :)

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: pt paź 10, 2003 2:49 am
autor: Atropos
Rzeczywiście pomogło :)
(register_globals = on)

To dla mnie znacznie bardziej ważna rada - jeszcze raz dzięki

Lepiej jest używać lokalnych czy globalnych zmiennych ?
(w komentarzu php.ini trochę straszą)

Przez globalne rozumiem: $x - nie wiem czy dobrze :)

Re: Problem na winXP z zapisem zmiennych do pliku .txt przez PHP

: pt paź 10, 2003 6:04 am
autor: Dawid Pytel
O wiele bezpieczniejsze uzywanie jest zmiennych przy register_globals=off dlaczego?
Poniewaz wowczas masz pewnosc skad pochodza zmienne. Potrzebne jest to zeby nikt nie wykorzystywal mogacych powstac w ten sposob dziur w Twoim skrypcie. M.in. mozesz sprawdzic czy dane przesylane do Twojego skryptu naprawde pochodza z formularza ($_POST).