Avatar billede Slettet bruger
17. august 2008 - 00:00 Der er 7 kommentarer og
1 løsning

Huske data fra drop down menu

Hej. Det bliver ikke let, men jeg håber jeg kan formulere dette her nogenlunde forståeligt.

Jeg har lavet en drop down menu hvor jeg gerne vil have at valget i menuen huskes efter at have trykket "submit" og data er sendt til samme side.

Menuen er lavet således:

            echo '<form action="test2.php" method="get">' . "\n" . '<select name="mainethmin_desired" size="1"' . ' style="width: 150px">' . "\n";

                    foreach ($govstyle as $value)
            {
                    echo '<option value="' . $value . '" name="mainethmin_desired">' . $value . '</option>' . "\n";
            }
                    echo "</select>" . "\n";

Hvis man vælger eks. nummer 2 på listen, skal nummer 2 også være valgt efter "submit".

Jeg har tænkt på noget i stil med:

if (isset($_GET["mainethmin_desired"])) {
ETELLERANDET
}
else
{
ETELLERANDET
}

Men kan ikke rigtig komme på en løsning. Håber der er nogen der kan hjælpe... Også selv jeg ikke kan formulere spørgsmålet særlig godt :)
Avatar billede w13 Novice
17. august 2008 - 00:44 #1
Så må du huske det med en Session:

if (isset($_GET["mainethmin_desired"])) {
  $_SESSION['mainethmin_desired']=$_GET["mainethmin_desired"];
}else{
  $_SESSION['mainethmin_desired']="";
}

Og form-koden:

            echo '<form action="test2.php" method="get">' . "\n" . '<select name="mainethmin_desired" size="1"' . ' style="width: 150px">' . "\n";

                    foreach ($govstyle as $value)
            {
                    echo '<option value="' . $value . '" name="mainethmin_desired"';
                    if($_SESSION['mainethmin_desired']==$value){
                      echo ' selected="selected"';
                    }
                    echo '>' . $value . '</option>' . "\n";
            }
                    echo "</select>" . "\n";
Avatar billede Slettet bruger
17. august 2008 - 01:09 #2
Perfekt. Jeg havde tænkt på noget Session men er ikke kommet så langt endnu :)
mange tak for hjælpen.
Avatar billede olebole Juniormester
17. august 2008 - 01:49 #3
<ole>

w13 >> Er det nødvendigt at sætte en session? Er det ikke nok at teste på, om $_POST["mainethmin_desired"] er sat, og hvis den er, så skrive noget à la:
    if ($_POST['mainethmin_desired']==$value){

/mvh
</bole>
Avatar billede olebole Juniormester
17. august 2008 - 01:50 #4
- altså noget à la:
    if ( isset($_POST['mainethmin_desired']) && $_POST['mainethmin_desired']==$value ){
Avatar billede w13 Novice
17. august 2008 - 09:56 #5
Nej, det er det nok ikke. Jeg forstod det sådan, at det skulle huskes, når man vendte tilbage til siden, men det kan jeg godt se, jeg måske har misforstået.
Avatar billede olebole Juniormester
17. august 2008 - 11:48 #6
yups - men kun 'måske'. Jeg er heller ikke sikker udfra spørgsmålet  =)
Avatar billede Slettet bruger
17. august 2008 - 13:56 #7
Jeg mente som udgangspunkt en løsning som den olebole henviste til, men w13s svar sparer mig yderligere for et problem som garanteret vil opstå senere :)
Avatar billede Slettet bruger
17. august 2008 - 13:58 #8
Men mange tak for inputtet, olebole. Det gav et nyt perspektiv på nogle andre problemstillinger (som der er rigeligt af) :)
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger AI forretningskonsulent i Ballerup

Styrelsen for Grøn Arealomlægning og Vandmiljø

Teamleder til Application Management

Capgemini Danmark A/S

IGNITE Graduate Program 2026