16. marts 2005 - 22:38Der er
24 kommentarer og 2 løsninger
Nyheds system laver selv nyheder
Jeg har "Lavet" et nyhedssytem ud fra et script jeg fandt herinde... men der er det problem at hvis man opdatere browseren mens man er på admin siden laver den selv en nyhed... hvordan kan man forhindre dette?
det er fordi når man benytter header funktione i php til at redirecte med må der INTET output komme til skærmen før headerfunktionen aktiveres - så derfor ;o)
faktisk ville dette være bedre: <?PHP //dbconnet indeholder login opl. til db $dato = date("j, n, Y"); $titel = $_POST[titel]; $nyhed = $_POST[nyhed]; $forfatter = $_POST[forfatter];
if(isset($titel)) { include("dbconnect.php"); mysql_query("INSERT INTO nyheder (titel, nyhed, forfatter, dato) VALUES ('$titel','$nyhed','$forfatter','$dato')") or die(mysql_error()); header("location: ".$_SERVER['PHP_SELF'].""); } if($_GET['function'] == "slet") { include("dbconnect.php"); mysql_query("DELETE FROM nyheder WHERE id = '$_GET[id]'") or die(mysql_error()); header("location: ".$_SERVER['PHP_SELF'].""); } ?>
det forstod jeg ikke meget af... men hvad betyder det når nu det virker:0) Så kanont ved ikke om der er et hurtigt svar til dette eller om jeg skal lave endnu et sprøgsmål... men er det nemt at indsætte så der kun kan være f.eks 5 nyheder! og når man skriver nummer 6 så bliver den ældste slettet?
Det kan du for min skyld godt have i denne tråd. Det er en dårlig løsning at slette de gamle, da du istedet kan nøjes bare med at vise de 5 nyeste. Det kan jo være at der kommer et tidspunkt, hvor du gerne vil se på de gamle nyheder.
fiil123: Det med rækkefølen gør skyldes at HTTP protokollen kræver af headers bliver sendt som det første når en side loades. Hvis du derfor udskriver noget på sitet før du sender header'en bryder du denne regel og får en fejl.
bare lige så det er på det rene så er pointene dine... skal man så smide de gamle i et arkiv? kunne det evt gøre sådanne at man kun f.eks viser 5 nyheder resten bliver smidt i et arkiv man kun kan få adgang til fra admin siden?
Et eller andet sted viser du vel dine nyheder ikke? Der må du have en SQL streng der minder om denne:
SELECT * FROM nyheder ORDER BY dato DESC
hvis du ændrer den til
SELECT * FROM nyheder ORDER BY dato DESC LIMIT 5
er det kun de sidste 5 nyheder der bliver vist til brugerne. Men som admin kan du se dem alle sammen. Det handler altså ikke om at gamle nyheder rent faktisk bliver flyttet, idet du bare vælger ikke at vise dem.
hov kom til at tænke på at på min admin side bliver nyhederne vist i en laaang liste ned af siden, er det svær at sætte det i sidder af max 10 nyheder?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.