Wysyłanie tekstu na serwer za pomocą przeglądarki

Mam problem z formularzem, który ma za zadanie wysyłać wpisaną treść na stronę za pośrednictwem przeglądarki.

Oto kod:

formularz.html

Nowy:

dodaj.php

<?php

$plik=fopen("dane.php", "a");

flock($plik, 2);

$kod=chr(206);

$string=$string.$kod;

fputs($plik, "$string");

flock($plik, 3);

fclose($plik);

?>

pokaz.php

<?

$plik=fopen("dane.php", "r");

flock($plik, 1);

$tresc=fread($plik,filesize("dane.php"));

flock($plik, 3);

fclose($plik);

$kod=chr(206);

$tablica=explode($kod, $tresc);

$ile=count($tablica);

for($x=0;$x<$ile;$x++) {

echo $tablica[$x];

echo "
";

}

?>

I na koniec plik dane.php z chmod 777.

Co jest nie tak?

Tworzy plik w ogóle?

po pierwsze używaj globalnych tablic przechowujących dane z $_POST i $_GET… to stary zły nawyk używany głownie w php3 i php4 przy założeniu, że register_globals jest włączony.

<?php

$plik=fopen("dane.php", "a");

flock($plik, 2);

$kod=chr(206);

$string=$string.$kod;

fputs($plik, $_POST['string']);

flock($plik, 3);

fclose($plik);

?>

Dzięki wielkie o to chodziło.A dało by radę zrobić aby dodawało każdy wpis w osobnej linijce?

Dałoby :stuck_out_tongue:

daj na końcu “\n”:

<?php

$plik=fopen("dane.php", "a");

flock($plik, 2);

$kod=chr(206);

$string=$string.$kod;

fputs($plik, $_POST['string']."\n");

flock($plik, 3);

fclose($plik);

?>

EDIT: nie wiem po co jest to:

...

$kod=chr(206);

$string=$string.$kod;

...

w tym momencie jest to zbędne…

Wywala mi błąd w lini 6.Co może być tego przyczyną?

ale jaki błąd? konkety - najlepiej przekopiuj dokładnie co wyrzuca. Nie wiem możliwe, że coś dodatkowo wpisałeś… albo ja… robie to w oknie dodawania postów a nie w edytorze PHP :stuck_out_tongue:

EDIT:

i najlepiej koc przeklej co to wykonuje… lepiej mi bedzie zlokalizować błąd.

Proszę takie coś.

Parse error: syntax error, unexpected ')' in /home/XXXXXXXXXXXXXXX on line 6

no to jeszcze kod który wstawiłeś…

<?php

$plik=fopen("dane.php", "a");

flock($plik, 2);

$kod=chr(206);

$string=$string.$kod;

fputs($plik, $_POST['string']."\n");

flock($plik, 3);

fclose($plik);

?>

to zrób tak… bo nie kumam co mu sie nie podoba w kodzie:

<?php

$plik=fopen("dane.php", "a");

flock($plik, 2);

$_POST['string'] .= "\n";

fputs($plik, $_POST['string']);

flock($plik, 3);

fclose($plik);

?>

try this…

http://samisobie.unl.pl/pliki_marcin/dodawacz/formularz.html

Zobacz sam.

teraz to nie masz praw dostępu do tworzenia plików na serwerze… (Warning: fopen(dane.php) [function.fopen]: failed to open stream: Permission denied in /home/tracer2424/domains/samisobie.unl.pl/public_html/pliki_marcin/dodawacz/dodaj.php on line 2)

kolejne błędy są konsekwencją poprzednich - warto sie odpowiednio zabezpieczyć… ale to tak tytułem OT.

moze utwórz katalog na serwie z chmod 0777? i tam zapisuj plik?

Niezupełnie o to dokładnie mi chodziło.Myślałem, że coś wykombinuje ale nie dało rady.:slight_smile:

Więc tak czy dało by się zrobić aby za pomocą formularz można było dodać jakąś tam treść?

Ale tu jest pies pogrzebany to przy każdym nowym dodaniu chciałbym by robiło nową podstronę.

Ciężko będzie zmajstrować takie coś?