Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Administrowanie księgą gosci. pomocy!! :)
Forum PHP.pl > Forum > Gotowe rozwiązania
mouk
No wiec problem jest taki, mam zrobiona ksiege gosci z zapisem do pliku.
Jest wszystko pięknie za wyjatkiem jednej rzeczy, a mianowicie administrowaniem tej księgi. W pliku wpisy.txt sa przechowywane wiadomosci w takiej formie:

michal || michalw@wsb-nlu.edu.pl || pierwszy wpis ||
ania || costam@costam.pl || fajne forum:) ||

itd...

Chciałbym miec mozliwosc w panelu administracyjnym usuwania danego wpisu , czyli danej linijki po prostu. Nie mam pojecha jak sie za to zabrac niestety.

Kod pliku dopisz.php:


[php:1:1d1eac424b]<?php

<html>
<head><title>czytam</title>
<LINK rel="stylesheet" href="style.css" type="text/css">

</head>

<body>

<center>
<h2>Ksiega Gosci:</h2>
</center>
<br>
<center>
<?
$ikonki=array(":)"=>"<img
src=wesoly.gif>",":-)"=>"<img
src=icon_smile.gif>",":D"=>"<img
src=zeby.GIF>",":-D"=>"<img
src=icon_biggrin.gif>",":("=>"<img
src=smutny.gif>",":-("=>"<img
src=icon_sad.gif>",":P"=>"<img
src=icon_razz.gif>",":-P"=>"<img
src=icon_razz.gif>",":|"=>"<img
src=icon_neutral.gif>",":-|"=>"<img
src=icon_neutral.gif>",";)"=>"<img
src=icon_wink.gif>",";-)"=>"<img
src=icon_wink.gif>");





//odczyt z pliku wpisy.txt

$dane=file("wpisy.txt");
for($i=0; $i<count($dane); $i++)
{
$wiersz=explode("||", $dane[$i]);
echo strtr ( "
<table cellSpacing=0 cellPadding=0 border=3 width=460 align=center>
<tr><td COLSPAN=4 width=460 height=1 BGCOLOR=red></TD></TR>
<tr>
<td bgcolor=gray width=460>$wiersz[0]</TD>


</TR>
<tr><td COLSPAN=4 width=460 height=1 ></TD>
</TR>

<tr>

<td width=460 colspan=2 >$wiersz[1]</td>

</tr>
<tr><td colspan=4 width=460 height=1 ></TD></TR>
<tr>

<td colspan=2 width=460 valign=top border=0>$wiersz[2]</TD>
<td width=1 ></TD>
</TR>
<tr><td colspan=4 width=460 height=1 </TD></TR>
</table><br>",$ikonki);;
}

?>

</body>
<html>

?>[/php:1:1d1eac424b]

kod skryptu z dopisywaniem:

[php]<?php


<html>
<head><title>wpisuje</title>
<LINK rel="stylesheet" href="style.css" type="text/css">

</head>
<body>


<?php

$fp = fopen("wpisy.txt" , "a+");

$fp = fopen("wpisy.txt", "a+");
fwrite($fp, "$imie||$mail||$wiadomosc|| n");
fclose($fp);
echo "Wpis zosta dodany!";

?>
</body>
</html>




CZy moglby m ktos z tym pomóc?
nobody
Mala wskazowka... :wink:
[php:1:36c4664dcb]<?php
$dane=file("wpisy.txt");
for($i=0; $i<count($dane); $i++)
{
$wiersz=explode("||", $dane[$i]);
echo "[<a href=show.php?act=usun&id=$i>Usun ten wpis</a>] Imie: ".$wiersz[0]." Email: ".$wiersz[1]." Tresc: ".$wiersz[2]."<br><br>";
}

if($_GET['act']=="usun"&&is_numeric($_GET['id'])){
unset($dane[$_GET['id']]);
$plik=fopen("wpisy.txt", "w");
$tablica=implode($dane, "");
fwrite($plik, $tablica);
fclose($plik);
header("Location: show.php");
}
?>[/php:1:36c4664dcb]
mouk
o wlasnie o dokladnie cos takiego mi chodzilo, wszystko pieknie, tylko jak klikam teraz na usun wpis to mi wyskakuje komunikat, ze nie moze znalezc tej strony:(
nobody
Cytat
o wlasnie o dokladnie cos takiego mi chodzilo, wszystko pieknie, tylko jak klikam teraz na usun wpis to mi wyskakuje komunikat, ze nie moze znalezc tej strony:(

Zmien wszedzie nazwe pliku z show.php na ta, ktorej uzywasz.
Pozdr.
mouk
no racja, za malo snu, albo moich umiejetnsoci jesli chodzi o php:)
Teraz dziala ladnie tylko, ze wyskakuje ostrzezenie:
[php:1:5b6a069c41]<?php
Warning: Cannot add header information - headers already sent by (output started at /home/students/michalw/public_html/inzop/moderuj.php:7) in /home/students/michalw/public_html/inzop/moderuj.php on line 16
?>[/php:1:5b6a069c41]
mouk
jeszcze jedno pytanko. jak zrobic sensowne numerowanie.Mialem tak zrobione ze w jendym pliku byla liczba ktora z kazdym dodaniem wpisu sie podnosila o 1. Niestety to nie jest za dobre rozwiazanie, bo gdy usune wiadomosc,albo caly plik z wiadomosciami, to jak dodam nast,wiad, to nie zaczyna od 0, tylko od liczby ktora tam zostala?
scanner
Numeruj kazdy wpis na poczatku jego linijki. Wtedy kazdy ma unikalny ID (zawsze inkrementuj, nigdy nie uzupelniaj dziur po skasowanych ID) a liczbe wpisow wezmiesz zliczajac liczbe linii w pliku
mouk
tylko jak to zliczac?
scanner
Od 1 rosnąco.
Zanim zapiszesz nowa linie, pobierasz ostatnią, patrzysz jakie ma ID, dodajesz 1...
Proste jak budowa cepa.
mouk
no dziala nareszcie , ale chyba zrobilem to w dosc dziwny sposob tzn dodalem taka pętle :



[php:1:d0b8ab3a53]<?php
$dane=file("wpisy.txt");
for($i=0; $i<count($dane); $i++)
{
$wiersz=explode("||", $dane[$i]);
}

?>[/php:1:d0b8ab3a53]

jedyny porlbem to to, ze jak sie cos usunie to te wiadomosci nie zmieniaja swoich nuemerow:(
mouk
no i oczywiscie dopisywane jest i jako nr wiadomosci tzn:

[php:1:1544a55da0]<?php
fwrite($fp, "$i||$remote_address||$data||$imie||$mail||$wiadomosc|| n");

?>[/php:1:1544a55da0]
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.