Nou ik ben bezig met PHP en ik dacht dit doe ik wel even maar helaas wat mij eenvoudig leek is voor mij vrij lastig.

Ik heb overal gezocht en in mijn boeken gekeken maar ik kan het niet vinden.

Wat ik ga maken is een bestel script, en aangezien ik nog niet veel kan met PHP leek mij dit een leuk en geschikt project om dit te maken.

Ok wat wil ik maken.
100 X ____ = WAARDE

Bij dit gedeelte: ____ moet de gebruiker een aantal kunnen invullen.
En bij WAARDE: Hier moet de uitkomst komen te staan van die x som.

Ik heb al een aantal dingen geprobeerd maar ik krijg het niet voorelkaar om dit zo te krijgen dat, de gebruiker iets kan invullen en dat er dan een uitkomst komt.

Dus ik was aan het proberen om dit via een SESSIE dit weer op te slaan omdat de uitkomst pas 2 pagina`s later getoond mag worden.

Wie kan mij hiermee op weg helpen?
Alvast enorm bedankt!
Oh ja, dat is zeker mogelijk. Alleen moet je het aantal dan wel even in een sessievariabele opslaan. Dus:
<?php
$_SESSION['aantal'] = $_POST['aantal'];
?>

En in je formulier kun je het volgende opnemen:
<?php
if(isset($_SESSION['aantal']))
{
$value = $_SESSION['aantal'];
}
else
{
$value = '';
}

echo '<input type="text" name="aantal" value="'.$value.'" />';
?>

ps. Vergeet natuurlijk niet session_start() dan ook op te nemen aan het begin van de pagina waarin je het formulier hebt staan.
Ok bedankt, ik heb alles nog op 1 pagina staan.

Alleen ik krijg een error:
Notice: Undefined index: aantal in C:\....\formulier.php on line 34

REGEL 34
<?php
$_SESSION['aantal'] = $_POST['aantal'];
?>

Moet hier niet bijkomen SESSION_REGISTER of kan ik dat vergeten dat verhaal van register?
Oh wacht, je moet even kijken naar de naam die je gebruikt in je formulier voor het text veld. Had ik daar niet eerst getal gebruikt?

In dat geval moet aantal natuurlijk getal worden.
Nee getal heb ik inmiddels vervangen door aantal.

<input type="text" name="aantal" value="<?php $value ?>" />
Hoe ziet je script er nu uit dan, dan kan ik misschien zien wat er verkeerd gaat.
Gedeelte 1

<?php
error_reporting(E_ALL);
session_start();



if($_SERVER['REQUEST_METHOD'] == 'POST')

// REKEN PROCESS
// Verstuur process
{if(isset($_POST['aantal']))

// Controleren van de ingevoerde gegevens (cijfers alleen toegestaan)
{if(ctype_digit($_POST['aantal']))
{
// Vlak aantal rij 1
$_SESSION['uitkomst'] = 10 * $_POST['aantal'];
echo 'De uitkomst van 10 * '.$_POST['aantal'].' is '.$_SESSION['uitkomst'];

echo '<a href="javascript:javascript:history.go(-1)">Klik hier om naar de vorige pagina te gaan</a>';
exit;
}

// Niks ingevuld dan kom je hier
else {echo 'Je moet wel een getal invullen';}
}
// Geen cijfers ingevuld dan kom je hier
else {echo 'Je hebt niets ingevuld';}
}

?>

Gedeelte 2
<?php
$_SESSION['aantal'] = $_POST['aantal'];
?>

<?php
if(isset($_SESSION['aantal']))
{
$value = $_SESSION['aantal'];
}
else
{
$value = '';
}

?>

Gedeelte 3
<form method="post" action="#">
<table width="600" border="0">
<tr>
<td>&nbsp;</td>
<td><strong>Formaat</strong></td>
<td><strong>Prijs per stuk</strong></td>
<td><strong>Aantal</strong></td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="150">30 x 20 cm</td>
<td width="150">&nbsp;</td>
<td width="150"><input type="text" name="aantal" value="<?php $value ?>" /></td>
</tr>
</table>

<br />
<br />
<input type="submit" value="Ga verder met stap 2" />
</form>
Ja dat klopt ook niet helemaal:
<?php
$_SESSION['aantal'] = $_POST['aantal'];
?>
Hoort natuurlijk wel in gedeelte 1 te staan en wil in het if(ctype_digit($_POST['aantal'])) gedeelte...

ps. Verder zou ik ook eens naar je manier van inspringen en de plaats van je { en } kijken. Het is op deze manier niet erg overzichtelijk welke haakjes bij welke statements horen...
Ja idd, de haakjes heb ik nu wat beter neergezet al zeg ik het zelf :)
Ok ik heb het in gedeelte 1 geplaats maar hij onthoud het niet :(

Zie hier:
http://hoe.visiondesign.nu/formulier.php

Code:
if(ctype_digit($_POST['aantal']))
{
// Opslaan van het aantal
$_SESSION['aantal'] = $_POST['aantal'];

// Vlak aantal rij 1
$_SESSION['uitkomst'] = 10 * $_POST['aantal'];
echo 'De uitkomst van 10 * '.$_POST['aantal'].' is '.$_SESSION['uitkomst'];

echo '<a href="javascript:javascript:history.go(-1)">Klik hier om naar de vorige pagina te gaan</a>';
exit;
}
<?php $value ?> Hier moet je natuurlijk wel van maken <?php echo $value; ?>
Owja dom :S ... idd het werkt nu :) enorm bedankt nu gaan we verder met de rest van het systeem :)

Nogmaals bedankt voor de tijd!

Reageren