variabelendoorsturen naar nieuwe pagina

Status
Niet open voor verdere reacties.

ben38

Nieuwe gebruiker
Lid geworden
28 mrt 2007
Berichten
4
Hallo,

Ik heb, waarschijnlijk, een beginnende php gebruikersvraag.

Nl.: ik heb een pagina waar je via 2 dropdown boxen een selectie kunt maken.
Na wat controles wil ik deze 2 variabelen gebruiken in een 2e pagina.
De eerste pagina moet automatisch dus doorgelinkt worden naar de 2e pagina,
waarbij deze 2 variabelen dan weer gebruikt kunnen worden.

Maar hoe doe ik dat?
ik heb nu in mijn php staan
?>
<meta http-equiv="refresh" content="5;url=http://localhost/reagentia/rea_mut.php">
<?php

ik kom dan wel op de 2e pagina, maar de variabelen zijn dan er niet meer.

Kan iemand mij verder helpen?

bij voorbaat dank.
Ben
 
versturen met een formulier en dan de variabelen ophalen met $_POST of $_GET, ligt aan je form method.
 
ik ben nog erg nieuw mbt php en html, dus weet ik nog niet helemaal wat je bedoelt.


Het is toch zo, dat wanneer ik een html form maak, je dan nog een keer op ok oid moet klikken, waardoor je naar de 2e pagina gaat?

kan je niet via die meta http equiv variabelen meesturen?

of iets met sessies?
sessies heb ik al een beetje geprobeerd. Op de server staat inderdaad het sessie bestand, maar hoe roep ik dan de variabelen weer op?

Ben
 
formulier.html
HTML:
<form action="verwerk.php" method="POST">
 Selectie 1:
 <select name="selectie1">
  <option value="1" /> Optie 1
  <option value="2" /> Optie 2
 </select><br />
 Selectie 2:
 <select name="selectie2">
  <option value="1" /> Optie 1
  <option value="2" /> Optie 2
 </select><br />
 <input type="submit" value="Verzend" /> 
</form>

verwerk.php
PHP:
echo "Dit is de waarde uit de eerste drop-down: $_POST['selectie1']. <br />
      Dit is de waarde uit de tweede drop-down: $_POST['selectie2']. <br />";

Deze code:
HTML:
<meta http-equiv="refresh" content="5;url=http://localhost/reagentia/rea_mut.php">
zorgt er alleen voor dat men wordt doorgestuurd naar de pagina na 5 seconden.

Het is trouwens makkelijker alleen een bestandsnaam aan te roepen want als je die pagina online zou zetten dan werkt de meta tag niet omdat de browser dan naar het bestand http://localhost/reagentia/rea_mut.php gaat zoeken. Aangezien localhost naar de computer van de gebruiker wijst wordt er dus een error weergegeven dat de pagina niet bestaat.

Als je hem wilt gaan gebruiken doe het dan zo:
HTML:
<meta http-equiv="refresh" content="5;url=rea_mut.php">
 
Hoi,

ik heb het net geprobeerd, en dat werkt wel, maar dan gaat hij over de controles heen, en de nieuwe waarde na controles.
ik zal het php er even bij doen.
is waarschijnlijk duidelijker.

<?php
// sessies gebruiken
session_start();
?>

<html>
<title>
Reagens selectie
</title>
<link rel=stylesheet href="style.css">
<body>
<?php
include(dirname(__FILE__)."/language.php");
include(dirname(__FILE__)."/lib.php");

error_reporting(E_ALL);
$conn = mysql_connect($dbServer, $dbUsername, $dbPassword) or die(mysql_error());
mysql_select_db($dbDatabase, $conn) or die(mysql_error());

// array vullen met reagenzen
$sql = 'SELECT reagens FROM reagens ORDER BY reagens ASC';
$result = mysql_query($sql) or die(mysql_errno() . ": " . mysql_error());
$reagens = array();
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
$reagens[$i] = $row["reagens"];
$i++;
}

// array vullen met hoeveelheden
$landen = array(
"1" => "100",
"2" => "150",
"3" => "200",
"4" => "250",
"5" => "300",
"6" => "350",
"7" => "400",
"8" => "450",
"9" => "500",
"10" => "550",
"11" => "600",
"12" => "650",
"13" => "700",
"14" => "750",
"15" => "800",
"16" => "850",
"17" => "900",
"18" => "950",
"19" => "1000",
);

// definieren variabelen
$melding = "";
$rea = "";
$land = "";
//session_register("rea"); // registreer de variabele in session
//session_register("land"); // registreer de variabele in session

// Formulier lezen en controleren:
if (isset($_POST['submit'])) {

$melding = ""; // String voor (fout)meldingen

// Er moet een reagens geselecteerd worden:
if (isset($_POST["rn"])) {
if ($reagens == 0 ) {
$melding .= "Er moet een reagens geselecteerd worden. ";
}else {
$rea = $reagens[$_POST["rn"]];
$_SESSION['rea'] = $reagens[$_POST["rn"]];
}
}

// Er moet een hoeveelheid geselecteerd worden:
if (isset($_POST["lc"])) {
if ($_POST["lc"] == 0 ) {
$melding .= "Er moet een hoeveelheid geselecteerd worden. ";
}else {
$land = $landen[$_POST["lc"]];
session_register("land");
//$_SESSION['land'] = $reagens[$_POST["lc"]];
}
}

// Wanneer er geen foutmeldingen zijn:
echo $rea;
echo $land;

if ($melding == "") {
}

}else{
?>
<h1>Nieuwe account</h1>
<p><?php echo $melding; ?></p>
<form action="rea_sel.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="400">
<tr>
</tr>
<tr>
<td>
<fieldset>
<legend>Selectie gegevens</legend>
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td><label for="rn"><span style="text-decoration: underline">R</span>eagens:</label></td>
<td><select accesskey="r" id="rn" name="rn">
<option value="">(Reagens)</option>

<?php
foreach ($reagens as $reakey => $reagensnaam) {
echo "<option ";
if ($reakey == $rea) {
echo "selected ";
}
echo "value=\"$reakey\">$reagensnaam</option>\n";
}
?>
</select></td>
</tr>
<tr>
<td><label for="lc"><span style="text-decoration: underline">H</span>oeveelheid:</label></td>
<td><select accesskey="l" id="lc" name="lc">
<option value="">(Gewenste hoeveelheid)</option>

<?php
foreach ($landen as $landcode => $landnaam) {
echo "<option ";
if ($landcode == $land) {
echo "selected ";
}
echo "value=\"$landcode\">$landnaam</option>\n";
}
?>
</select></td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td align="right"><br>
<input name="ip" type="hidden" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>">
<input class="knop" name="submit" type="submit" value="OK"> &nbsp;
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
//include(dirname(__FILE__)."/header.php");
// echo $x->HTML; appgini
//include(dirname(__FILE__)."/footer.php");

?>
 
Hoe heet het bovenstaande script? rea_sel.php? Zo niet moet je het in het form wijzigen...
 
ja het 1ste script heet rea_sel.php, en die moet dus naar rea_mut.php.

je selecteerd een stof, en als 2e een hoeveelheid, en deze moeten dan dus automatisch, na controles door naar rea_mut.php

ben
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan