[php/js] variabelen doorgeven aan meerdere forms

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Aan een form1 heb ik een action hangen welke de variabelen in een database zet. Dit heb ik ook met een ander form2 gedaan.

Hoe krijg ik variabelen van form1 doorgegeven aan PHP aan de action van form2? Ik wil dus eigenlijk variabelen van andere forms gebruiken bij het submitten van een form...

Ik hoop dat ik duidelijk genoeg ben :)

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
hidden input fields of in je sessie stoppen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe doe ik dit met Javascript?

Acties:
  • 0 Henk 'm!

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17:01

Jaspertje

Max & Milo.. lief

bij asp! let op asp, als je van form 1 via een submit naar form 2 gaat, dan kan je request.Form("hierdenaamvandefield") gebruiken om de waarde uit te lezen... Misschien is er ook zoiets in PHP

Maar nu lees ik nog een keer en denk ik dat je hier helemaal niks aan hebt :P

Heb je al eerder javascript gebruikt, wat heb je al geprobeerd enz..

[ Voor 31% gewijzigd door Jaspertje op 16-05-2003 15:27 ]


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Verwijderd schreef op 16 mei 2003 @ 15:23:
Hoe doe ik dit met Javascript?
Waarom wil je persee javascript gebruiken?

bovendien moet je dan bij de buren in /13 zijn

[ Voor 13% gewijzigd door marty op 16-05-2003 15:31 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Javascript? Omdat de waarde die ik in een listbox heb staan in form1 wil submitten aan form2, welke daarna gegevens van form1 en form2 (en meer) in een database laad.

Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
<form name=form1 onsubmit="this.elements['hiddenfield'].value = document.forms['form2'].elements['somefield'].value;">
<input type=hidden name=hiddenfield>
...andere inputs
</form>

<form name=form2>
<input type=text name=somefield>
...andere inputs
</form>


Zo dus..

Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
als je toch al PHP gebruikt kan je toch gewoon een nieuwe array aanmaken in de javascript van je 2e schermpje.


javascript:
code:
1
eenarray = array('waarde1' = 'bla', 'waarde2' = 'bla2')

de bijbehorende code kan zijn:
PHP:
1
2
3
4
5
echo "eenarray = array (";
foreach ($_POST as $key=>$val) {
  echo "'".$key."' = '".$val."'";
}
echo ");";

(ik weet niet zeker of die manier van javascript arrays klopt)
of gewoon:

html:
code:
1
2
<input type='hidden' name='waarde1' value='bla'>
<input type='hidden' name='waarde2' value='bla2'>


zoiets? :)

[ Voor 24% gewijzigd door BRAINLESS01 op 16-05-2003 15:42 ]


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:25

TeeDee

CQB 241

Lijkt me dat je heel omslachtig bezig bent als je het met javascript wil doen.

In PHP kan je dus gewoon de waardes van de ene form uitlezen naar een ander. Die waardes kan je daarna heel simpel in een DB knallen.

Ben geen php-er, maar ik weet zeker dat dit in PHP ook kan. En je kan inderdaad gewoon je listbox values uitlezen om op de andere form of elementen te triggeren of gewoon wegschrijven.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmmm, dat wilde ik in eerst instantie ook doen. Van een collega hoorde ik dat variabelen van andere forms niet verwerkbaar zijn met PHP, maar wel met behulp van Javascript (zie bosmeeuw).

Het is me nog niet helemaal gelukt... Is er een PHP-er die een voorbeeld kan geven hoe het ook kan?

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:25

TeeDee

CQB 241

eerste hit op google:
http://www.webmasterworld.com/forum13/1711.htm

[ Voor 41% gewijzigd door TeeDee op 16-05-2003 16:05 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
dat ligt eraan hoe je het wil hebben :)

als je perse eerst het eerste form moet hebben, dan zonder iets op te slaan het tweede form wilt weergeven dan moet het anders dan als je alles gaandeweg opslaat.

bosmeeuw zei al dat je gewoon een extra formpje kon neerzetten met alleen maar hidden inputs die de waarden uit je eerste form opslaan terwijl de gebruiker prettig bezig gaat met het tweede form.

Eventueel zou je ook sessies kunnen gebruiken, dat maakt het lastiger maar naar mijn idee wel veiliger.

Het is echt een heel simpel dingetje om te maken (tenzij ik het verkeerd begrijp), dus ik denk dat je er met zo'n extra form wel uit komt :)

Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
denk er wel aan dat in dat voorbeeld register_globals aan staat, en dat het bij jou waarschijnlijk uit staat. (http://www.php.net/register_globals).

als je <form method=post> gebruikt moet je de namen van je velden zoeken in php variabele $_POST, als je <form method=get> gebruikt moet je de velden zoeken in php variabele $_GET. ($_POST["name"] of $_GET["name"] dus).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kijk eens aan!!! Daar hebben we wat aan :)

Het werkt hoor! Bedankt mensen!!!

Acties:
  • 0 Henk 'm!

Verwijderd

Als je twee forms *na* elkaar hebt met een submit ertussen dan hoef je natuurlijk geen Javascript te gebruiken, dan doe je gewoon een foreach($_POST as $key=>$val) echo "<input type=hidden name=\"$key\" value=\"$val\">\n;"; binnen je tweede form.

Mijn voorbeeld was enkel bedoeld voor als je 2 verschillende forms hebt op dezelfde page die alletwee tergelijk gepost zouden moeten worden (alhoewel je dan meestal gewoon met 1 form kan werken tenzij je met frames zit..)
Pagina: 1