hiddenfield met select

Pagina: 1
Acties:

  • appelsientje
  • Registratie: Juli 2001
  • Laatst online: 11:24

appelsientje

Het beste onder de zon

Topicstarter
Hola!

Ik heb een klein probleem ik heb de volgende code
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<form action="<? echo ($_SERVER["PHP_SELF"]); ?>" method="post" enctype="multipart/form-data" name="category">
<select name="SpecID">
<? while($myRow = mysql_fetch_assoc($result)){?>
    <option value="<? echo $myRow['PKType']; ?>"><? echo $myRow['Omschrijving']; ?></option>

<? }?>

</select>
<input type="hidden" name="actie" value="Select">
<input type="hidden" name="SpecName" value="<? echo $myRow['Omschrijving']; ?>">
<input type="submit" value="Selecteer">
</form>


Nu is het zo dat $myRow['PKType'] netjes wordt gestuurd..... Maar ik wil ook dat $myRow['Omschrijving'] mee gestuurd wordt... nu heb ik dat in een hiddenfield gestopt
Maar goed dat wordt natuurlijk niet meegestuurd omdat op het moment dat het field wordt aangemaakt er nog niet is geselecteerd.

Iemand een idee hoe ik dat alsnog kan aanpassen??

Weet trouwens niet of het hier hoort...
ik zie dat ik de tags vergeten ben 8)7

[ Voor 22% gewijzigd door appelsientje op 04-03-2005 10:58 ]

LR | 4WD | Deep blue | 19" velgen | Trekhaak


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 04-05 09:32
Dit gaat natuurlijk niet met PHP. Aangezien de eindgebruiker de selectie maakt zul je die waarde clientside moeten setten:

Met een onchange op de select:
PHP:
1
2
3
<select name="SpecID" onchange="document.getElementById('SpecName').value=this.options[this.selectedIndex].value;">
//.........//
<input type="hidden" name="SpecName" id="SpecName" value="">


Je moet dan de SpecName vanuit php gewoon leeg laten.
Let er ook op dat je die id="SpecName" niet vergeet!

  • rb338
  • Registratie: Januari 2001
  • Laatst online: 04-03 19:38
Ik weet het antwoord op je vraag niet, maar heb wel een tipje voor je:
ipv <? echo $blaat; ?> kan je ook gebruiken:
<?=$blaat;?>

  • appelsientje
  • Registratie: Juli 2001
  • Laatst online: 11:24

appelsientje

Het beste onder de zon

Topicstarter
rb338 schreef op vrijdag 04 maart 2005 @ 11:14:
Ik weet het antwoord op je vraag niet, maar heb wel een tipje voor je:
ipv <? echo $blaat; ?> kan je ook gebruiken:
<?=$blaat;?>
Cewl dat wist ik niet :P thnx

LR | 4WD | Deep blue | 19" velgen | Trekhaak


  • appelsientje
  • Registratie: Juli 2001
  • Laatst online: 11:24

appelsientje

Het beste onder de zon

Topicstarter
beetle71 schreef op vrijdag 04 maart 2005 @ 11:14:
Dit gaat natuurlijk niet met PHP. Aangezien de eindgebruiker de selectie maakt zul je die waarde clientside moeten setten:

Met een onchange op de select:
PHP:
1
2
3
<select name="SpecID" onchange="document.getElementById('SpecName').value=this.options[this.selectedIndex].value;">
//.........//
<input type="hidden" name="SpecName" id="SpecName" value="">


Je moet dan de SpecName vanuit php gewoon leeg laten.
Let er ook op dat je die id="SpecName" niet vergeet!
Ik zal hem eens gaan testen bedankt alvast

LR | 4WD | Deep blue | 19" velgen | Trekhaak


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:19

RM-rf

1 2 3 4 5 7 6 8 9

Ik zou je serieus willen afraden om eerst serverside een optionlijst met '$myRow['Omschrijving']' en '$myRow['PKType']' te laten genereren, welke waardes kennelijk gekoppeld zijn ...

en deze daarna allebeid te laten submitten door de gebruiker...
dat is namelijk een mogelijkheid openlaten om 'corrupte' data in te voeren, en zoiets kan later uitgenbuit worden om mogelijke exploits te vinden en misbruiken, en om corrupte data in te voeren, beiden zijn desastreus en wil je juist serverside afkappen, door data enkel op basis van SpecID aan te spreken ...

ofwel je kunt de verschillende omschrijvingen tijdelijk in een session opslaan, in een named array ... ofwel je checked op de tweede pagina weer de oorspronkelijke data uit je database.
zorg dat je de gebruiker maar 1 waarde laat submitten, de ID, om te referen aan bepaalde data, en bij het verder verwerken gebruik je enkel en alleen de ID...

Bij clienstside zaken moet je er rekening mee houden geen essentiele data via de client te laten gaan: in dit geval zowel de omschrijving alswel specID door te geven en deze later te verwerken.
clientisde is per definitie 'onveilig', misschien niet enkel en alleen door bewust misbruik, maar bij mogelijke javascript-errors of uitgeschakeld javascript kan dat ook flink misgaan, als de onchange niet meer uitgevoerd word..

[ Voor 18% gewijzigd door RM-rf op 04-03-2005 12:08 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • appelsientje
  • Registratie: Juli 2001
  • Laatst online: 11:24

appelsientje

Het beste onder de zon

Topicstarter
RM-rf schreef op vrijdag 04 maart 2005 @ 12:04:
Ik zou je serieus willen afraden om eerst serverside een optionlijst met '$myRow['Omschrijving']' en '$myRow['PKType']' te laten genereren, welke waardes kennelijk gekoppeld zijn ...

en deze daarna allebeid te laten submitten door de gebruiker...
dat is namelijk een mogelijkheid openlaten om 'corrupte' data in te voeren, en zoiets kan later uitgenbuit worden om mogelijke exploits te vinden en misbruiken, en om corrupte data in te voeren, beiden zijn desastreus en wil je juist serverside afkappen, door data enkel op basis van SpecID aan te spreken ...

ofwel je kunt de verschillende omschrijvingen tijdelijk in een session opslaan, in een named array ... ofwel je checked op de tweede pagina weer de oorspronkelijke data uit je database.
zorg dat je de gebruiker maar 1 waarde laat submitten, de ID, om te referen aan bepaalde data, en bij het verder verwerken gebruik je enkel en alleen de ID...

Bij clienstside zaken moet je er rekening mee houden geen essentiele data via de client te laten gaan: in dit geval zowel de omschrijving alswel specID door te geven en deze later te verwerken.
clientisde is per definitie 'onveilig', misschien niet enkel en alleen door bewust misbruik, maar bij mogelijke javascript-errors of uitgeschakeld javascript kan dat ook flink misgaan, als de onchange niet meer uitgevoerd word..
oke.. daar had ik nog niet aangedacht zeg maar.
Ik gebruik dat trouwens ook bij het invullen van een formulier enzo... raad je het daar ook af ?

LR | 4WD | Deep blue | 19" velgen | Trekhaak

Pagina: 1