ThaMezzy Skrevet 12. mars 2006 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
Arne Skrevet 13. mars 2006 Forfatter 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?
Arne Skrevet 13. mars 2006 Forfatter Skrevet 13. mars 2006 Men eit lite spm, kva skal den fyrste funksjonen hjelpe for?
ThaMezzy Skrevet 13. mars 2006 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.
Arne Skrevet 13. mars 2006 Forfatter 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...
ThaMezzy Skrevet 13. mars 2006 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();
Arne Skrevet 13. mars 2006 Forfatter 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()...
ThaMezzy Skrevet 13. mars 2006 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
trondes Skrevet 13. mars 2006 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 }
Arne Skrevet 14. mars 2006 Forfatter 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.
ThaMezzy Skrevet 14. mars 2006 Skrevet 14. mars 2006 Har du prøvd noe selv i det hele tatt? Du må ha: if ( mysql_num_rows($result) == 0){
Arne Skrevet 14. mars 2006 Forfatter 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
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å