swexed
(Croos22)
18 Marzec 2010 23:01
#1
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?
mrbungle
(mrbungle)
19 Marzec 2010 11:32
#2
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);
?>
swexed
(Croos22)
19 Marzec 2010 13:09
#3
Dzięki wielkie o to chodziło.A dało by radę zrobić aby dodawało każdy wpis w osobnej linijce?
mrbungle
(mrbungle)
19 Marzec 2010 13:49
#4
Dałoby
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…
swexed
(Croos22)
19 Marzec 2010 14:38
#5
Wywala mi błąd w lini 6.Co może być tego przyczyną?
mrbungle
(mrbungle)
19 Marzec 2010 15:02
#6
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
EDIT:
i najlepiej koc przeklej co to wykonuje… lepiej mi bedzie zlokalizować błąd.
swexed
(Croos22)
19 Marzec 2010 15:11
#7
Proszę takie coś.
Parse error: syntax error, unexpected ')' in /home/XXXXXXXXXXXXXXX on line 6
mrbungle
(mrbungle)
19 Marzec 2010 15:12
#8
no to jeszcze kod który wstawiłeś…
swexed
(Croos22)
19 Marzec 2010 15:29
#9
<?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);
?>
mrbungle
(mrbungle)
19 Marzec 2010 15:39
#10
swexed:
<?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…
swexed
(Croos22)
19 Marzec 2010 15:47
#11
mrbungle
(mrbungle)
19 Marzec 2010 15:56
#12
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?
swexed
(Croos22)
21 Marzec 2010 18:29
#13
Niezupełnie o to dokładnie mi chodziło.Myślałem, że coś wykombinuje ale nie dało rady.
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ś?