Ik ben bezig met een Training From The Source boek: Dreamweaver MX 2004 with ASP, Coldfusion and PHP.
Ik krijg de volgende melding toen ik de 'server-side form validation' gemaakt had:

Notice: Undefined index: error in C:\Server\Apache2\htdocs\newland\tourprice.php

Dit is de code van tourprice.php:
<?php
if ($_GET['error'] == "notnumeric")
{
echo "<p class=\"error\">***Error! One or more fields was left blank or contained a non-numeric character.</p>";
}
?>

En dit is de code van tourprice_processor.php
<?php
if (is_numeric($_POST['numAdults']) == false or is_numeric ($_POST['numChildren']) == false)
{
header("Location:tourprice.php?error=notnumeric");
exit;
}
?>
<?php
$numAdult = $_POST['numAdults'];
$numChild = $_POST['numChildren'];
$basePrice = $_POST['tourName'];
$tourPrice = ($numAdult * $basePrice) + ($numChild * $basePrice);
?>

Ik heb Dreamweaver MX 2004 met PHP 5 en Apache.
Wat heb ik fout gedaan? Ik heb precies uitgevoerd wat in het boek staat en de correcte tourprice.php file, die bij het boek geleverd is geeft dezelfde notice.
Je hebt niet gecheckt of $_GET['error'] wel bestaat;
<?php
if (isset ($_GET['error'])) {
// hier je code
}
?>
Inderdaad zou dat de oplossing moeten zijn. Goed om te zien dat jij er ook nog bent Jan.

Misschien goed om even uit te leggen dat het ook mooier is om het deel voor de error inderdaad in de if (isset... functie te zetten, en het deel van de pagina wat die sowiezo uit moet voeren erbuiten, anders doet de pagina niets meer, wanneer er geen error is.
Moet het dan zijn:
<?php
if ($_GET['error]) {

header("Location: tourprice.php?error=notnumeric");
}
?>

Je moet de isset functie niet vergeten. Die isset functie kijkt of een variabele (in dit gevan de $_GET variabele) is meegegeven. Zo ja, dan gaat die door met wat er tussen {} staat en zo nee, dan slaat die dat over.

<?php
if (isset ($_GET['error'])) {
// hier je code
header("Location: tourprice.php? error=notnumeric");
}
?>
Robert schreef op 10.05.2006 15:01
<?php
if (isset ($_GET['error'])) {
// hier je code
header("Location: tourprice.php? error=notnumeric");
}
?>

Dankjewel! Ik ga het meteen uitproberen.
Het is nu allemaal goed. Dankjewel!
Wat suf dat dat niet zo in het boek staat. Dit is de eerste keer dat een Training from the source boek mij in de steek laat.

Reageren