Avatar billede HeleneHH Nybegynder
12. januar 2010 - 11:08 Der er 12 kommentarer og
1 løsning

Information fra en side over til en anden

Hej Eksperter

Jeg har lidt problemer med min hjemmeside:
http://smidi.web.surftown.dk/Webshop/BestilVarer.html

Jeg vil gerne have, at jeg kan få information fra BestilVarer.html over til siden faktura1.php. Mit problem er, at jeg gerne først vil forbi siden PersonOpl1.php inden jeg går til faktura1.php, men så kan jeg ikke finde ud af at modtage mine data i faktura1.php.

Jeg kan ikke få det til at virke med <form action="faktura1.php" method="post" name="produkter" id="produkter">
fordi så kommer jeg ikke forbi PersonOpl1.php.

Jeg har prøvet at sætte en 'submit knap ind, som henviser til PersonOpl1 via OnClick'. Knappen virker dog kun hvis jeg sætter den udenfor formen, men så kan jeg ikke få min oplysninger over i faktura1.

Jeg håber I kan forstå mig ;)
Avatar billede enhydralutris Nybegynder
12. januar 2010 - 11:47 #1
Du kan vel bare proppe det hen i Session? :P

$_SESSION['xx']=$_POST['xx']

xx skal jo så bare byttes ud :P

så griber du det i PersonOp1.php og sender det videre til Faktura1.php
Avatar billede claes57 Ekspert
12. januar 2010 - 11:51 #2
du kan gå direkte til PersonOpl1.php, og i dennes start teste på, om du kommer fra bestilvarer.html - hvis ja, så opret en cookie med data fra indkøbet.
Når PersonOpl1.php afsluttes test igen på, om du kom fra bestilvarer.html, og lav en 'videre' knap til faktura1.php

Jeg har en lille demo liggende på http://it-works.dk/shop/ (asp-kode, men med cookie-styring) - du kan låne koden, hvis du vil se den
Avatar billede HeleneHH Nybegynder
12. januar 2010 - 12:08 #3
Tak for jeres hurtige svar :)
Jeg er meget nybegynder til dette, så jeg tror det er nemmest for mig, at bruge enhydralutris svar.

Jeg er dog ikke helt klar på hvordan jeg bruger SESSION.
Gør SESSION at det bliver en global variabel? I hvilket script skal jeg skrive $_SESSION['xx']=$_POST['xx']?
Avatar billede madsens90 Praktikant
12. januar 2010 - 12:11 #4
Er der en form på PersonOpl1.php?

For så kan du lave et hidden input felt, og så bruge infoen igen på næste side.

Så lad og sige du har en form på BestilVarer.html der ser sådan ud:

<form action="PersonOpl1.php" method="post">
<input type="text" name="antal" />
<input type="submit" value="send" />
</form>

Så har du på PersonOpl1.php der ser sådan ud:

<form action="faktura1.php" method="post">
<input type="hidden" name="antal" value="<?PHP echo $_POST['antal']; ?>">
<input type="submit" value="send" />
</form>

Det er dog muligt at se i kildekoden på PersonOpl1.php hvad der står i de gemte felter (type="hidden") i din form.
Avatar billede madsens90 Praktikant
12. januar 2010 - 12:11 #5
Beklager jeg var for langsom. ;)
Avatar billede HeleneHH Nybegynder
12. januar 2010 - 12:25 #6
Hej madsen90

Jeg fik det til at virke med din ide ;)
Kan du også fortælle mig hvordan jeg fx kan gange en pris op med antallet?
Avatar billede madsens90 Praktikant
12. januar 2010 - 13:34 #7
Det kan nemt laves med php.

Hvis du vil sende pris * antal videre fra PersonOpl1.php kan det gøres sådan:

<?PHP
$antal = $_POST['antal'];
$pris = $_POST['pris'];

$sum = $antal * $pris;
?>

<form action="faktura1.php" method="post">
<input type="hidden" name="sum" value="<?PHP echo $sum; ?>">
<input type="submit" value="send" />
</form>

Jeg er i det eksempel gået ud fra at antal og pris kommer fra BestilVarer.php, og at det KUN er tal. Ellers vil den sige fejl!

Spørg endelig hvis der er flere ting. :)
Avatar billede HeleneHH Nybegynder
12. januar 2010 - 14:54 #8
Nu kommer min uvidenhed virkelig frem. Hvordan giver jeg pris en værdi hvis jeg bare vil skrive et tal. Jeg har prøvet med $pris =1000;
Avatar billede madsens90 Praktikant
12. januar 2010 - 15:02 #9
$pris = 1000; burde gerne virke?

Når man skriver $pris = 1000; så gemmer den tallet som et tal.
Men hvis du skriver $pris = "1000"; så gemmer den tallet som tegn/bogstaver. Hvilket vil sige den ikke kan gange, dividerer, bruge minus og plus.

Men jah. Ellers ser det rigtig nok ud.

<?PHP //for at starte PHP

$pris = 1000; //Pris på varen
$antal = 5; //Antal varer som du får via $_POST['antal'];

$sum = $pris * antal; //Ganger talene sammen

echo $sum; //Skriver summen på skærmen

?> //Lukker php

Hvis du sætter dette ind i et PHP dokument skulle der gerne stå

5000

og ikke andet. :)

Håber det hjalp? Spørg endelig løs!
Avatar billede HeleneHH Nybegynder
12. januar 2010 - 15:26 #10
Super, nu virker det. Hvordan giver jeg pointene?
Avatar billede madsens90 Praktikant
12. januar 2010 - 15:39 #11
De har lige ændre det, men tror nok du ud for der hvor jeg angav det var et svar, kan trykke på "accepter svar".

Dvs den kommentar jeg skrev 13:34:55
Avatar billede madsens90 Praktikant
12. januar 2010 - 15:39 #12
Dvs det svar jeg skrev 13:34:55**
Avatar billede madsens90 Praktikant
13. januar 2010 - 14:25 #13
takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester