[PHP] Form menu waarden onthouden *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met het volgende probleem:
Een invul formulier dat uit meerdere pagina's bestaat met text boxen en menu's. Op de laatste pagina laat hij alle velden nog een keer zien met de informatie die eerder ingevoerd is.

Stel je selecteerd in een van de menus waarde "2" van de vijf. De ene keer laat hij op de laatste pagina wel waarde "2" zien en de andere keer zet hij hem gewoon op de default waarde.

Als er een pagina zit tussen het formulier met het menu en de laatste pagina gebruik ik een hidden form value om de waarde te onthouden.

de php code die ik gebruik om het menu item te selecteren is:
<?php if ($HTTP_POST_VARS['menu_geselecteerde_waarde'] == 01) {echo "SELECTED";}

ik hoop dat iemand mij wat advies kan geven
alvast bedankt.

Acties:
  • 0 Henk 'm!

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 02:03

JaQ

al eens naar $_SESSION gekeken? Ik gebruik tenminste altijd sessie variabelen voor dit soort grappen. (dus 1 array per form, is achteraf ook wel zo makkelijk)

en werd $HTTP_POST_VARS niet gedegradeerd. Ik dacht altijd dat je $_POST moest gebruiken tegenwoordig. Maar ik ben dan ook geen php goeroe

Egoist: A person of low taste, more interested in themselves than in me


Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Voorbeeld:
PHP:
1
2
3
4
5
6
session_start();

if ( isset($_POST['var']) )
{
    $_SESSION['var'] = $_POST['var'];
}


Opvragen van je sessievariabelen:
PHP:
1
2
3
4
5
6
session_start();

if ( isset($_SESSION['var']) )
{
    echo "je hebt in het formulier voor 'var' de waarde ".$_SESSION['var']." opgegeven";
}


Meer informatie over sessions

$_POST wordt inderdaad aanbevolen boven $HTTP_POST_VARS.

[ Voor 46% gewijzigd door dArtagnan op 07-10-2003 20:12 ]


Acties:
  • 0 Henk 'm!

  • cdgrit
  • Registratie: Mei 2002
  • Laatst online: 13-01 16:44
Je zou met sessions kunnen werken, maar in een hidden input veld opslaan moet ook perfect werken. Hebben de 2 inputvelden van de 2 pagina's wel dezelfde naam? Wordt op de tussenliggende pagina de waarde wel goed geset?

Als hij toch verborgen is hoef je natuurlijk geen <SELECT> veld te gebruiken, maar kun je de waarde ook gewoon in een <INPUT TYPE=text> zetten.


Originele startpagina - Stadindex.nl


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik was ook begonnen met sessions alleen liep dat telkens mis als ik weer 'back' ging of een deel opnieuw wou doen, vandaar dat ik het met hidden form objects ben gaan doen.
De code die ik gepost had is de code die ik gebruik om een element in een menu te lelecteren en haalt alleen zijn waarde uit een hidden value op de vorige pagina.
Ik zal in iedergeval $_POST een proberen.
Wat ik zelf nog dacht kan het te maken hebben met het aantal waarden die gedurende het hele formulier verstuurd worden ? het zijn er namenlijk best veel.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik denk dat het handig is als je wat meer code post....ik kan wel beginnen te gokken maar daar wordt niemand vrolijk van

oh enneh sessions zou wel een betere oplossing zijn...en wat flexibeler

[ Voor 24% gewijzigd door Verwijderd op 08-10-2003 13:00 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Waarom gebruik je 01 in plaats van 1? Het is dan een octaal getal in plaats van een decimaal (niet dat het uitmaakt voor de werkelijke waar in dit geval)

Je kunt trouwens ook zoiets als dit doen om alle post waardes te behouden:

PHP:
1
2
3
4
foreach ( $_POST as $key => $value )
{
    print "<input type=\"hidden\" name=\"$key\" value=\"$value\"/>";
}


mischien dat het ergens voor kan gebruiken..

Noushka's Magnificent Dream | Unity

Pagina: 1