verwijderen record uit database via klikken op link
ik heb twee php-bestandjes,
de ene toont een tabel van een database met in elke tabelrij een link om de rij te verwijderen uit de database
de andere voert het verwijderen van het record en keert daarna terug naar het php-bestand dat de tabel toont en toont die tabel zonder de verwijderde rij.
toontabel.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
echo ("<tr><th>Emailadres</th><th>Familienaam</th><th>Voornaam</th><th>Gebruikersnaam</th><th>Paswoord</th><th>Telefoonnummer</th><th>Verwijderen</th></tr>");
while ($rij=mysql_fetch_array($result))
{
echo ("<tr><td>".$rij["Emailadres"]."</td><td>".$rij["Familienaam"]."</td><td>".$rij["Voornaam"]."</td>");
echo ("<td>".$rij["Gebruikersnaam"]."</td><td>".$rij["Paswoord"]."</td><td>".$rij["Telefoonnummer"]."</td>");
echo ("<td style=\"text-align:center\"><a href=\"verwijderklant.php?Emailadres=" .$rij['Emailadres'] . "\">Verwijder</a></td></tr>");
echo ("<br />\n");
}
echo "</table>";
?>
echo ("<tr><th>Emailadres</th><th>Familienaam</th><th>Voornaam</th><th>Gebruikersnaam</th><th>Paswoord</th><th>Telefoonnummer</th><th>Verwijderen</th></tr>");
while ($rij=mysql_fetch_array($result))
{
echo ("<tr><td>".$rij["Emailadres"]."</td><td>".$rij["Familienaam"]."</td><td>".$rij["Voornaam"]."</td>");
echo ("<td>".$rij["Gebruikersnaam"]."</td><td>".$rij["Paswoord"]."</td><td>".$rij["Telefoonnummer"]."</td>");
echo ("<td style=\"text-align:center\"><a href=\"verwijderklant.php?Emailadres=" .$rij['Emailadres'] . "\">Verwijder</a></td></tr>");
echo ("<br />\n");
}
echo "</table>";
?>
verwijderklant.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
if (isset($_POST["bevestiging"]))
{
$db=mysql_connect("localhost","afhaalpizz_root2","admin");
mysql_select_db("afhaalpizz_klanten",$db) or die ("openen database mislukt");
mysql_query("DELETE FROM gegevens WHERE Emailadres = $_POST[Emailadres]");
mysql_close($db);
header('Location:toontabel.php');
}
?>
<html>
<head>
<title>verwijderklant.php</title>
</head>
<body>
<center>
<h2>Wilt u deze gegevens verwijderen ?</h2>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="Emailadres" value="<?php echo($_GET["Emailadres"]);?>">
<input type="Submit" value="Ja, verwijderen">
<input type="Button" value="Nee, terug" onclick="javasccript:history.back();">
</form>
</center>
</body>
</html>
if (isset($_POST["bevestiging"]))
{
$db=mysql_connect("localhost","afhaalpizz_root2","admin");
mysql_select_db("afhaalpizz_klanten",$db) or die ("openen database mislukt");
mysql_query("DELETE FROM gegevens WHERE Emailadres = $_POST[Emailadres]");
mysql_close($db);
header('Location:toontabel.php');
}
?>
<html>
<head>
<title>verwijderklant.php</title>
</head>
<body>
<center>
<h2>Wilt u deze gegevens verwijderen ?</h2>
<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="Emailadres" value="<?php echo($_GET["Emailadres"]);?>">
<input type="Submit" value="Ja, verwijderen">
<input type="Button" value="Nee, terug" onclick="javasccript:history.back();">
</form>
</center>
</body>
</html>
Weet iemand wat ik fout heb gedaan ? Alvast bedankt.
Gelieve in het vervolg bij code, code tags te gebruiken.[/modedit]
Gewijzigd op 25/07/2010 10:55:34 door Bas IJzelendoorn
Probleem omschrijving?
Edit;
en zet zelf code tags om je scripts zodat het wat overzichtelijker wordt.
Gewijzigd op 25/07/2010 00:29:45 door Wouter De Schuyter
Errors: geen.
(tags worden hier letterlijk weergegeven)
Gewijzigd op 25/07/2010 09:52:04 door karim ab
Niet direct $_GET, $_POST, $_REQUEST of $_COOKIE in een query zetten. Gebruik mysql_real_escape_String.
die is niet net, want er kan altijd nog wel een html pagina worden getoond.
Controleren of een form gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST'), hoef je ook geen hidden inputs.
Pas op met PHP_SELF. Ook ontbreekt foutafhandeling.
Als je geen errors krijgt moet je in elk bestand bovenaan dit plaatsen:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Edit:
Paradox bedoelt: [code] en [/code] tags
ik zal de scripts volledig terug maken en proberen
grt
Het is overigs ook beter om een 'vinkje' te zetten in de db dat iets verwijderd is ipv het echt te verwijderen.