Php variabelen worden niet getoond

Ik ben begonnen met het aanleren van php en ben nu bezig met een simpel script ik upload alles naar een server omdat het nog niet gelukt is om php lokaal te testen Dit zal misschien wel een domme vraag zijn (iets dat ik over het hoofd zie) maar geraak er niet uit

de variabelen die in de html file worden ingegeven worden niet weergegeven in de php file hoewel ik alles letterlijk heb overgetypt van een pdf handboek ivm php

Dit s de html file

[code:1:aa3994e14d]
<form action="processorder.php" method="post">
<table border="0">
<tr bgcolor="#CCCCCC">
<td width="150">Items</td>
<td width="15">Quabtutt</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3"></td>
</tr>
<tr><td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order"></td>
</tr>
</table>
</form>
[/code:1:aa3994e14d]

Dit is het php script dat in processorder.php staat

[code:1:aa3994e14d]<?
echo "<p> Order processed at" ;
echo date("H:i , jS F");
echo "<br>";
echo "<p>Your order is as follows:";
echo "<br>";
echo $tireqty. " tires<br>";
echo $oilqty. " bottles of oil<br>";
echo $sparkqty. " spark plugs<br>";
?>
[/code:1:aa3994e14d]

hier te vinden

alvast bedankt

Je register_globals zullen af staan.

Zet dit eens bovenaan je document ( processorder.php )

$tireqty = $_GET[tireqty];
$oilqty = $_GET[oilqty];
$spark = $_GET[sparkqty];

Is het dan niet

$tireqty = $_GET[‘tireqty’];
$oilqty = $_GET[‘oilqty’];
$spark = $_GET[‘sparkqty’];

Of snap ik het dan weer verkeerd? :lol:

Hm nee werkt ook niet

ik heb het alltwee geprobeert (met bovenaan in het document bedoel je toch in de <? tag boven de eerste echo?) en het heeft nog geen resultaat

of doe ik iets anders verkeerd?

[quote:2c7df99486="iSpons"]Ik ben begonnen met het aanleren van php en ben nu bezig met een simpel script ik upload alles naar een server omdat het nog niet gelukt is om php lokaal te testen Dit zal misschien wel een domme vraag zijn (iets dat ik over het hoofd zie) maar geraak er niet uit

de variabelen die in de html file worden ingegeven worden niet weergegeven in de php file hoewel ik alles letterlijk heb overgetypt van een pdf handboek ivm php

Dit s de html file

[code:1:2c7df99486]
<form action="processorder.php" method="post">
<table border="0">
<tr bgcolor="#CCCCCC">
<td width="150">Items</td>
<td width="15">Quabtutt</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3"></td>
</tr>
<tr><td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order"></td>
</tr>
</table>
</form>
[/code:1:2c7df99486]

Dit is het php script dat in processorder.php staat

[code:1:2c7df99486]<?
echo "<p> Order processed at" ;
echo date("H:i , jS F");
echo "<br>";
echo "<p>Your order is as follows:";
echo "<br>";
echo $tireqty. " tires<br>";
echo $oilqty. " bottles of oil<br>";
echo $sparkqty. " spark plugs<br>";
?>
[/code:1:2c7df99486]

hier te vinden

alvast bedankt[/quote:2c7df99486]

Voorheen kon je als je een formulier de velden uitlezen door simpelweg een $ te plaatsen gevolgd door je formulier veld naam, zoals jij dat ook doet. Dit is echter erg onveilig en is daarom aangepast.

Als je nu een formulier met de method POST verstuurd, moet je ook $_POST gebruiken om het weer terug te lezen uit het geheugen. Als je een formulier verstuurd met method GET dan gebruik je $_GET om de gegevens uit te lezen.

Het eerdere voorbeeld van $_GET werkt dus voor jou niet, omdat je je formulier POST.

In jou geval gebruik je POST en zorgt de onderstaande code ervoor dat het werkt:

[code:1:2c7df99486]<?
echo "<p> Order processed at" ;
echo date("H:i , jS F");
echo "<br>";
echo "<p>Your order is as follows:";
echo "<br>";
echo $_POST["tireqty"]. " tires<br>";
echo $_POST["oilqty"]. " bottles of oil<br>";
echo $_POST["sparkqty"]. " spark plugs<br>";
?> [/code:1:2c7df99486]

Je mag natuurlijk ook eerst variabelen vullen met de $_POST. Dan krijg je:

[code:1:2c7df99486]<?

$tireqty = $_POST["tireqty"];
$oilqty = $_POST["oilqty"];
$sparkqty = $_POST["sparkqty"];

echo "<p> Order processed at" ;
echo date("H:i , jS F");
echo "<br>";
echo "<p>Your order is as follows:";
echo "<br>";
echo $tireqty . " tires<br>";
echo $oilqty . " bottles of oil<br>";
echo $oilqty . " spark plugs<br>";
?>
[/code:1:2c7df99486]

regsiter_globals staat standaard uit vanaf PHP4 als ik me niet vergis. Er zullen niet veel hosts zijn die het wel aanzetten (security) dus je zal de methode zoals hierboven (erg duidelijk) beschreven is steeds moeten gebruiken. Ook voor bv het opvragen van sessie variabelen gaat het op dezelfde manier $_SESSION['naamvariabele']