login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP variabele doorgeven lukt niet

Offline rochtus - 10/02/2008 21:08 (laatste wijziging 10/02/2008 21:20)
Avatar van rochtusNieuw lid Ik heb in een eerste order.phtml pagina een reeks invoerplekken en van daaruit wordt een totaal bedrag berekend dat in $totalPrice steekt...

Dan is er een verzend knop en er wordt een email automatisch gestuurd nr de koper... En wordt dan nr een volgende pagina gegaan nl. besteld.phtml ...

Nu zou op die volgende pagina die variabele gebruikt moeten worden, dus wat ik heb gedaan is:

op order.phtml plaatste ik deze code:
<input type="hidden" name="totalPrice" value=" (wat het toaal is dus) ">

en op besteld.phtml de volgende code:
  1. <?php
  2. $amount = $_GET['totalPrice'];
  3. echo 'het toaal is $amount' ;
  4. ?>

Nu krijg ik een php error dat het niet in orde is als volgt:
[error=php]
Notice: Undefined index: totalPrice in /customers/bencora.com/bencora.com/httpd.www/view/besteld.phtml on line 2[/error]

het totaal is $amount



heeft iemand enig idee hoe ik
1. $totalPrice kan overdragen
2. die varaiabel zijn naam kan veranderen in $amount (omdat paypal $amount gebruikt...)


enig idee? 

Citaat:
Code tags aub

14 antwoorden

Gesponsorde links
Offline marten - 10/02/2008 21:21
Avatar van marten Beheerder Het is de bedoeling dat je je php scheidt van de tekst. Dit kan je als volgt doen

  1. echo 'Amount is ' . $amount;


Je kan wel de manier van jouw gebruiken als je dubbele quotes gebruikt.
Offline rochtus - 10/02/2008 21:26 (laatste wijziging 10/02/2008 21:32)
Avatar van rochtus Nieuw lid maar het probleem volgens de eerror ligt in regel 2 ??

De variable wordt niet doorgegeven, nog steeds niet?
IEets in de code is fout..
Offline marten - 10/02/2008 21:29
Avatar van marten Beheerder Ja ook....
die bestaat dan niet. Klopt het dat er in je url totalPrice staat?
Kijk ook even naar gebruik van hoofdletters.
Offline rochtus - 10/02/2008 21:33
Avatar van rochtus Nieuw lid Nope niet in de url!
http://www.bencora.com/?action=besteld
is de pagina waar die eerror code opstaat..?
Offline marten - 10/02/2008 21:38
Avatar van marten Beheerder Bij een $_GET variabele moet het in de url staan. Bij een $_POST variabele komt het bijvoorbeeld uit een formulier als je de form method op post hebt gezet. Hij staat niet in de url dus daarom gaat het fout.
Offline rochtus - 10/02/2008 21:42 (laatste wijziging 10/02/2008 21:47)
Avatar van rochtus Nieuw lid Ik heb er van gemaakt:

<?php
$amount = $_POST['totalPrice'];


echo "het totaal is $amount EUR" ;

?>

maar nog steeds werkt het niet nochtans staat op de vorige pagina:
<input type="hidden" name="totalPrice" value=" (wat het toaal is dus) ">
Offline marten - 10/02/2008 21:53
Avatar van marten Beheerder zet je script eens tussen code tags aub! Je bent in je eerste post er al gewezen. Plaats verder eens je code van je formulier op www.plaatscode.be
Offline GJ2086 - 10/02/2008 21:55
Avatar van GJ2086 Nieuw lid
Citaat:
Bij een $_GET variabele moet het in de url staan. Bij een $_POST variabele komt het bijvoorbeeld uit een formulier als je de form method op post hebt gezet. Hij staat niet in de url dus daarom gaat het fout.


in de pagina order.phtml? in de <form> tag de method veranderen van post naar get.
Offline rochtus - 10/02/2008 22:23 (laatste wijziging 10/02/2008 22:24)
Avatar van rochtus Nieuw lid Sorry voor de code tags...
in order.phtml staat int begin van het formulier:
Plaatscode: 5538

dus op order.phtml stond de methode al op post ... Dus dat was al juist

(ik neem aan dat jebedoelde omdat op post te zetten...?)
Offline Maffiow - 10/02/2008 22:38 (laatste wijziging 10/02/2008 22:39)
Avatar van Maffiow PHP interesse Je kan dan beter op de pagina order.phtml een redirect doen
naar besteld.phtml?totaal=hier_het_totaal

waar ?totaal=hier_het_totaal dan de waarde aanneemt van $totalPrice

vervolgens kan je op de pagina besteld.phtml het totaal oproepen
door de $_GET variabele totaal in te lezen

$_GET["totaal"] heeft dan de totaal waarde meegekregen
Offline rochtus - 10/02/2008 22:44
Avatar van rochtus Nieuw lid maar dan kan het totale bedrag in de link gewijzigd worden wat veel te gevaarlijk is niet??
Offline Maffiow - 10/02/2008 22:59
Avatar van Maffiow PHP interesse een andere mogelijkheid zijn ook sessies...
-> http://www.site...ies_in_PHP

in de "order" pagina een sessie aanmaken die de waarde van het totaal bevat en deze terug oproepen op de "besteld" pagina

of cookies
-> http://www.site...ies_in_PHP
Offline rochtus - 10/02/2008 23:35
Avatar van rochtus Nieuw lid er moet toch een manier zijn dat het mogelijk maakt via de php post methode?? Ik werk niet graag met coockies en sessies...
volgens mij klopt er gwn iets niet met het scriptje of iets dergeliks? 
Offline Ibrahim - 12/02/2008 11:17
Avatar van Ibrahim PHP expert Het is niet aangeraden om een hidden field aan te maken om dingen in te bewaren, vooral niet een totale prijs. Er zijn addons voor browsers die die waarden makkelijk kunnen wijzigen.

Het beste is om de totaal prijs te berekenen op het moment dat u de e-mail gaat verzenden. Dan is het dus nodig dat u sessies gebruikt.

U slaat de productId's op in een sessie. Bij het verzenden berekent u de totale prijs via de productId's
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s