Hallo, ik probeer een UPDATE uit te voeren maar dit lukt niet zo als het zou moeten....

Ik heb een formulier welke data uit de DB haalt, dit gaat goed... Als ik zeg Aanpassen dan moet hij een UPDATE script draaien, dit gaat gedeeltelijk goed...

Hij neemt de gegevens mee naar de pagina en dit krijg ik ook te zien... maar dan... dan doet hij niets....

Het zal ongetwijfeld heel eenvoudig zijn maar ik kom er niet uit...

Dit is het script wat het zou moeten uitvoeren...

Dus ik ga van " form1.php " naar " form2.php " waar hij dus wel de aanpassingen laat zien, ik wil deze tussen stap doen om de vraag te stellen weet je het zeker... dit hoeft opzicht niet maar vond ik wel handig....

waar gaat het mis ?!


<?php

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

include ("db_config.php");

if (isset($_POST['opslaan']))
{

$naam = mysql_real_escape_string($_POST['naam']);
$datum = mysql_real_escape_string($_POST['datum']);
$sku = mysql_real_escape_string($_POST['sku']);
$reden = mysql_real_escape_string($_POST['reden']);
$optie = mysql_real_escape_string($_POST['optie']);
$ontvangen = mysql_real_escape_string($_POST['ontvangen']);
$land = mysql_real_escape_string($_POST['land']);
$afhaal = mysql_real_escape_string($_POST['afhaal']);
$afgerond = mysql_real_escape_string($_POST['afgerond']);
$note = mysql_real_escape_string($_POST['note']);

$sql = "UPDATE pakket SET

naam = '$naam',
datum = '$datum'
sku = '$sku',
reden = '$reden',
optie = '$optie'
ontvangen = '$ontvangen',
land = '$land',
afhaal = '$afhaal'
afgerond = '$afgerond',
note = '$note'

WHERE

id='".$_GET['id']."'";

$update = mysql_query($sql)or die(mysql_error());

}

?>
Het id krijgt hij netjes mee vanaf de pagina die er voor zit, hij vult alle waarde ook prima in inc. de id ( als ik die er bij zet )

Dit kan ik niet opmaken uit jouw code, ook weet ik niet hoe de huidige variant er uitziet.

Ik kan je alleen maar aanraden om wat meer gevoel voor debugging te krijgen.

Geef de informatie die je gebruikt ook eens weer op je scherm met print_r() of var_dump(), dan zie je heel snel welke informatie er ontbreekt. Dit had je ook al moeten kunnen zien door middel van error_reporting + display_errors.
Thomas van den Heuvel op 24/01/2016 21:13:15

Het id krijgt hij netjes mee vanaf de pagina die er voor zit, hij vult alle waarde ook prima in inc. de id ( als ik die er bij zet )

Dit kan ik niet opmaken uit jouw code, ook weet ik niet hoe de huidige variant er uitziet.

Ik kan je alleen maar aanraden om wat meer gevoel voor debugging te krijgen.

Geef de informatie die je gebruikt ook eens weer op je scherm met print_r() of var_dump(), dan zie je heel snel welke informatie er ontbreekt. Dit had je ook al moeten kunnen zien door middel van error_reporting + display_errors.


dit is de link die ik krijg waar dus alles ook in staat...


test.php?id=42&datum=19-01-2016&sku=431234&naam=Roland&land=Nederland&reden=Test&afhaal=Geen&ontvangen=Nee&optie=Nog&afgerond=Nee&note=&POST=opslaan

als ik een formulier heb laat hij ook alles netjes op de juiste locatie zien...
Als je zo een link krijgt, dan mist er een method in je form-tag, of je gebruikt GET.
ik verstuur vanaf deze pagina...

[code]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Notitie aanpassen</title>
<style type="text/css">
#bestellen table {
text-align: center;
}
</style>
<script type="text/javascript">
// Popup window code
function newPopup(url) {
popupWindow = window.open(
url,'popUpWindow','height=500,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
</head>
<body>
<?php
require_once 'db_config.php';

include 'menu.php';
?>
<br><br><br><br>
WERKT NOG NIET !

<?php

$sql = "
SELECT

*

FROM

pakket

WHERE id= ' ".$_GET['id']." '

";

?>
<br>
<center>
<table border='0'>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>

<?php

$result = mysql_query($query);


if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
while($row = mysql_fetch_assoc($res))
{

{

echo "<form action=test.php method=opslaan>\n";

echo "<tr>\n";
echo "<td> </td>\n";
echo "<td><a href=JavaScript:newPopup('print.php?id=".$row["id"]."');>Print</a><td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td></td>\n";
echo "<td><input type='hidden' name='id' value=".$row["id"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Gemeld:</td>\n";
echo "<td><input type='text' name='datum' value=".$row["datum"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Bestelnummer:#</td>\n";
echo "<td><input type='text' name='sku' value=".$row["sku"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Naam:</td>\n";
echo "<td><input type='text' name='naam' value=".$row["naam"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Optie:</td>\n";
echo "<td><select name=land><option value=".$row["land"]." >".$row["land"]."</option>
<option value=Nederland >Nederland</option>
<option value=Belgie >Belgie</option>
<option value=Duitsland >Duitsland</option>
</select></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Reden:</td>\n";
echo "<td><input type='text' name='reden' value=".$row["reden"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Afhaal datum:</td>\n";
echo "<td><input type='text' name='afhaal' value=".$row["afhaal"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Ontvangen:</td>\n";
echo "<td><input type='text' name='ontvangen' value=".$row["ontvangen"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Optie:</td>\n";
echo "<td><select name=optie><option value=".$row["optie"]." >".$row["optie"]."</option>
<option value=juiste >Juiste toezenden</option>
<option value=crediteren >Crediteren</option>
<option value=opgelost >Al opgelost</option>
<option value=Anders >Anders, zie mail</option>
</select></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Afgerond:</td>\n";
echo "<td><input type='text' name='afgerond' value=".$row["afgerond"]."></td>\n";
echo "</tr>\n";

echo "<tr>\n";
echo "<td>Notitie:</td>\n";
echo "<td><textarea name='note' rows='5' cols='40' value=".$row["note"]."></textarea></td>\n";
echo "</tr>\n";

}
}
?>
</table>
<input type="submit" name="POST" value="opslaan">
</form>
</center>
</body>
</html>

[\code]

en ik wil posten met dit script....

[code]

<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

include ("db_config.php");

if ($_SERVER['REQUEST_METHOD']=="POST")
{

$naam = mysql_real_escape_string($_POST['naam']);
$datum = mysql_real_escape_string($_POST['datum']);
$sku = mysql_real_escape_string($_POST['sku']);
$reden = mysql_real_escape_string($_POST['reden']);
$optie = mysql_real_escape_string($_POST['optie']);
$ontvangen = mysql_real_escape_string($_POST['ontvangen']);
$land = mysql_real_escape_string($_POST['land']);
$afhaal = mysql_real_escape_string($_POST['afhaal']);
$afgerond = mysql_real_escape_string($_POST['afgerond']);
$note = mysql_real_escape_string($_POST['note']);

$sql = "UPDATE pakket SET

naam = '$naam',
datum = '$datum',
sku = '$sku',
reden = '$reden',
optie = '$optie',
ontvangen = '$ontvangen',
land = '$land',
afhaal = '$afhaal' ,
afgerond = '$afgerond',
note = '$note'

WHERE

id='".mysql_real_escape_string($_GET['id'])."';


$update = mysql_query($sql)or die(mysql_error());

}

?>

[\code]
method=opslaan werkt niet
- Ariën - op 24/01/2016 21:24:14

method=opslaan werkt niet


Maar post ook niet :)
Zou toch echt moeten werken.
met methode post neemt hij niets mee.... terwijl met opslaan wel ???
Omdat je dan terugvalt op GET, en dat wil je hier niet gebruiken.
ik kom dan in het POST verhaal terecht... dat is test.php

Toevoeging op 24/01/2016 21:30:36:

Hoe zit dit verhaal in elkaar ??

Is dat goed zo of mist er iets ??



<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

include ("db_config.php");

if ($_SERVER['REQUEST_METHOD']=="POST")
{

$naam = mysql_real_escape_string($_POST['naam']);
$datum = mysql_real_escape_string($_POST['datum']);
$sku = mysql_real_escape_string($_POST['sku']);
$reden = mysql_real_escape_string($_POST['reden']);
$optie = mysql_real_escape_string($_POST['optie']);
$ontvangen = mysql_real_escape_string($_POST['ontvangen']);
$land = mysql_real_escape_string($_POST['land']);
$afhaal = mysql_real_escape_string($_POST['afhaal']);
$afgerond = mysql_real_escape_string($_POST['afgerond']);
$note = mysql_real_escape_string($_POST['note']);

$sql = "UPDATE pakket SET

naam = '$naam',
datum = '$datum',
sku = '$sku',
reden = '$reden',
optie = '$optie',
ontvangen = '$ontvangen',
land = '$land',
afhaal = '$afhaal' ,
afgerond = '$afgerond',
note = '$note'

WHERE

id='".mysql_real_escape_string($_GET['id'])."';


$update = mysql_query($sql)or die(mysql_error());

}

?>

Reageren