<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>verwerk3</title>
    <link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
    <style type="text/css">        
        label.error {
            color: #FF0000;
        }
    </style>
</head>
<body>
<div id="onlineboeking">
        <form action="../templates/boekingformulier2.php" method="post" name="example">
	<p>
            <label 
                for="tocht" 
                class="field <?php if(!empty($_SESSION['errors']['tocht'])) echo 'error'; ?>"
            >Tocht:</label>
<select id="tocht" name="tocht">			
<?php
session_start();
$sql = "SELECT  TOCHT  FROM `hippotrail` ";
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows) 
while($row = $result->fetch_assoc())
{
?>
	<option value=" <?php echo $row['TOCHT']?> "> <?php echo $row['TOCHT'];
echo"	</option>";
    }
    ?>
</select>
        </p>

        <p>
          <input name="submit" type="submit" class="lijnuit" value="Verzenden" />
        </p> 
        </form>  
        </div>
</body>
</html>


Bovenstaand formulier werkt.
Het post de inhoud van het label tocht.
In het 2° formulier (hieronder) vang ik de inhoud van tocht als volgt op:
<?php
$tocht=$_POST['tocht']; ?>
  

$tocht wordt weergegeven in

            ><?php echo $tocht ?>:</label>

tot zover alles ok
Nu wil ik $tocht ook gebruiken in de query en dat werkt niet

$sql = "SELECT  DATUM  FROM `hippotrail`  WHERE TOCHT ='$tocht' "; 

Hieronder het volledige 2°formulier.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?php include('bovenmenu.php'); ?>
<?php include('connect.php'); ?>
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>verwerk3</title>
    <link rel="stylesheet" href="../css/hippo.css" type="text/css" media="screen" />
    <style type="text/css">        
        label.error {
            color: #FF0000;
        }
    </style>
</head>
<body>
<?php
$tocht=$_POST['tocht']; ?>
<div id="onlineboeking">       
        <form action="../templates/verwerk3.php" method="post" name="example">
		<p>
            <label 
                for="datumtocht" 
                class="field <?php if(!empty($_SESSION['errors']['datumtocht'])) echo 'error'; ?>"
            ><?php echo $tocht ?>:</label>
<select id="datumtocht" name="datumtocht">	
<?php
$sql = "SELECT  DATUM  FROM `hippotrail`  WHERE TOCHT =  '$tocht' "; 
if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
if ($result->num_rows) 
while($row = $result->fetch_assoc())
{
?>
	<option value="<?php echo $row['DATUM']?>"><?php echo $row['DATUM'];
echo"	</option>";
    }
    ?>
</select>
	</p>
        <p>
          <input name="submit" type="submit" class="lijnuit" value="Verzenden" />
        </p> 
        </form>  
</div>
</body>
</html>
Waarom zou je een $_POST-waarde nogmaals op willen slaan in een aparte variabele?

Gebruik gewoon dit:


<?php
$sql = "SELECT  DATUM  FROM `hippotrail`  WHERE TOCHT =  '".$mysqli->real_escape_string($_POST['tocht']."'";
?>

Verder zijn alleen hoofdletters in databasestructuren verwarrend.
De POST data is alleen beschikbaar op de webserver direct nadat je deze hebt gePOST.

Als je deze informatie over meerdere pagina-requests wilt onthouden zul je dit op een andere manier moeten doen. Indien je een soort zoekfunctionaliteit aan het maken bent: gebruik GET in plaats van POST.
@ Ariën
Dat gaat niet omdat het formulier nog niet naar de db weggeschreven is.

Ik wil een formulier maken waar het eerste veld een dropdown is, de waarden haal ik op uit de tabel 'hippotrail'. Na het selecteren van een waarde wil ik diezelfde waarde gebruiken in het tweede veld om daar de aangeboden waarden (ook een dropdown) die ook uit de tabel 'hippotrail' komen te filteren.
Het eerste veld met het ophalen vd waarden uit 'hippotrail' lukt.
Het is die geselecteerde waarde gebruiken in het tweede veld dat niet lukt.
Eerst had ik het in één pagina gedaan maar dat lukte niet, nu verdeel ik het over 2 pagina's maar het lukt ook niet.
Wat ik niet begrijp is dat ik de inhoud van $tocht kan weergeven in het label (2° formulier lijn 26) maar dat diezelfde $tocht niet werkt op lijn 29

Niet gemakkelijk om uit te leggen, en voor jullie nog moeilijker om te begrijpen denk ik.
Ik zie het. Je zult dan eerst je formulier moeten versturen.
Als je realtime je HTML wilt bewerken, kan je het beste naar het jQuery-framework kijken.
Nee, met PHP gaat je dat niet lukken want het is namelijk een server-side taal, eenmaal door de PHP-compiler gehaald wordt de HTML teruggestuurd naar de browser.

Reageren