![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
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 news.php [php:1:03a89972be]<? $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:03a89972be] admin.php [php:1:03a89972be]<? $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:03a89972be] 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 Przyklad: Tworze 4 rekordy Usuwam rekord 2 i potem mam tylko jeden wspolny rekord zlozony z 3 pozostalych rekordow Z gory dziekuje za pomoc -------------------- --------------------------------------
Pozdrawiam marcindvd.net -------------------------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie jestem zbyt dobry z programowania akurat w php (...)
dobra rada: uwaznie formatuj swoj kod gdyz wowczas bedzie o wiele czytelniejszy dla Ciebie i innych -> uzywaj wciec [php:1:0a14188601]<?php if ($list=="all") { $max=0; } else { $max=$total-$show_num; } ?>[/php:1:0a14188601] |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 4.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nio fakt nie jestem zbyt dobry w php ale dla mnie jest kod czytelny taki i moze dlatego nie formatuje go tak ksiazkowo
![]() A ktos moze pomoc w tym proglemie co to ja go przedstawilem ? Pozdrawiam i dziekuje za odpowiedzi -------------------- --------------------------------------
Pozdrawiam marcindvd.net -------------------------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 03:13 |