Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Newsy w pliku tekstowym
Forum PHP.pl > Forum > Przedszkole
Mefiuu
Witam. Chcę zrobić skrypt newsów oparty na pliku tekstowym. Zrobiłem tak:

index.php
Kod
<html>
<head>
<title> Zatwierdzenie </title>
</head>
<body>
<?
include("news.txt");
?>
</body>
</html>

Czyli tylko zaincludowałem z pliku.
Teraz formularz dodający:
dodaj.html
Kod
<html>
<head>
<title> Dodaj </title>
</head>
<body>
<form action="news.php" method="post">
<p>Podaj treść newsa: <br />
<input type=text name="news" size="100"><br />
</p>
<p>Autor <br />
<input type=text name="autor" size="10"><br />
</p>
<p>Data: <br />
<input type=text name="data" size="9"><br />
</p>
<input type=submit value="Zatwierdź">
</form>
</body>
</html>

I tutaj nadal jest pięknie. Teraz schody (jak dla mnie):
dodaj.php
Kod
<html>
<head>
<title> Dodaj </title>
</head>
<body>
<?
$news = $_POST['news'];   // pobrałem dane z formularza
$autor = $_POST['autor'];
$data = $_POST['data'];

echo "$news";  // wyświetliłem te dane
echo "$autor";
echo "$data";

$plik = fopen("news.txt", "r+");   // otwieram plik, ustawiam tryb (r+ aby zapisało na początku)
fwrite($plik, $news, $autor, $data);   // zapisuję
fclose($plik);   // zamykam
?>
<a href="index.php">Zobacz newsa </a>  // wiadomo chyba
</body>
</html>


jednak wywala mi błąd:
Kod
[b]Warning[/b]:  Wrong parameter count for fwrite() in [b]/var/www/sites/yoyo.pl/m/e/mefiuu/news.php[/b] on line [b]20[/b]
    [u]
[/u]

i danych mi nie dopisuje. Zwracam się do Was z prośbą, bo rozwiązania szukam i nie znajduję. Na pewno to jakaś literówka czy coś, ale jednak nei mogę sobie poradzić. Pozdrawiam
Darti
Wybierz inny tryb dla fopen, r+ jest tylko do odczytu
no i zobacz fwrite" title="Zobacz w manualu PHP" target="_manual


p.s. nie stosuj takich bajerów na serwerze produkcyjnym, bo wystarczy że w newsie ktoś da trochę kodu php i pozamiatane ...
Mefiuu
zastosowałem już "a";"a+";"w";"w+";"x" i nic ;/ dalej błąd fwrite
Darti
  1. <?php
  2. fwrite($plik, $news.$autor.$data);   // cos zapisze, ale mozna sobie gdzies taki zapis wsadzić ... biggrin.gif
  3. ?>
Mefiuu
ok, a jak zrobić, aby dopisać kolejny news, na górze? "a+" ?
erix
Musisz wczytać całą zawartość pliku, dopisać przed to wszystko i całość ponownie wsadzić.
Mefiuu
no to tego już nie zrobię...
Darti
  1. <?php
  2. $old = file_get_contents('news.txt');
  3. $plik = fopen("news.txt", "w+");
  4. fwrite($plik, $news.$autor.$data.$old);
  5. ?>
Darti
też się nadaje, chodzilo ino o wrzutkę na poczatku pliku, zbyt dużo piwa obnizyło moje IQ grubo poniżej 60 ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.