ThaMezzy Skrevet 12. mars 2006 Del Skrevet 12. mars 2006 (endret) Kan du forklare korleis eg sletter eit innlegg? (Med form og submit button) 5742643[/snapback] Hvorfor lage en form når du bare kan lage en link? Du henter ut id'en fra databasen og lager en link som kan se slik: <a href="slett.php?id=$id">Slett</a> Slett.php: <?php // Bare en funksjon for å validere input. function check_input($value) { $value = htmlspecialchars($value); $value = trim($value); $value = htmlentities($value); if( get_magic_quotes_gpc() ) { $value = stripslashes($value); } if( !(is_numeric($value)) ) { $value = mysql_real_escape_string($value); } return $value; } // Henter id'en fra linken og validerer den. $id = check_input($_GET['id']); if( !(is_numeric($id)) ) { echo " ID'en <strong><u>".$id."</u></strong> er ugyldig. "; exit; } // Finnes denne ID'en i databasen i det hele tatt? $query = "SELECT id FROM `<tabell>` WHERE `id` = '".$id."'; $result = mysql_query($query) or die(mysql_error()); if( mysql_num_rows($result) == 0 ) { echo " ID'en <strong><u>".$id."</u></strong> finnes ikke! "; exit; } // Hvis ID'en finnes i databasen går vi videre til slettingen. $query = "DELETE FROM `<tabell>` WHERE `id` = '".$id."'"; $result = mysql_query($query) or die(mysql_error()); echo " ID'en <strong><u>".$id."</u></strong> ble vellykket slettet! <br /><br /><a href=\"javascript:history.back(-1)\">Tilbake</a> "; ?> Sånn! Nå burde du klare det meste selv. Endret 14. mars 2006 av ThaMezzy Lenke til kommentar
Arne Skrevet 13. mars 2006 Forfatter Del Skrevet 13. mars 2006 Tusen, tusen takk! Det var akkurat slik eg ville ha det. For at ikkje alle skulle kunne slette, burde eg vel skjekke som sessionen frå Brukerpanelet eg held på å lage er satt? Lenke til kommentar
Arne Skrevet 13. mars 2006 Forfatter Del Skrevet 13. mars 2006 Men eit lite spm, kva skal den fyrste funksjonen hjelpe for? Lenke til kommentar
ThaMezzy Skrevet 13. mars 2006 Del Skrevet 13. mars 2006 Men eit lite spm, kva skal den fyrste funksjonen hjelpe for? 5746451[/snapback] Det har jeg skrevet i koden. Du kan bruke sessions ja for å utelukke andre. Lenke til kommentar
Arne Skrevet 13. mars 2006 Forfatter Del Skrevet 13. mars 2006 For å lære, så kopierte eg ikkje scriptet, men skreiv av. Eg får ei feilmelding, her er koden: <html> <head> <title>Slett innlegg i gjestebok</title> </title> </head> <body> <?php //Validierer input! function check_input($value) { $value = htmlspecialchars($value); $value = trim($value); $value = htmlentites($value); if(get_magic_quotes()) { $value = stripslashes($value); } if (!(is_numeric($value))) { $value = mysql_real_escape_string($value); } return $value; } //Henter id frå linken, og validerer den. $id = check_input($_GET['id']); if (!(is_numeric($id))){ echo "ID'en <strong><u>$id</u></strong> er ugyldig."; exit;} $query = "SELECT id FROM `guestbook` WHERE `id`= '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); if ( mysql_num_rows($query) == 0){ echo"Id'en <strong><u>$id</u></strong> fins ikkje."; exit; $query = "DELETE from `guestbook` WHERE `id` = '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); echo"Id'en <strong><u>$id</u></strong> blei sletta.<br /><a href=\"javascript:history.back(-1)\">Tilbake</a>"; ?> </body> </html> Sikkert berre ein slurvefeil, men det er irriterande... Lenke til kommentar
ThaMezzy Skrevet 13. mars 2006 Del Skrevet 13. mars 2006 For å lære, så kopierte eg ikkje scriptet, men skreiv av.Eg får ei feilmelding, her er koden: <html> <head> <title>Slett innlegg i gjestebok</title> </title> </head> <body> <?php //Validierer input! function check_input($value) { $value = htmlspecialchars($value); $value = trim($value); $value = htmlentites($value); if(get_magic_quotes()) { $value = stripslashes($value); } if (!(is_numeric($value))) { $value = mysql_real_escape_string($value); } return $value; } //Henter id frå linken, og validerer den. $id = check_input($_GET['id']); if (!(is_numeric($id))){ echo "ID'en <strong><u>$id</u></strong> er ugyldig."; exit;} $query = "SELECT id FROM `guestbook` WHERE `id`= '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); if ( mysql_num_rows($query) == 0){ echo"Id'en <strong><u>$id</u></strong> fins ikkje."; exit; $query = "DELETE from `guestbook` WHERE `id` = '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); echo"Id'en <strong><u>$id</u></strong> blei sletta.<br /><a href=\"javascript:history.back(-1)\">Tilbake</a>"; ?> </body> </html> Sikkert berre ein slurvefeil, men det er irriterande... 5747455[/snapback] Hva med å si hva feilmeldingen er? Nå syns jeg at du har postet kanskje 5 poster på rad hvor alle er like dårlig formulert. Funksjonen heter også htmlentities(); Lenke til kommentar
Arne Skrevet 13. mars 2006 Forfatter Del Skrevet 13. mars 2006 Ah, beklager. Parse error: parse error, unexpected $ in /home/arneweb/web/admin.arneweb.com/gbslett.php on line 39 Av ein eller annan dårleg grunn, klarer eg alltid å skrive htmlentites() i stadenfor htmlentities()... Lenke til kommentar
ThaMezzy Skrevet 13. mars 2006 Del Skrevet 13. mars 2006 (endret) Du har glemt en } etter der hvor du ser om id'en finnes i databasen. EDIT: Var nok litt rask for deg, trondes:P Endret 13. mars 2006 av ThaMezzy Lenke til kommentar
trondes Skrevet 13. mars 2006 Del Skrevet 13. mars 2006 Ah, beklager. Parse error: parse error, unexpected $ in /home/arneweb/web/admin.arneweb.com/gbslett.php on line 39 Av ein eller annan dårleg grunn, klarer eg alltid å skrive htmlentites() i stadenfor htmlentities()... 5748697[/snapback] if ( mysql_num_rows($query) == 0){ echo"Id'en <strong><u>$id</u></strong> fins ikkje."; exit; if() blir ikke avsluttet.. du mangler en } Lenke til kommentar
Arne Skrevet 14. mars 2006 Forfatter Del Skrevet 14. mars 2006 Takk. Når eg bruker denne koden: <html> <head> <title>Slett innlegg i gjestebok</title> </title> </head> <body> <?php $connection = mysql_connect("****", "****", "****"); mysql_select_db("div", $connection); //Validierer input! function check_input($value) { $value = htmlspecialchars($value); $value = trim($value); $value = htmlentities($value); if(get_magic_quotes_gpc()) { $value = stripslashes($value); } if (!(is_numeric($value))) { $value = mysql_real_escape_string($value); } return $value; } //Henter id frå linken, og validerer den. $id = check_input($_GET['id']); if (!(is_numeric($id))){ echo "ID'en <strong><u>$id</u></strong> er ugyldig."; exit;} $query = "SELECT id FROM `guestbook` WHERE `id`= '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); if ( mysql_num_rows($query) == 0){ echo"Id'en <strong><u>$id</u></strong> fins ikkje."; exit;} $query = "DELETE from `guestbook` WHERE `id` = '".$id."'"; $result = mysql_query($query) OR die(mysql_error()); echo"Id'en <strong><u>$id</u></strong> blei sletta.<br /><a href=\"javascript:history.back(-1)\">Tilbake</a>"; ?> </body> </html> , får eg denne feilmeldinga: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/arneweb/web/admin.arneweb.com/gbslett.php on line 36 Id'en 26 fins ikkje. Lenke til kommentar
ThaMezzy Skrevet 14. mars 2006 Del Skrevet 14. mars 2006 Har du prøvd noe selv i det hele tatt? Du må ha: if ( mysql_num_rows($result) == 0){ Lenke til kommentar
Arne Skrevet 14. mars 2006 Forfatter Del Skrevet 14. mars 2006 (endret) Takk. Det virkar heilt fint no. EDIT: Når eg les tråden, må eg sei de har vore tolmodige... Endret 14. mars 2006 av Fjott Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå