17. maj 2005 - 20:27Der er
7 kommentarer og 1 løsning
slettefunktion til gæstebog
jeg har en gæstebog som henter fra min db og skriver alle beskederne ud på siden ved hjælp af en while løkke. Jeg vil så gerne have et link hvor der står slet (som kommer med på hver besked) som kan gå ind og slette den pågældende besked. Nogen der har nogle gode idèer? På forhånd tak.
tja i linket slet sætter du et id på <a href="dinside.php?slet=ja&id=2> Øverst på din side tjekker du om $_GET[slet] er ja Derefter sletter du posten med id = $_GET[id] Dog bør du have noget sikkerhed på så ikke alle kan rette i querystringen og slette poster! Det er mere sikkert hvis du bruger en form og $_POST
Hmmm, jeg ville nok lave en sql sætning der ser ca således ud:
sprintf("delete from gaestebog where id=%s, $_get[sletgaest])
i en fil for sig selv (delete.php)
(Jeg ved ikke hvad du kalder din tabel og felterne)
Så sletter du ved at lave et slette link der hedder noget i retning af: <a href="delete.php?sletgaest=<?php echo [et kald til databasen/tabellen efter et ID-nr] ?>">slet</a>
Du kan jo lave slette feltet som en del af en form som så submittes ved hjælp af javascript --- <form name="myform<?=$ID?>" method="post" action="sammeside.php"> <input type="hidden" name="id" value="<?=$ID?>"> <input type="hidden" name="slet" value="ja"> <span onclick="document.forms.myform<?=$ID?>.submit();">SLET POSTEN</span> </form> --- Den kunne du lave dynamisk når du alligevel har fat i $ID fra din database --- I toppen af din side tjekker du så --- if ($_POST['slet'] == "ja") { $sql = "Delete from din_tabel where id = $_POST[id]"; mysql_query($sql) or die(mysql_error()); }
Det eneste jeg tænkte på med sikkerhed er at du nok ikke er interesseret i at alle brugere af din gæstebog kan gå ind og slette ved at rette i en querystrin i adresselinjen Hvis du bruger login i en session så kan du selvfølgelig også tjekke på om sessionen er korrekt sat til fx admin inden du sletter i databasen
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.