header(location:

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zackat

zackat

03/08/2006 23:57:00
Quote Anchor link
ik heb een formulier met method=post

<input type="radio" name="route" value="a13"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (isset($_POST['route']) && $_POST['route'] == 'a13') {echo "checked";}?>
/>

nadat ik op de submit button geklikt heb, moet er een andere pagina getoond worden waarin een switch staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
switch ($_POST['route'])
{
case
"a13":

?>

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php

echo'<?xml version="1.0" encoding="iso-8859-1"?>'?>


en dat staat op al mijn pagina's.

Ik snap de XML fout niet...
Gewijzigd op 01/01/1970 01:00:00 door Zackat
 
PHP hulp

PHP hulp

15/03/2025 03:45:31
 
Cake Masher

Cake Masher

04/08/2006 00:00:00
Quote Anchor link
waar is XML voor nodig in PHP?

Edit:

Is roete wel door een check heen gehaald??

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_POST['route'])
{

  switch ($_POST['route'])
  {
  case
"a13":
  }
}

 else
 {
   echo "Route is niet ingevult.";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
 
Zackat

zackat

04/08/2006 00:08:00
Quote Anchor link
ja route is door een check gehaald.

dat xml verhaal, geen idee meer waarom ik dat gedaan heb, maar dat had dacht ik met IE ofzoiets te maken...
 
Zackat

zackat

04/08/2006 00:12:00
Quote Anchor link
om naar een andere pagina te gaan nadat route ingevuld is doe ik"

header("location:route.php");

dit is toch correcte syntax?
 
Willem Jan Z

Willem Jan Z

04/08/2006 00:42:00
Quote Anchor link
Probeer het en je merkt het vanzelf
 
Zackat

zackat

04/08/2006 07:42:00
Quote Anchor link
heb ik geprobeerd, maar op een of ander manier wordt ik niet ge-redirect naar route.php maar blijf ik op dezelfde pagina staan, met de foutmelding zoals hier boven:

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.
 
Jan Koehoorn

Jan Koehoorn

04/08/2006 09:26:00
Quote Anchor link
Je echoot dit:

echo'
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" encoding="iso-8859-1"?>
'

en daar mis ik een puntkomma achter het eind.
 
Zackat

zackat

04/08/2006 17:47:00
Quote Anchor link
Jan, je hebt gelijk, was niet afgesloten met puntkomma. Bedankt!

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?
 
Niek s

niek s

04/08/2006 17:53:00
Quote Anchor link
omdat, als ik het goed begrijp, je $_POST['route'] moet gebruiken, en niet $route..

kan zijn dat ik je niet goed begrijp...
 
Zackat

zackat

04/08/2006 18:00:00
Quote Anchor link
$_POST['route'] heb ik in mijn switch staan, deze is leeg.

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
 
Zackat

zackat

04/08/2006 18:04:00
Quote Anchor link
Dit is de controle vooraf: $_POST['route'] is hier gevuld en brengt me op http:route/con_route_office.php en dan istie leeg :-(

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    if(isset($_POST['route'])){
        header("location:http:route/con_route_office.php");
    }
}
else{
    echo 'niet gezet';

}

?>
Gewijzigd op 01/01/1970 01:00:00 door zackat
 
Frank -

Frank -

04/08/2006 18:05:00
Quote Anchor link
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...
 
Zackat

zackat

04/08/2006 18:07:00
Quote Anchor link
Frank, je bedoelt waarschijnlijk datgene wat ik 1 minuut eerder gepost had?
 
Zackat

zackat

04/08/2006 19:33:00
Quote Anchor link
Ik heb m'n pagina's ingekort.

Deze pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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");
    }
}

?>


<!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"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (isset($_POST['route']) && $_POST['route'] == 'a20') {echo "checked";}?>
/>
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
error_reporting(E_ALL);
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

<BODY>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
      switch($_POST['route'])
      {
      case
'a20':
        echo"Hier is mijn route";
      }

    ?>

</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
 
Gerben G

Gerben G

04/08/2006 20:18:00
Quote Anchor link
$_POST['route'] bestaat niet
 
Frank -

Frank -

04/08/2006 20:25:00
Quote Anchor link
Tip: Hou de logica en de output uit elkaar. Dat maakt je script een stuk overzichtelijker en beter onderhoudbaar. Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>

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.
 
Zackat

zackat

04/08/2006 20:26:00
Quote Anchor link
waarom bestaat $_POST dan niet?

@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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.