Avatar billede Slettet bruger
27. oktober 2008 - 16:48 Der er 11 kommentarer og
1 løsning

delete virker ikke

hejsa allesammen.

sidder og leger lidt med et enkelt navne system. og vil gerne kunne slette indtastede navne.

Men den sletter ikke :-/

____
slet.php:

<?php

$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("test",$conn) or die(mysql_error());

$delete = mysql_query("DELETE FROM navne WHERE id=".$_REQUEST["id"]);

echo "Posten er slettet. <a href='navne.php'>Tilbage til navne.</a>";
?>
____
Linket på forsiden:
<a href='slet.php?id=$row[id]'>Slet</a>"
___

nogen der kan hjælpe :-P
Avatar billede w13 Novice
27. oktober 2008 - 17:13 #1
Ser dine links ud til at blive genereret rigtigt med:

slet.php?id=$row[id]

?

Dvs. hvordan kommer en af links'ene til at se ud?

Brug i øvrigt GET i stedet for REQUEST.
Avatar billede Slettet bruger
27. oktober 2008 - 17:20 #2
linket ....../p/test/slet.php?id=11 eller hvilket id den nu har.

har prøvet GET, det virkede heller ik :-/
Avatar billede fbhzone Nybegynder
27. oktober 2008 - 18:21 #3
Det der... er _MEGET_ dumt.  Hvad nu hvis jeg i din URL skriver: slet.php?id=* ?
Avatar billede fbhzone Nybegynder
27. oktober 2008 - 18:23 #4
prøv lige:


$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("test",$conn) or die(mysql_error());

$id = $_GET['id'];

if(!is_numeric($id)) die("Hov hov du!");

$delete = mysql_query("DELETE FROM navne WHERE id=".$id);

if($delete) {
    echo "Alt gik godt.. det er slettet";
} else {
    echo mysql_error();
}
Avatar billede coderdk Praktikant
27. oktober 2008 - 19:34 #5
fbhzone, * er ligegyldig, men "?id=1 or 1=1" ville derimod være fatal :)

$id = intval( $_GET['id'] );

vil også virke...
Avatar billede Slettet bruger
27. oktober 2008 - 20:27 #6
fbhzone -> Det virkede :)

Sidder på min egen server og leger med det, og der burde du ikke kunne taste noget :)

kan du forklare hvad jeg havde lavet forkert i det jeg havde kodet? :)

coderdk -> hvad sker der hvis du skriver ?id=1 or 1=1 ? -:)
Avatar billede jensgram Nybegynder
27. oktober 2008 - 20:31 #7
"hvad sker der hvis du skriver ?id=1 or 1=1 ? -:)" > Så slettes alle rækker, hvor id = 1 ELLER 1=1, i.e. ALLE rækker :)
Avatar billede w13 Novice
27. oktober 2008 - 20:32 #8
Så slettes alt i databasen. =) Så ved at tjekke, om det er numerisk (ligesom fbhzones kode eller coderdk's intval-forslag), så sikrer du dig, at du ikke bliver "hacket" sådan. =)
Avatar billede Slettet bruger
27. oktober 2008 - 20:32 #9
Okay, ikke så smart :D fbhzone smider du et svar?
Avatar billede jensgram Nybegynder
27. oktober 2008 - 20:36 #10
w13 > Ahhh, tabellen.
Avatar billede w13 Novice
27. oktober 2008 - 20:40 #11
Jensgram: Ah ja. =) Medmindre man skriver:

?id=1; DROP TABLES --

Så slettes alt i databasen. =)
Avatar billede fbhzone Nybegynder
27. oktober 2008 - 20:46 #12
:)
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