Avatar billede iostream Nybegynder
29. juli 2006 - 01:15 Der er 31 kommentarer

Koble 2 forms sammen ?

Hej eksperter..

Jeg har dette simple problem.

Jeg har 2 forms, som jeg gerne vil have koblet sammen.
Først skal man udfylde 1 form, så en anden og når den 2. form er udfyldt skal der sendes en mail med alle de indtastede informationer til en mail...

Hvordan klarer jeg det ?
Avatar billede iostream Nybegynder
29. juli 2006 - 01:32 #1
Mit problem er sådan set ikke at sende mailen med informationerne fra form nr.2 men informationerne fra form 1 kan jeg ikke få ud..
Form1 sætter jeg action til form2 og så POST..
Form2 sætter jeg action til Form2 og så POST og så i FOrm2 ligger mailfunktionen så...men alle værdierne fra FOrm 1 kommer ikke med ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:35 #2
Du kan gemme variablerne fra form1 i typen hidden, de er med på næste side men brugeren kan ikke se dem ???
Avatar billede iostream Nybegynder
29. juli 2006 - 01:37 #3
Det skal jeg så lige have en lidt mere detaljeret forklaring på hvordan man gør det..
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:40 #4
<input type="hidden" name="skjult" value="her står noget hemmeligt">

Giver følgende resultat:

(kan ikke ses)

Kommentarer:

Skjulte felter kan ikke ses af brugerne (med mindre de går ind og læser dine koder). Brugeren har heller ikke mulighed for at ændre de informationer, du angiver i skjulte felter.
Avatar billede iostream Nybegynder
29. juli 2006 - 01:41 #5
Okay..så value i de skjulte hidden felter skal være value="$_POST[pris]" osv..?
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:44 #6
Ja du kan hente variablerne via php, og så indsætte dem i hidden, og når du så poster fra form to bliver de også overført.
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:46 #7
Når du nu bruger php, syntes jeg du skulle bruge session objektet du kan finde en guide her http://www.razor.dk/php/guider/sessions/
Avatar billede kimg Nybegynder
29. juli 2006 - 01:48 #8
Brug sessions, det er perfekt til dit foremål ;-)

Kim
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:49 #9
Avatar billede kimg Nybegynder
29. juli 2006 - 01:49 #10
lidt for sent ;-)
Avatar billede iostream Nybegynder
29. juli 2006 - 01:49 #11
Jeg kan bare ikke helt få det til at virke..

Har dette hidden felt:
<input name="hiddenField" type="hidden" value="$_POST['plan_name']" />

Og denne kode i form1:
<input type="text" name="plan_name" size=15 maxlength=10>

og så bruger jeg denne variabel i send mail:
$_POST[plan_name]
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:53 #12
Jeg beklager at jeg fik lokket dig i retning af at bruge hidden... Jeg tog slet ikke notice af du havde posted dit spørgsmål under php, det fandt jeg først ud af efter (29/07-2006 01:41:52) beklager det er lidt sent... ;-)
Avatar billede iostream Nybegynder
29. juli 2006 - 01:54 #13
Så dvs at hidden kan ikke bruges ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:57 #14
Det kan lade sig gøre men, sessions er lige det du skal bruge. Session variabler følger brugeren og det er lige det du har behov for. hidden er den grimme måde, når man ikke har en server der har session objekter.. Endnu engang sorry, håber ikke du kom for godt igang
Avatar billede preben.m Nybegynder
29. juli 2006 - 01:57 #15
og svaret er Nej !!!
Avatar billede iostream Nybegynder
29. juli 2006 - 02:02 #16
Okay...er der så ikke lige hurtigt en der kan give lidt kode til det ?

Altså koden til hvordan værdien af "<input type="text" name="plan_name" size=15 maxlength=10>" kommer over i en session og kommer over i mail funktionen ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 02:12 #17
Hvordan mailer du formen ???
Avatar billede iostream Nybegynder
29. juli 2006 - 02:14 #18
I form2 har jeg action="form2.php"

og så bruger jeg ellers bare:
mail("mail@mail.dk", "$_POST[fld_1]", "Tekst: $_POST[id]", "From: $_POST[fld_1]");
Avatar billede iostream Nybegynder
29. juli 2006 - 02:23 #19
Jeg kan også sende begge filer altså form1.php og form2.php og så kan du/i se på det ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 02:23 #20
kopier dinne post variabler $_SESSION["navn"] = $_POST["navn"] ved form 2 så har du variablerne fra form1 i som session variabler, din form2 gør det samme, som så går til den sidste php side der udføre mail();
side1.php(Form1) --> Side2.php -->Post.php(her bruger du mail() metoden. Du bør også sikre dig at virablerne ikke er tomme (at brugeren har været gennem form 1 og form 2, hvis brugeren ikke har været gennem en af dem bør han sendes tilbage for at gøre sit input.
Der er flere måder at løse opgaven på du behøver ikke at have flere php sider, men kan lave det hele på en side, men den anden løsning syntes mere logisk som udgangspunkt.
Avatar billede iostream Nybegynder
29. juli 2006 - 02:28 #21
Okay. Det lød lidt inviklet..er bare totalt begynder på det her område.

Ville det hjælpe hvis jeg sendte de 2 filer ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 02:37 #22
prøv eksemplet på http://www.razor.dk/php/guider/sessions/, hvis det ikke hjælper så kigger vi på det...
Avatar billede iostream Nybegynder
29. juli 2006 - 02:45 #23
Kan simpelthen ikke få det til at virke..
Avatar billede preben.m Nybegynder
29. juli 2006 - 02:48 #24
Bare til orintering jeg går i seng nu, men du kan evt. gøre din filer tilgængelige for andre så kan de hjælpe dig... Ellers er jeg her også i morgen..
Avatar billede iostream Nybegynder
29. juli 2006 - 02:49 #25
Avatar billede iostream Nybegynder
29. juli 2006 - 02:49 #26
Okay..Jeg ville være meget taknemlig hvis du ville hjælpe i morgen.
Avatar billede wetdog Nybegynder
29. juli 2006 - 09:15 #27
Når der bruges sessions skal dette initieres ved at sætte dette i toppen af alle dine filer:

<? session_start(); ?>

i din form2 skal du starte med at lave sessionsvariabler til de variabler fra form1. f.eks.

$_SESSION['plan_name'] = $_POST['plan_name'];

nu har du en global variabel $_SESSION['plan_name'] som du kan bruge på alle dine sider.
Avatar billede iostream Nybegynder
29. juli 2006 - 14:02 #28
Det har jeg prøvet nu men jeg får en fejl:
"Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /var/www/html/exp/bestil2.php on line 30"

Line 30 er den linje hvor mail() begynder

Her er den kode jeg bruger:
http://www.sourceload.com/exp/ - form1
http://www.sourceload.com/exp/index2.php - form2
Avatar billede preben.m Nybegynder
29. juli 2006 - 15:28 #29
Prøv at skifte linie 30 ud med

mail("pbf.soft@gmail.com", $_POST[fld_1], "Bestilling: \n Navn:"+ $_SESSION['plan_name'] +"\n Bestilling af:\n CVR: "+$_POST[fld_1]+"\n Firmatype: "+$_POST[fld_2]+"\n Firmanavn:"+ $_POST[fld_3]+"\n Adresse: "+$_POST[fld_4]+"\n Postnr.: "+$_POST[fld_5]+"\n By:"+ $_POST[fld_6]+"\n TLF.: "+$_POST[fld_7]+"\n Faxnr.: "+$_POST[fld_8]+"\n", "From: "+$_POST[fld_1] );
Avatar billede iostream Nybegynder
29. juli 2006 - 17:03 #30
Nej det virker heller ikke ?
Avatar billede preben.m Nybegynder
29. juli 2006 - 23:59 #31
Jeg kan godt få mail() til at virke. hvad fejlkode får du nu ???
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