header(location:
<input type="radio" name="route" value="a13"/>
nadat ik op de submit button geklikt heb, moet er een andere pagina getoond worden waarin een switch staat:
Als ik de pagina met het formulier verstuur om naar een andere pagina te gaan krijg ik de melding:
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Invalid at the top level of the document.
Ik heb geen idee wat het kan zijn. Voordat ik het formulier verstuur kijk ik nog even of $_POST['route'] een waarde heeft, dat heeft tie.
In de top van mijn document met de switch staat dit:
en dat staat op al mijn pagina's.
Ik snap de XML fout niet...
Gewijzigd op 01/01/1970 01:00:00 door Zackat
Edit:
Is roete wel door een check heen gehaald??
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
dat xml verhaal, geen idee meer waarom ik dat gedaan heb, maar dat had dacht ik met IE ofzoiets te maken...
header("location:route.php");
dit is toch correcte syntax?
Probeer het en je merkt het vanzelf
The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
Invalid at the top level of the document.
echo''
en daar mis ik een puntkomma achter het eind.
Ik word nu wel ge-redirect naar de andere pagina, maar krijg de melding: Notice: Undefined index: route
Ik controleer voordat er gesubmit wordt op $_POST['route'], deze is gevuld maar komt niet aan in de ge-redirecte pagina.
switch ($_POST['route']) in ge-redirecte pagina is leeg.
In ge-redirecte pagian ook nog een echo gedaan op $_REQUEST['route'], geeft dezelfde fout:
Notice: Undefined index: route
waarom is $route leeg? of waarom is dit niet bekend als variabele?
kan zijn dat ik je niet goed begrijp...
bedoel je dat ik $_POST['route'] in de $_REQUEST moet stoppen??
Zolang $_POST['route'] leeg blijft kom ik niet zo ver, ook als ik $_REQUEST gebruik. Hij komt leeg aan, dat is denk ik het probleem...
Gewijzigd op 01/01/1970 01:00:00 door zackat
Eerst met isset() controleren of een variabele, $_POST['route'] in dit geval, wel bestaat. Zo ja, dan ga je er iets mee doen. Zo nee, dan ben je snel klaar...
Frank, je bedoelt waarschijnlijk datgene wat ik 1 minuut eerder gepost had?
Deze pagina:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['route'])){
header("location:http:route.php");
}
}
?>
error_reporting(E_ALL);
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['route'])){
header("location:http:route.php");
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY>
<form action="" name="" method="post">
<h3>Routebeschrijving</h3>
<input type="radio" name="route" value="a20"/>
Met de auto, vanaf richting Utrecht (A20)<br/>
<input type="submit" name="submit" value="toon route" />
</form>
</BODY>
</HTML>
zou onderstaande pagina moeten oproepen en de tekst: Hier is mijn route echoen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY>
</BODY>
</HTML>
maar krijg de melding: Undefined index: route
snap er echt helemaal niets van. Wat is hier mis mee?
Gewijzigd op 01/01/1970 01:00:00 door zackat
$_POST['route'] bestaat niet
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
error_reporting(E_ALL);
if(isset($_POST['route'])){
switch($_POST['route'])
{
case 'a20':
$output = "Hier is mijn route";
break;
default:
$output = "Onbekende route";
break;
}
}
else {
$output = 'Geen waarde opgegeven';
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY>
<?php echo $output; ?>
</BODY>
</HTML>
error_reporting(E_ALL);
if(isset($_POST['route'])){
switch($_POST['route'])
{
case 'a20':
$output = "Hier is mijn route";
break;
default:
$output = "Onbekende route";
break;
}
}
else {
$output = 'Geen waarde opgegeven';
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<BODY>
<?php echo $output; ?>
</BODY>
</HTML>
Zowel de html-code als de php-code is zo een stuk overzichtelijker. Tevens kun je zo nooit problemen met sessies en/of cookies krijgen, die worden gebruikt en gezet in het gedeelte voor de output.
@Frank, bedankt. Het is een goeie tip.
Ik heb 2 pagina's waarbij output de route.php pagina is.
Het enige waar ik mee zit, is dat $_POST['route'] leeg is in de output pagina. De header () functie zorgt er toch voor dat $_POST['route'] beschikbaar is in het volgende script??
Gewijzigd op 01/01/1970 01:00:00 door zackat