Avatar billede bjavle Nybegynder
17. maj 2005 - 20:27 Der 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.
Avatar billede busschou Praktikant
17. maj 2005 - 20:37 #1
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
Avatar billede yHec Novice
17. maj 2005 - 20:38 #2
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>

Det virker perfekt for mig!

/jan
Avatar billede bjavle Nybegynder
17. maj 2005 - 20:44 #3
busschou
Hvordan kan jeg sætte mere sikkerhed på???
Kan du give mig et eksemple på en form??
Avatar billede busschou Praktikant
17. maj 2005 - 20:49 #4
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());
}
Avatar billede busschou Praktikant
17. maj 2005 - 20:51 #5
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
Avatar billede bjavle Nybegynder
17. maj 2005 - 20:57 #6
Okaj.. nu har jeg lidt at gå efter, havde sq stirret mig blind på det.
Smid et svar
Avatar billede busschou Praktikant
17. maj 2005 - 20:57 #7
oki :o) Det kan jo ske for den bedste... ellers råber du bare højt igen
Avatar billede bjavle Nybegynder
17. maj 2005 - 21:00 #8
will do :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester