Hej, jeg mangler en admin-funktion til at slette kommentarer Ud for hver kommentar er der et "Delete"-link, og når man klikker på det, skal man kunne slette den enkelte kommentar. Det er vigtigt at man kun kan slette kommentarer hvis den kan finde en bestemt cookie på klientens computer... en anden løsning kunne også være at man blive redirectet til en ny side, f.eks. delcomment.php, hvor man lige indtaster navn og kodeord for admin, og så slettes den ved et tryk på en knap og man redirectes tilbage til kommentar-siden :)
Jeg er gået lidt kold med at få det kodet færdigt, kan ikke se mig ud af mit mysql-halløj. Jeg indsætter lige koden for hele filen, og håber at nogen kan kigge på det:
Hvordan vil du helst have at det skal gøres? at man bliver sendt over til 'delcomment.php' eller at det bliver i den samme fil?
Hvis du vil bruge 'delcomment.php' kan du vel "bare" sende comment id med over som f.eks 'delcomment.php?commentid=1' og så slette den post i DB som passer med det ID.
Hvis du vil have det i den samme fil kan du lave delete linket som 'delcomment.php?mode=del&commentid=1' og så tjekke om mode er sat og om der står del og så slette den post i DB som passer med det ID.
Jeg kan godt skrive lidt kode hvis du ikke kan finde hoved og hale i det jeg skriver, men det bliver først når jeg kommer hjem.
Jeg kan godt lave det men det bliver ikke pænt og det vil sikkert kunne laves bedre. Er det noget der skal være færdigt på et bestemt tidspunkt, eller kan det vente til efter nytår?
Det behøver ikke være det vildeste, bare en hurtig funktion. Desværre skal det afleveres som et eksamensprojekt tirsdag, så det ville være fedt hvis du havde tiden til at kigge på det.
Jeg har ikke så meget tid lige nu, men hvis det ikke gør noget at det lidt spaghetti så kan jeg godt have noget til dig i morgen som du muligvis bør ændre lidt på for at det passer, især mht det med cookies.
Hvis du ændrer dit link til delcomment.php til dette: <a href='delcomment.php?DelID=".$rows['id']"'> kan du bruge dette i delcomment.php: <!-- delcomment.php --> <form method="post" action="<?php echo $_server['php_self']; ?>"> <p> Navn: <br /> <input type="text" name="navn" /> <br /> Password: <br /> <input type="password" name="kodeord" /> <input type="hidden" name="slet" value="slet" /> <input type="hidden" name="CommentID" value="<?php echo $_GET['DelID'] ?>" /> <br /> <input type="submit" value="Ok" /> </p> </form> <?php if (isset($_POST['navn']) && isset($_POST['kodeord'])) { if ($_POST['navn']== 'navn fra DB' && $_POST['kodeord']== 'kodeord fra DB') { if (isset($_POST['slet'])) { if ($_POST['slet']=="slet") { mysql_query("DELETE FROM comment WHERE id = '$_POST[CommentID]'") } } } } ?>
ellers kan du gøre sådan her: ændre link til: <a href=' "filnavn.php" ?mode=del&id=".$rows['id']."'> og tilføje dette til "filnavn.php" (bare husk at tilføje det med cookies): if (isset($_GET['mode'])) { if ($_GET['mode']=="del") { mysql_query("delete from guestbook where id = '$_GET['$id']'"); mysql_close(); } }
Læs koden grundigt igennem og tilføj de rigtige ting de rigtige stedet som f.eks. "filnavn.php" skal være navnet på den fil der indeholder den kode du har skrevet i dit originale indlæg, hvis du bruger den nederste løsning. Hvis du bruger den øverste så skal du huske at tilføje det nødvendige for at kunne tjekke navn og password før der bliver slettet noget.
Desværre virkede det ikke efter hensigten. Har lige afleveret det eksamensprojekt hvor det skulle have indgået i, så jeg arbejder nok først videre på det efter jul :)
Men... jeg skylder dig jo nogle point, så... kast et svar ;-)
Skal vi ikke få lukket det her spørgsmål? Forresten så fik du aldrig svaret på hvad fejlen var så hvis du kan huske det så vil jeg godt have det af vide
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.