Nieuw lid |
|
Ik wil een UPDATE maken over de tabel 'verslag', maar heb daarvoor de gegevens nodig van nog twee tabellen.
Van lijst heb ik 'extra 9' nodig. Dat is de gebruikersnaam.
Van verslag heb ik 'ww nodig. Dat is het wachtwoord.'
'extra 9' en 'ww' vraag ik op met de volgende form action.
Gebruikersnaam<br>
<form action="vs4.php" method="post">
<input type="int" name="extra9" value"" ><br><br>
Wachtwoord<br>
<input type="text" name="ww" value"" ><br><br>
<input type="Submit" name="submit1"value="verslag"><br><br>
</form>
<form action="vs4.php" method="post"> <input type="int" name="extra9" value"" ><br><br> <input type="text" name="ww" value"" ><br><br> <input type="Submit" name="submit1"value="verslag"><br><br>
De update maak ik in het bestand vs4.php
<!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="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
<title></title>
<link rel= "stylesheet" href="menu_style.css" type="text/css" />
<link href="opmaak.css" rel="stylesheet" type="text/css"/>
</head>
<div id="container">
<div id="header3">
<body>
<?php
include ("db_connect.inc.php");
// controleren of pagina zichzelf heeft aangeroepen
// via hidden field " bevestiging" van formulier
if (isset($_POST["bevestiging"])){
// query samenstellen
// LET OP: in werkelijkheid nog validatie uitvoeren van de gegevens in $_POST
$query = "UPDATE verslag
INNER JOIN getallenlijst
ON (verslag.lemer=getallenlijst.leer)
INNER JOIN pas
ON (getallenlijst.leer=pas.extra9)
SET
btbll = '". $_POST["btbll"] ."'
WHERE extra9 = '".mysql_real_escape_string($_POST["extra9"]) . "'
AND ww = '".mysql_real_escape_string($_POST["ww"]) . "'";
mysql_query($query);
echo "De volgende opdracht is uitgevoerd: <b>$query</b><br><hr>\n";
echo "Record nummer " .$_POST["id"] . " is bijgewerkt<br>\n";
echo "<a href=\"vs4.php\">Terug</a>";
}
else{
// pagina heeft zichzelf nog niet aangeroepen, gegevens inlezen
$query="SELECT * FROM verslag
INNER JOIN getallenlijst
ON (verslag.lemer=getallenlijst.leer)
INNER JOIN pas
ON (getallenlijst.leer=pas.extra9)
WHERE extra9 ='". $_GET["id"] ."'";
$resultaat = mysql_query($query);
while (list($rtv_id, $naam, $grp, $rter, $lemer, $btb1, $btb2, $btb3, $btbll) = mysql_fetch_row($resultaat)){
$rd=$btbll;
}
?>
<h2>Deze gegevens bijwerken:</h2>
<form action="" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="id" value="<?php echo $_GET["id"];?>">
<textarea name="btbll" rows="70" cols="95"><?php echo $rd . PHP_EOL . date('(d/m/Y)');?></textarea><br>
<hr>
<input type="Submit" value="Gegevens bijwerken">
<input type="Button" value="Terug" onclick="javascript:history.go(-1);">
</form>
<?php
}// else-blok afsluiten
?>
</body>
</div>
<!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="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" /> <title></title> <link rel= "stylesheet" href="menu_style.css" type="text/css" /> <link href="opmaak.css" rel="stylesheet" type="text/css"/> </head> <div id="container"> <div id="header3"> <body> <?php include ("db_connect.inc.php"); // controleren of pagina zichzelf heeft aangeroepen // via hidden field " bevestiging" van formulier if (isset($_POST["bevestiging"])){ // query samenstellen // LET OP: in werkelijkheid nog validatie uitvoeren van de gegevens in $_POST $query = "UPDATE verslag INNER JOIN getallenlijst ON (verslag.lemer=getallenlijst.leer) INNER JOIN pas ON (getallenlijst.leer=pas.extra9) SET btbll = '". $_POST["btbll"] ."' echo "De volgende opdracht is uitgevoerd: <b>$query</b><br><hr>\n"; echo "Record nummer " .$_POST["id"] . " is bijgewerkt<br>\n"; echo "<a href=\"vs4.php\">Terug</a>"; } else{ // pagina heeft zichzelf nog niet aangeroepen, gegevens inlezen $query="SELECT * FROM verslag INNER JOIN getallenlijst ON (verslag.lemer=getallenlijst.leer) INNER JOIN pas ON (getallenlijst.leer=pas.extra9) WHERE extra9 ='". $_GET["id"] ."'"; while (list($rtv_id, $naam, $grp, $rter, $lemer, $btb1, $btb2, $btb3, $btbll) = mysql_fetch_row($resultaat)){ $rd=$btbll; } ?> <h2>Deze gegevens bijwerken:</h2> <form action="" method="post"> <input type="hidden" name="bevestiging" value="1"> <input type="hidden" name="id" value=" <?php echo $_GET["id"];? >"> <textarea name="btbll" rows="70" cols="95"> <?php echo $rd . PHP_EOL . date('(d/m/Y)');? ></textarea><br> <hr> <input type="Submit" value="Gegevens bijwerken"> <input type="Button" value="Terug" onclick="javascript:history.go(-1);"> </form> <?php }// else-blok afsluiten ?> </body> </div>
Maar de update mislukt en dat ligt volgens mij aan de UPDATE- en SELECT-query in vs4.php, maar ik zie de fout niet. Wat doe verkeerd?
In het volgende voorbeeld is de gebruikersnaam het getal 1 en het wachtwoord het woord 'wachtwoord'.
PS: ik krijg niet eens een foutmelding als de db_connect.inc.php er niet bij staat.
|