Avatar billede gedekid Nybegynder
05. marts 2009 - 08:58 Der er 10 kommentarer og
1 løsning

Forkorte script med POST

Hej eksperter,

jeg har et script på en side der håndterer et valg af en vinkel

------------------------------
//25 UDEN UDHÆNG
if(!empty($_POST["angle20_uu"]) || $_POST["fastvalg25_uu"]) {
                                   
    if($_POST["fastvalg25_uu"]) {
        $_SESSION["vink"] = "25";
        $_SESSION["vink2"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle20_uu"];
        $_SESSION["vink2"] = $_POST["angle20_uu_2"];
    }
                                   
    $_SESSION["tagtype"] = "20uu";
                                   
//25 MED UDHÆNGG   
} elseif(!empty($_POST["angle20_mu"]) || $_POST["fastvalg25_mu"]) {
                                                                   
    if($_POST["fastvalg25_mu"]) {
        $_SESSION["vink"] = "25";
        $_SESSION["vink2"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle20_mu"];
        $_SESSION["vink2"] = $_POST["angle20_mu_2"];
    }
                                   
    $_SESSION["tagtype"] = "20mu";
                                   
//30 UDEN UDHÆNG   
} elseif(!empty($_POST["angle30_uu"]) || $_POST["fastvalg35_uu"]) {
                                                                       
    if($_POST["fastvalg35_uu"]) {
        $_SESSION["vink"] = "35";
        $_SESSION["vink2"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle30_uu"];
        $_SESSION["vink2"] = $_POST["angle30_uu_2"];
    }
                                   
    $_SESSION["tagtype"] = "30uu";
                               
//30 MED UDHÆNG
} elseif(!empty($_POST["angle30_mu"]) || $_POST["fastvalg35_mu"]) {

    if($_POST["fastvalg35_mu"]) {
        $_SESSION["vink"] = "35";
        $_SESSION["vink2"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle30_mu"];
        $_SESSION["vink2"] = $_POST["angle30_mu_2"];
    }
                               
    $_SESSION["tagtype"] = "30mu";
                               
//40 UDENUDHÆNG
} elseif(!empty($_POST["angle40_uu"]) || $_POST["fastvalg45_uu"]) {
                                   
    if($_POST["fastvalg45_uu"]) {
        $_SESSION["vink"] = "45";
        $_SESSION["vink2"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle40_uu"];
        $_SESSION["vink2"] = $_POST["angle40_uu_2"];
    }
                               
    $_SESSION["tagtype"] = "40uu";
                               
//40 MED UDHÆNG
} elseif(!empty($_POST["angle40_mu"]) || $_POST["fastvalg45_mu"]) {

    if($_POST["fastvalg45_mu"]) {
        $_SESSION["vink"] = "45";
        $_SESSION["vink"] = $_SESSION["vink"];
    } else {
        $_SESSION["vink"] = $_POST["angle40_mu"];
        $_SESSION["vink2"] = $_POST["angle40_mu_2"];
    }
                               
        $_SESSION["tagtype"] = "40mu";
                               
} else {
    $_SESSION["vink"] = $_SESSION["vink"];
    $_SESSION["vink2"] = $_SESSION["vink2"];
}

--------------------------------------------

Det fungerer ved at man har to valgmuligheder... Man kan vælge at klikke på et billede der så giver en fast vinkel. ex. 45 grader... man kan også vælge at indtaste en vinkel ex. 43 grader...

Scriptet herover håndterer så valgene.... Mit spørgsmål går på om jeg på en måde kan optimere scriptet, så det ikke er så massivt og fylder mindre ... det er også ret "statisk" som det er nu...
Avatar billede majbom Novice
05. marts 2009 - 09:34 #1
nu har jeg ikke studeret scriptet ret nøje, men min første tanke er:

hvorfor ikke bare have én variabel fra siden hvor man vælger vinkel?

hvis man klikker på et billede bliver der sendt den valgte vinkel med, og hvis man taster en vinkel, bliver den sendt med?
Avatar billede gedekid Nybegynder
05. marts 2009 - 09:41 #2
Kan du give mig et eksempel?

De faste valg er 25,35 eller 45 grader.
Avatar billede majbom Novice
05. marts 2009 - 10:57 #3
har du mulighed for at vise mig siden, hvor man foretager valgene? det vil gøre det en del nemmere :)
Avatar billede gedekid Nybegynder
05. marts 2009 - 11:10 #4
Selvfølgelig :)

Det kan du på www.randerstegl.dk/nemtag/ og så fortsætter du indtil "Vælg tagtype og indtast tagvinkel" - det er de valg :)
Avatar billede majbom Novice
05. marts 2009 - 11:26 #5
er der nogen grund til at du bruge checkboxes i stedet for radiobuttons?

det ville gøre det en del nemmere med radios, og det er imo en del mere brugervenligt, da folk regner med at en checkbox opfører sig som en checkbox og ikke som en radio.
Avatar billede gedekid Nybegynder
05. marts 2009 - 11:41 #6
Sikkert ikke nogen god grund jeg lige kan fortælle dig :) Havde ikke skænket radiobuttons en tanke, men kan sagtens følge dig...
Avatar billede majbom Novice
05. marts 2009 - 12:48 #7
hvis du bruger radios har du en variabel uanset hvilken fast vinkel der er valgt og man kunne så lave det sådan at hvis man skrev noget i tekstfeltet, blev radioen ryddet så ingen var valgt.

samtidig kunne du evt. nøjes med ét feltman kan skrive i, hvis ingen af billederne matcher ens egen tagvinkel :)
Avatar billede gedekid Nybegynder
05. marts 2009 - 13:40 #8
Med radiobuttons fik jeg også løst et andet problem, så tak for det :)

Jeg fik det kogt ned til

--------------------------------
//25 UDEN UDHÆNG
if(!empty($_POST["angle20_uu"])) {

    $_SESSION["vink"] = $_POST["angle20_uu"];
    $_SESSION["vink2"] = $_POST["angle20_uu_2"];

    $angle = "25uu";
   
//25 MED UDHÆNGG   
} elseif(!empty($_POST["angle20_mu"])) {

    $_SESSION["vink"] = $_POST["angle20_mu"];
    $_SESSION["vink2"] = $_POST["angle20_mu_2"];
   
    $angle = "25mu";
                                   
//30 UDEN UDHÆNG   
} elseif(!empty($_POST["angle30_uu"])) {
                                                                       
    $_SESSION["vink"] = $_POST["angle30_uu"];
    $_SESSION["vink2"] = $_POST["angle30_uu_2"];

    $angle = "35uu";
   
//30 MED UDHÆNG
} elseif(!empty($_POST["angle30_mu"])) {

    $_SESSION["vink"] = $_POST["angle30_mu"];
    $_SESSION["vink2"] = $_POST["angle30_mu_2"];

    $angle = "35mu";
   
//40 UDEN UDHÆNG
} elseif(!empty($_POST["angle40_uu"])) {
                               
    $_SESSION["vink"] = $_POST["angle40_uu"];
    $_SESSION["vink2"] = $_POST["angle40_uu_2"];

    $angle = "45uu";
   
//40 MED UDHÆNG
} elseif(!empty($_POST["angle40_mu"])) {

    $_SESSION["vink"] = $_POST["angle40_mu"];
    $_SESSION["vink2"] = $_POST["angle40_mu_2"];

    $angle = "45mu";
   
} else {
    $_SESSION["vink"] = substr($_POST["fastvalg"], -4, -2);
    $_SESSION["vink2"] = substr($_POST["fastvalg"], -4, -2);

    $angle =  substr($_POST["fastvalg"], -4);
    $fullangle = $_POST["fastvalg"];
}   

----------------------------------------

smider du svar så er der point ?
Avatar billede majbom Novice
05. marts 2009 - 13:49 #9
jeg synes nu stadig det er meget kode...

men du er tilfreds?
Avatar billede gedekid Nybegynder
05. marts 2009 - 14:12 #10
Ud fra det du har givet mig kan jeg arbejde videre med det :)
Avatar billede majbom Novice
05. marts 2009 - 14:27 #11
okay, bare i orden så :)

og selv tak!
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