SQL, PHP. Ta bort från databasen

Permalänk

SQL, PHP. Ta bort från databasen

Hej.

Jag behöver hjälp om hur man tar bort ifrån databasen med PHP-kod på en webbsida. Jag vill ta bort genom att välja i en option-ruta och sedan klicka på en ta bort-knapp.

Kod:

<?php
ini_set("display_errors","2");
ERROR_REPORTING(E_ALL);
include("db.inc.php");
db_connect();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="stylesheet.css" media="all"/>

</head>
<body>

<h4>Ta bort artist</h4> <br/>
<form action="tabort.php" method="post">

<p>Välj artist</p>
<select name="Artist">
<?php
$query = "SELECT * FROM Artist ORDER BY Namn DESC";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
$namn = $row['Namn'];

print "<option value='$namn'>$namn</option>";

}
?>

</select>

<input name="reset" type="reset" value="Tabort" tabindex="22" />

</form>

</body>

</html>

Tacksam för hjälp!

Permalänk
Medlem

if(isset($_POST['artist'] && !empty($_POST['artist']){ $namn = $_POST['artist']; // här bör man göra lite tester på $namn och skydda sig mot SQL injection. $query = "DELETE FROM artist WHERE namn = '$namn'"; if(mysql_query($query)){ echo "Tog bort $namn"; } }

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk

Fick inte det att fungera. Vad är felet?

Jag la in koden, men har inte fått det att fungera. Webbsidan blir bara blank.

Är det något jag har missat?

<?php ini_set("display_errors","2"); ERROR_REPORTING(E_ALL); include("db.inc.php"); db_connect(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" href="stylesheet.css" media="all"/> </head> <body> <h4>Ta bort artist</h4> <br/> <form action="tabort.php" method="post"> <p>Välj artist</p> <select name="Artist"> <?php $query = "SELECT * FROM Artist ORDER BY Namn DESC"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)){ $namn = $row['Namn']; print "<option value='$namn'>$namn</option>"; } ?> </select> <input name="reset" type="reset" value="Tabort" tabindex="22" /> </form> <?php if(isset($_GET['Artist'] && !empty($_GET['Artist']))){ $namn = $_POST['Artist']; /* här bör man göra lite tester på $namn och skydda sig mot SQL injection. */ $query = "DELETE FROM Artist WHERE Namn = '$namn'"; if(mysql_query($query)){ echo "Tog bort $namn"; } } ?> </body> </html>

Permalänk
Medlem

Jag skrev fel, det ska vara POST inte GET i första if-satsen.

Och du har döpt filen till tabort.php?

Visa signatur

I'm Winston Wolfe. I solve problems.