PHP zijkt dat hij een $_POST variabele niet kan vinden, terwijl ie toch echt bestaat.
Kijk maar:
---pagina1.php---
<h1>e-Expositie</h1>
<form action="pagina2.php" method="POST" name="formulier" target="_self">
<?php
$materiaal = $_GET['materiaal'];
$query = 'SELECT * FROM materiaal WHERE id = \'' . $materiaal . '\'';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
extract($row);
echo '<p><input class="formulier" type="text" name="materiaal" size="5" value="' . $id . '" disabled> Het ID-nummer</p>';
echo '<p><input class="formulier" type="text" name="naammateriaal" size="20" value="' . $naammateriaal . '"> Het materiaal</p>';
}
?>
<p><input class="formulier" type="reset" value="Reset"> <input class="formulier" type="submit" value="Verzenden"></p>
</form>
Output:
<h1>e-Expositie</h1>
<form action="pagina2.php" method="POST" name="formulier" target="_self">
<p><input class="formulier" type="text" name="materiaal" size="5" value="1" disabled> Het ID-nummer</p>
<p><input class="formulier" type="text" name="naammateriaal" size="20" value="Aquarel"> Het materiaal</p>
<p><input class="formulier" type="reset" value="Reset"> <input class="formulier" type="submit" value="Verzenden"></p>
</form>
---pagina2.php---
<h1>e-Expositie</h1>
<?php
$materiaal = $_POST['materiaal'];
$naammateriaal = $_POST['naammateriaal'];
$query = 'UPDATE materiaal SET naammateriaal = \'' . $naammateriaal . '\' WHERE id = \'' . $materiaal . '\'';
#als test:
echo $query;
echo '<pre>';
print_r ($_POST);
echo '</pre>';
$result = mysql_query($query);
?>
<p>Het materiaal is aangepast.</p>
Output:
<h1>e-Expositie</h1>
<br />
<b>Notice</b>: Undefined index: materiaal in <b>/home/***/domains/***.***/public_html/***/***/pagina2.php</b> on line <b>3</b><br />
UPDATE materiaal SET naammateriaal = 'Aquarel' WHERE id = ''
<pre>
Array
(
[naammateriaal] => Aquarel
)
</pre>
<p>Het materiaal is aangepast.</p>
[edit]
Er is een MySQL connectie.
Even niet beginnen over beveiligingslekken, want die zitten er, maar dit is voor de administrator, dus dit is beveiligd, en hij/zij weet nog niet eens wat mySQL is, dus er zal geen geklooi komen.
[/edit]