Delete

Status
Niet open voor verdere reacties.

Languh

Gebruiker
Lid geworden
2 sep 2007
Berichten
32
Hallo,

Ik ben een databaseje aant maken voor mijn DVD collectie.
Nu had ik een werkende "verwijderfunctie" maar op de een of andere manier werkt hij nu niet meer.
Ik kan niet ontdekken wat er fout is dus ik hoop van harte dat iemand mij hier op kan wijzen:

Wanneer ik in mijn dropdown menu een titel selecteer, en dan op de knop Verwijder klik, dan zou hij uit het systeem moeten verdwijnen. Helaas wanneer ik op deze knop druk komt de automatische boodschap in beeld dat het gelukt is, maar wanneer ik vervolgends mijn tabel erbij pak zie ik dat hij er nog gewoon instaat!

PHP:
<html>
<body>

<?php
include "connect.php";
{
?>

<form action="delete.php" method="post">
Selecteer film:
<select name="titel">

<?php
$query = "SELECT * FROM `dvd`";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{
echo "<option value =$record->titel>".$record->titel."</option>";
}
?>

</select>
<input type="submit" name="submit" value="verwijder" />
</form>
<?php
}
?>

<br>
<a href=index.php>Terug</a>

</body>
</html>

PHP:
<?php
$con = mysql_connect("xxx.xxx.xx.xx","s22222n_5fs34","00000000");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("sebadan_DVD", $con);

mysql_query("DELETE FROM dvd 
WHERE titel='$_POST[titel]'");

mysql_close($con);
?>

DVD succesvol verwijderd uit de database<br><br>
<a href=index.php>Terug</a>

Alvast onwijs bedankt!
 
hoi Languh.
Leuk dat je zo'n systeempje aan het maken bent. Ik heb er ook wel eens aan gedacht om dat te doen.

Even over je code.
Ik wil je hier even wat tips voor geven. het deleten van een record kun je beter aan de hand van een id doen. Dit is namelijk makkelijk te sanitizen je gooit de functie intval er namelijk overheen. Op je id zit waarschijnlijk ook een id en dan zal er ook wel een index opzitten (aanname). Dit is tevens sneller dan je huidige versie.

misschien is het ook handig om je code iets anders te structureren.

connect.php daar wordt je connectie gedaan en je

delete.php of index.php: hierin staat je form
en je form post naar je delete.php
include altijd boven aan je connect.php aangezien je het voorbeide methodes moet gebruiken.

dan op je delete.php check je
if (isset($_POST['submit']) && $_POST['dvdid']) {
// voer hier de delete query uit.
// en haal een intval over dvdid heen... gelijk een stukje veiliger
}

Ik hoop dat ik je hiermee een beetje mee kan helpen
 
Bedankt voor je antwoord! :thumb:

Het is alleen dat ik redelijk nieuw ben in php en mysql. Dit is de eerste database die ik heb opgezet en moet daarom nog veel leren. Wat je mij verteld is voor 50% abracadabra voor mij :P

Zou je dus het misschien iets makkelijker kunnen uitleggen?

Alvast reuze bedankt! :thumb::D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan