Avatar billede nemlig Professor
19. november 2008 - 23:52 Der er 4 kommentarer og
1 løsning

Husk værdier i input-formular

Jeg har lavet en emailformular med nogle input-felter (emne, fra, til og indhold).
Men jeg har også en knap (ikke submit, men bare et link), som kalder et nyt vindue, hvor jeg kan vælge modtagere.

Problemet er, at hvis nogle af formularens felter udfyldes, og der fx. trykkes på link-knappen, for at vælge modtagere. Så er formularens indtastede data væk, når jeg vender tilbage.
Dette løser jeg normalt med S_SESSION variabler, men de når ikke at blive sat, hvis man trykker på link-knappen, inden submit-knappen.
Nogen løsningsforslag?
Avatar billede jakobdo Ekspert
20. november 2008 - 08:26 #1
Hvad med at styre det ala:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    if($_POST['knap'] == 'Knap 1'){
        header('Location: http://www.codebreaker.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 2'){
        header('Location: http://www.eksperten.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 3'){
        header('Location: http://www.eb.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 4'){
        header('Location: http://www.bt.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 5'){
        header('Location: http://www.kalendersystem.dk');
        exit();
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Flere submit knapper</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
        <form action="submit.php" method="post">
            Data: <input type="text" name="data" /><br />
            <input type="submit" name="knap" value="Knap 1" /><br />
            <input type="submit" name="knap" value="Knap 2" /><br />
            <input type="submit" name="knap" value="Knap 3" /><br />
            <input type="submit" name="knap" value="Knap 4" /><br />
            <input type="submit" name="knap" value="Knap 5" /><br />
        </form>
    </body>
</html>
Avatar billede jakobdo Ekspert
20. november 2008 - 08:41 #2
Og så husker den indtastede data:

<?php
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $_SESSION['data'] = strip_tags($_POST['data']);
    if($_POST['knap'] == 'Knap 1'){
        header('Location: http://www.codebreaker.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 2'){
        header('Location: http://www.eksperten.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 3'){
        header('Location: http://www.eb.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 4'){
        header('Location: http://www.bt.dk');
        exit();
    }
    if($_POST['knap'] == 'Knap 5'){
        header('Location: http://www.kalendersystem.dk');
        exit();
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Flere submit knapper</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <style type="text/css">
            div#container {width:350px; background-color:#cc9; border:1px dotted #333; padding:5px; margin:0px auto;}
            div.row {clear:both; padding-top:10px;}
            div.row span.label {float:left; width:100px; text-align:right;}
            div.row span.formw {float:right; width:235px; text-align:left;}
            div.spacer {clear:both;}
        </style>
    </head>
    <body>
        <div id="container">
          <form action="submit.php" method="post">
            <div class="row">
              <span class="label">Data:</span>
              <span class="formw"><input type="text" name="data" value="<?=$_SESSION['data'];?>" /></span>
            </div>
            <div class="row">
              <span class="label">&nbsp;</span>
              <span class="formw"><input type="submit" name="knap" value="Knap 1" /></span>
            </div>
            <div class="row">
              <span class="label">&nbsp;</span>
              <span class="formw"><input type="submit" name="knap" value="Knap 2" /></span>
            </div>
            <div class="row">
              <span class="label">&nbsp;</span>
              <span class="formw"><input type="submit" name="knap" value="Knap 3" /></span>
            </div>
            <div class="row">
              <span class="label">&nbsp;</span>
              <span class="formw"><input type="submit" name="knap" value="Knap 4" /></span>
            </div>
            <div class="row">
              <span class="label">&nbsp;</span>
              <span class="formw"><input type="submit" name="knap" value="Knap 5" /></span>
            </div>
              <div class="spacer">&nbsp;</div>
            </form>
        </div>
    </body>
</html>
Avatar billede nemlig Professor
20. november 2008 - 09:06 #3
Meget interessant.
Tak for bidragene. Send venligst et svar.
Avatar billede jakobdo Ekspert
20. november 2008 - 09:08 #4
Svar!
Avatar billede jakobdo Ekspert
20. november 2008 - 20:01 #5
Takker for point.
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