Ik wil dat een geregistreerde gebruiker een regel kan verwijderen uit een database.
tot nu toe heb ik dit, maar dat werkt niet:
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect("$host", "$dbusername", "$password") or die ("niet gelukt te connecten");
mysql_select_db("$db") or die ("het lukt niet");
?>
<?php
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '$naam'";
mysql_query($query) or die("niet geslaagd !!!");
echo "database is bijgewerkt";
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
<label>
<input type="text" id="naam" />
</label>
<label>
<input type="submit" name="submit" value="Verwijderen" />
</label>
</form>
</body>
</html>
Tip: kijk en probeer te begrijpen wat er nu staat, als je iets niet snapt, vraag het dan gelijk ;)
In een form statement noteer je de methode - in dit geval POST - en de file waar hij je informatie naar moet toe sturen. Je kunt dus bijvoorbeeld bij action dit neer zetten:
Die verwijst dus naar jou bestand. In dit geval dus jenaamvanjebestand.php.
Het moet toch kunnen om met een formulier een variabele te benoemen, die vervolgens in een querie zet zonder zoveel poespas ?
Ik heb het volgende gedaan
SELECT FROM namen WHERE naam is "pietjepuk"
Deze Querie op zich is goed, want als ik dit in de querie zet werkt het zelfs zonder op submit te drukken.
Hetgene dat dus nog niet lukt is de variabele aan de querie toe te voegen.
En dit is arabish. Kan je niet een beetje ABN schrijven? Jij wilt dat wij jou helpen, neem dan tenminste de tijd om een fatsoenlijke reactie te schrijven.
Ik zal het posten:
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die ("het lukt niet");
if($_POST['submit'])
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = 'jones'";
mysql_query($query) or die(mysql_error());
echo "database is bijgewerkt";
}
?>
<html>
<body>
<h2> wat wil je verwijderen</h2>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" >
<label>
<input type="text" naam="naam" />
</label>
<label>
<input type="submit" name="submit" value="Verwijderen" />
</label>
</form>
</body>
</html>
Vervolgens gebeurt dit.
De rij van Jones wordt nu verwijderd uit de database.
Voeg ik echter : '".mysql_real_escape_string($_POST['naam'])."'"
In de querie in,in plaats van de naam Jones en typ ik Jones in het formulier, druk op submit dan gebeurt er niets.
Dus het toevoegen van de variabele "Jones", die ik heb ingetypt in het formulier, aan de querie gaat niet goed.
<?php
error_reporting(E_ALL);
?>
<html>
<head><title>Database bijwerker</title></head>
<body>
<?php
$host = "localhost";
$dbusername = "root";
$password = "";
$db = "testbase";
mysql_connect($host, $dbusername, $password) or die ("niet gelukt te connecten");
mysql_select_db($db) or die(mysql_error());
if($_SERVER["REQUEST_METHOD"] == "POST")
{
//Hier roep ik de tabel aan en nu zou de regel met de geselecteerde naam moeten verdwijnen.
$query= "DELETE FROM namen WHERE naam = '".mysql_real_escape_string($_POST['naam'])."'";
mysql_query($query) or die(mysql_error());
echo "Database is bijgewerkt.";
}
else
{
?>
<h2> Wat wil je verwijderen?</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?> " method="post">
<label>
<input type="text" naam="naam" />
</label>
<label>
<input type="submit" value="Verwijderen" />
</label>
</form>
<?php
}
?>
</body>
</html>