Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System Newsow
Forum PHP.pl > Forum > Gotowe rozwiązania
marcindvd
Witam
Wiem ze wątki podobne do tego mojego sa poruszane na forum ale przeszukując je nie znalazłem interesującego mnie w tej chwili tematu.

Nie jestem zbyt dobry z programowania akurat w php a potrzebuje zrobic na strone system newsow ktory umozliwi dodawanie oraz usuwanie wybranych przezemnie newsow.

System oparty na plikach tekstowych.
Mam napisane dodawanie do pliku tylko nio z tym usuwaniem mi nie wychodzi.

Bede wdzieczny za pomoc
adwol
php Początkujący => Skrypty
nobody
Nikt tu gotowcow nie pisze, mozemy Ci pomoc rozwiazac problem jak bedziesz mial podczas pisania (i wtedy podajesz zrodlo i opisujesz problem). Chcesz gotowca to sciagnij gotowy skrypt.
marcindvd
Witam
Przepraszam za gafe ale jestem tu pierwszys raz i jeszcze z obyczajami nie obeznałem smile.gif

Dobra wiec mam dwa pliczki

news.php
[php:1:c3abd4928c]<?
$show_num=5;
$spacer="<hr size=1>";

$newsdata="newsdata.dat";
$table=file($newsdata);
$total=count($table);

if ($list=="all") {
$max=0;
}
else {
$max=$total-$show_num;
}
if ($max < 0) {
$max=0;
}
for ($i=$total; $i >= $max; $i--)
{
$table[$i]=trim($table[$i]);
if($table[$i]!="")
{
echo "$table[$i]$spacer<br>";
}
}
if ($list!="all") {
echo "<p align=right><a href=$news_page?list=all>Pokaż wszystkie ($total)</a></p>";
}
?>[/php:1:c3abd4928c]



admin.php
[php:1:c3abd4928c]<?
$show_num=5;
$spacer="<hr size=1>";
$encoding="ISO-8858-2";

$newsdata="newsdata.dat";
$menu="| <a href=admin.php?action=new&pass=$pass>Dodaj newsa</a> | <a href=admin.php?action=delete&pass=$pass>Usuń newsa</a> | <br>";

if(!isset($action))
{
$action="drawmenu";
}

switch ($action) {

case "delete":
if($pass==$password)
{
echo "$menu<br>";
$table=file($newsdata);
$total=count($table);
$size=(int)((filesize("$newsdata")+1023)/1024);
if ($size==0) {
$total=0;
}
$table=file($newsdata);
$total=count($table);
$nr=1;
for ($i=$total; $i >= 0; $i--)
{
$table[$i]=trim($table[$i]);
if($table[$i]!="")
{
$text=str_replace("", "", $table[$i]);
echo "$nr. $text | <a href=admin.php?action=remove&id=$i&pass=$pass>usuń newsa</a> | <br>$spacer";
$nr++;
}
}
}
else
{
print "Błąd";
}
break;

case "new":
if($pass==$password)
{
echo("$menu<br><p><b>Dodaj newsa</b></p><form method=POST action=admin.php?action=add>
News:<br><textarea rows=5 name=newsbody cols=25></textarea><br>
Autor:<br><input type=text name=author size=20><br>
E-mail:<br><input type=text name=email size=20><br>
<input type=submit value=Dodaj>
<input type=hidden name=pass value=$pass><br>
</form>");
}
else
{
print "Błąd";
}
break;

case "add":
if($pass==$password)
{
$date=date("d-m-Y");
if (eregi("8859-2", $encoding)) {
$newsbody=ereg_replace("Ą", "Ą", $newsbody);
$newsbody=ereg_replace("Ś", "Ś", $newsbody);
$newsbody=ereg_replace("Ź", "Ź", $newsbody);
$newsbody=ereg_replace("ź", "ź", $newsbody);
$newsbody=ereg_replace("ą", "ą", $newsbody);
$newsbody=ereg_replace("ś", "ś", $newsbody);
}
$newsbody=stripslashes($newsbody);
$newsbody=eregi_replace("n", "<br>", $newsbody);

$title=stripslashes($title);
$author=stripslashes($author);
$data="<br>$newsbody<br>$date<br><br><a href=mailto:$email>$author</a></p>n";
$f=fopen($newsdata, "a");
flock($f, "2");
fputs($f, $data);
flock($f, "3");
fclose($f);
echo "$menu<br><b>News został dodany</b>.";
}
else
{
print "Błąd";
}
break;

case "remove":
$table=file($newsdata);
$total=count($table);
$f=fopen($newsdata, "w");
flock($f, "2");
for ($i=0; $i <= $total; $i++)
{
if($i!=$id)
{
fputs($f, $table[$i]);
}
}
flock($f, "3");
fclose($f);
echo "$menu<br><b>Usunięto.</b>";
break;

case "drawmenu":
if($pass==$password)
{
echo "$menu<br>";
$table=file($newsdata);
$total=count($table);
$size=(int)((filesize("$newsdata")+1023)/1024);
if ($size==0) {
$total=0;
}
echo "<b>Liczba wpisów w bazie:</b> $total<br> <b>Rozmiar bazy: </b>$size KB<hr size=1 noshade><br>";
}
else
{
Print "Błąd";

}
break;
}
?>[/php:1:c3abd4928c]


I tak jak juz pisalem dodawanie dziala bez problemu ale jest problemik z usuwaniem bo jak usuwa newsa o jakims indeksie to potem te rekordy ktore zostawil to je laczy i z nich tworzy oddzielny news smile.gif

Przyklad:
Tworze 4 rekordy
Usuwam rekord 2
i potem mam tylko jeden wspolny rekord zlozony z 3 pozostalych rekordow smile.gif)))

Z gory dziekuje za pomoc smile.gif


------------------
[zmoderowane]
BzikOS: następnym razem kod php umieszczaj w znacznikach [php].
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-2024 Invision Power Services, Inc.