Hallo,

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]
Niemand???
Is de waarde niet perongeluk een keer 0 ?
neej een 1
Op pagina2.php doe je dit:
<?php
$materiaal = $_POST['materiaal'];
?>
terwijl je niet gecontroleerd hebt of de index 'materiaal' wel bestaat. Het zou zo moeten:
<?php
if (isset ($_POST['materiaal'])) {
$materiaal = $_POST['materiaal'];
}
?>
Los daarvan is het onzin om de ene variabele aan de andere toe te kennen zonder dat je er verder iets mee doet. Het enige nut dat het kan hebben is dat je die variabele nog HEEL vaak nodig hebt en dat het dan korter schrijft waardoor je script overzichtelijker wordt.
Jan Koehoorn schreef op 30.07.2006 12:56
Op pagina2.php doe je dit:
<?php
$materiaal = $_POST['materiaal'];
?>
terwijl je niet gecontroleerd hebt of de index 'materiaal' wel bestaat. Het zou zo moeten:
<?php
if (isset ($_POST['materiaal'])) {
$materiaal = $_POST['materiaal'];
}
?>
Los daarvan is het onzin om de ene variabele aan de andere toe te kennen zonder dat je er verder iets mee doet. Het enige nut dat het kan hebben is dat je die variabele nog HEEL vaak nodig hebt en dat het dan korter schrijft waardoor je script overzichtelijker wordt.

Zoals ik alz ei, hoeft het niet allemaal gecontroleerd te worden.
Maak nie uit hoor
Maar waarom wordt die var nou niet verstuurd? want dat is het probleeem./..
Waarschijnlijk omdat die input op disabled staat.
ow maar andere forms werken wel met disabled
Denk het niet, heb het even getest, maar komt door het disabled, je zou het op readonly kunnen zetten.
wat is readonly???
Zo:

<?php
	echo '<pre>';
	print_r ($_POST);
	echo '</pre>';
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<h1>e-Expositie</h1>
	<form action="index.php" method="POST" name="formulier" target="_self">
	<p><input class="formulier" type="text" name="materiaal" size="5" value="1" readonly="true"> 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> 
</body>
</html>

Reageren