Hunchentoot Handling Checkbox Post RequestsWhat's the difference between a POST and a PUT HTTP REQUEST?JavaScript post request like a form submitPUT vs. POST in RESTHow to make HTTP POST web requestHow do I send a POST request with PHP?How to retrieve POST query parameters?How is an HTTP POST request made in node.js?How can I post data as form data instead of a request payload?How are parameters sent in an HTTP POST request?Can't get the post in LISP hunchentoot

Do I have advantage with Riposte when moving away from a flanked enemy and triggering an opportunity attack?

Comma Code - Automate the Boring Stuff with Python

1, 2, 4, 8, 16, ... 33?

Is this Portent-like spell balanced?

Why did the Soviet Union not "grant" Inner Mongolia to Mongolia after World War Two?

Examples of "unsuccessful" theories with afterlives

extracting sublists

If an object moving in a circle experiences centripetal force, then doesn't it also experience centrifugal force, because of Newton's third law?

Designing a time thief proof safe

Hilbert's hotel: why can't I repeat it infinitely many times?

Meaning of 'ran' in German?

A food item only made possible by time-freezing storage?

What exactly did this mechanic sabotage on the American Airlines 737, and how dangerous was it?

List of 1000 most common words across all languages

Is it a good idea to leave minor world details to the reader's imagination?

Is it possible to encode a message in such a way that can only be read by someone or something capable of seeing into the very near future?

relating two diagrams in tikzcd

Fuel sender works when outside of tank, but not when in tank

Should we use wheatstone bridges nowadays?

Safe to use 220V electric clothes dryer when building has been bridged down to 110V?

Recounting events in dialogue

Is it impolite to ask for halal food when traveling to and in Thailand?

How 象【しょう】 ( ≈かたち、 すがた、ようす) and 象【ぞう】 (どうぶつ) got to be written with the same kanji?

How to say "cheat sheet" in French



Hunchentoot Handling Checkbox Post Requests


What's the difference between a POST and a PUT HTTP REQUEST?JavaScript post request like a form submitPUT vs. POST in RESTHow to make HTTP POST web requestHow do I send a POST request with PHP?How to retrieve POST query parameters?How is an HTTP POST request made in node.js?How can I post data as form data instead of a request payload?How are parameters sent in an HTTP POST request?Can't get the post in LISP hunchentoot






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















I am developing a web application in Cl-who, Hunchentoot, and Common Lisp that will need to process customer orders. Since they could obviously order more than one item, I figured a Checkbox would make the most sense. However, the issue is when I define an easy-handler, it doesn't receive the array of results like an array in PHP if you have a series of Checkboxes with the same name and different values. Instead, it treats the variable as a String, so I cannot iterate over each Box that was checked. Here is a snippet of my code:



(:input :type "checkbox" :name "food[]" :value "cheese balls")
(:input :type "checkbox" :name "food[]" :value "fries")
(:input :type "checkbox" :name "food[]" :value "hamburger")


Here is the handler I have set up (maybe I need to use the loop macro here?) This is just a sample because I will obviously process each argument passed to the easy-handler when I figure out this problem:



(define-easy-handler (process-order :uri "/process-order") 
(customer-name customer-address customer-city customer-phone order-type food[])
(standard-page (:title "order results"
:href "file.css")
(:h1 (if food[]
(dolist (x food[])
(:li (fmt "We see that you want ~A~%" x)))))))


Those are just three potential inputs that someone could check. So lets assume that a customer checks all three... Only cheese balls would return because Lisp is treating the name "food[]" as an individual string. What I mean by that is that in PHP that variable for name ("food[]") would be processed as if it were an array. So in HTML and PHP it would look something like this:



<input type="checkbox" name="food[]" value="cheese balls" class="check"/>
<input type="checkbox" name="food[]" value="fries" class="check"/>
<input type="checkbox" name="food[]" value="hamburger" class="check"/>


Assuming a customer selected all three Checkboxes, I could do something similar to this in PHP:



if( isset( $_POST['food'])) 
foreach ( $_POST['food'] as $food)
echo $food;




It is not clear how you'd achieve similar functionality in Common Lisp with Cl-WHO and Hunchentoot however. The only other alternative I can think of is passing like 30 parameters to the easy-handler, but that sounds like the least efficient way to solve this problem. I know that there is also a CL form processing library, but I was hoping to avoid going down that route, although I will if that's the only possible solution. Giving each checkbox a different name seems like the worst possible way to solve this.










share|improve this question
































    2















    I am developing a web application in Cl-who, Hunchentoot, and Common Lisp that will need to process customer orders. Since they could obviously order more than one item, I figured a Checkbox would make the most sense. However, the issue is when I define an easy-handler, it doesn't receive the array of results like an array in PHP if you have a series of Checkboxes with the same name and different values. Instead, it treats the variable as a String, so I cannot iterate over each Box that was checked. Here is a snippet of my code:



    (:input :type "checkbox" :name "food[]" :value "cheese balls")
    (:input :type "checkbox" :name "food[]" :value "fries")
    (:input :type "checkbox" :name "food[]" :value "hamburger")


    Here is the handler I have set up (maybe I need to use the loop macro here?) This is just a sample because I will obviously process each argument passed to the easy-handler when I figure out this problem:



    (define-easy-handler (process-order :uri "/process-order") 
    (customer-name customer-address customer-city customer-phone order-type food[])
    (standard-page (:title "order results"
    :href "file.css")
    (:h1 (if food[]
    (dolist (x food[])
    (:li (fmt "We see that you want ~A~%" x)))))))


    Those are just three potential inputs that someone could check. So lets assume that a customer checks all three... Only cheese balls would return because Lisp is treating the name "food[]" as an individual string. What I mean by that is that in PHP that variable for name ("food[]") would be processed as if it were an array. So in HTML and PHP it would look something like this:



    <input type="checkbox" name="food[]" value="cheese balls" class="check"/>
    <input type="checkbox" name="food[]" value="fries" class="check"/>
    <input type="checkbox" name="food[]" value="hamburger" class="check"/>


    Assuming a customer selected all three Checkboxes, I could do something similar to this in PHP:



    if( isset( $_POST['food'])) 
    foreach ( $_POST['food'] as $food)
    echo $food;




    It is not clear how you'd achieve similar functionality in Common Lisp with Cl-WHO and Hunchentoot however. The only other alternative I can think of is passing like 30 parameters to the easy-handler, but that sounds like the least efficient way to solve this problem. I know that there is also a CL form processing library, but I was hoping to avoid going down that route, although I will if that's the only possible solution. Giving each checkbox a different name seems like the worst possible way to solve this.










    share|improve this question




























      2












      2








      2








      I am developing a web application in Cl-who, Hunchentoot, and Common Lisp that will need to process customer orders. Since they could obviously order more than one item, I figured a Checkbox would make the most sense. However, the issue is when I define an easy-handler, it doesn't receive the array of results like an array in PHP if you have a series of Checkboxes with the same name and different values. Instead, it treats the variable as a String, so I cannot iterate over each Box that was checked. Here is a snippet of my code:



      (:input :type "checkbox" :name "food[]" :value "cheese balls")
      (:input :type "checkbox" :name "food[]" :value "fries")
      (:input :type "checkbox" :name "food[]" :value "hamburger")


      Here is the handler I have set up (maybe I need to use the loop macro here?) This is just a sample because I will obviously process each argument passed to the easy-handler when I figure out this problem:



      (define-easy-handler (process-order :uri "/process-order") 
      (customer-name customer-address customer-city customer-phone order-type food[])
      (standard-page (:title "order results"
      :href "file.css")
      (:h1 (if food[]
      (dolist (x food[])
      (:li (fmt "We see that you want ~A~%" x)))))))


      Those are just three potential inputs that someone could check. So lets assume that a customer checks all three... Only cheese balls would return because Lisp is treating the name "food[]" as an individual string. What I mean by that is that in PHP that variable for name ("food[]") would be processed as if it were an array. So in HTML and PHP it would look something like this:



      <input type="checkbox" name="food[]" value="cheese balls" class="check"/>
      <input type="checkbox" name="food[]" value="fries" class="check"/>
      <input type="checkbox" name="food[]" value="hamburger" class="check"/>


      Assuming a customer selected all three Checkboxes, I could do something similar to this in PHP:



      if( isset( $_POST['food'])) 
      foreach ( $_POST['food'] as $food)
      echo $food;




      It is not clear how you'd achieve similar functionality in Common Lisp with Cl-WHO and Hunchentoot however. The only other alternative I can think of is passing like 30 parameters to the easy-handler, but that sounds like the least efficient way to solve this problem. I know that there is also a CL form processing library, but I was hoping to avoid going down that route, although I will if that's the only possible solution. Giving each checkbox a different name seems like the worst possible way to solve this.










      share|improve this question
















      I am developing a web application in Cl-who, Hunchentoot, and Common Lisp that will need to process customer orders. Since they could obviously order more than one item, I figured a Checkbox would make the most sense. However, the issue is when I define an easy-handler, it doesn't receive the array of results like an array in PHP if you have a series of Checkboxes with the same name and different values. Instead, it treats the variable as a String, so I cannot iterate over each Box that was checked. Here is a snippet of my code:



      (:input :type "checkbox" :name "food[]" :value "cheese balls")
      (:input :type "checkbox" :name "food[]" :value "fries")
      (:input :type "checkbox" :name "food[]" :value "hamburger")


      Here is the handler I have set up (maybe I need to use the loop macro here?) This is just a sample because I will obviously process each argument passed to the easy-handler when I figure out this problem:



      (define-easy-handler (process-order :uri "/process-order") 
      (customer-name customer-address customer-city customer-phone order-type food[])
      (standard-page (:title "order results"
      :href "file.css")
      (:h1 (if food[]
      (dolist (x food[])
      (:li (fmt "We see that you want ~A~%" x)))))))


      Those are just three potential inputs that someone could check. So lets assume that a customer checks all three... Only cheese balls would return because Lisp is treating the name "food[]" as an individual string. What I mean by that is that in PHP that variable for name ("food[]") would be processed as if it were an array. So in HTML and PHP it would look something like this:



      <input type="checkbox" name="food[]" value="cheese balls" class="check"/>
      <input type="checkbox" name="food[]" value="fries" class="check"/>
      <input type="checkbox" name="food[]" value="hamburger" class="check"/>


      Assuming a customer selected all three Checkboxes, I could do something similar to this in PHP:



      if( isset( $_POST['food'])) 
      foreach ( $_POST['food'] as $food)
      echo $food;




      It is not clear how you'd achieve similar functionality in Common Lisp with Cl-WHO and Hunchentoot however. The only other alternative I can think of is passing like 30 parameters to the easy-handler, but that sounds like the least efficient way to solve this problem. I know that there is also a CL form processing library, but I was hoping to avoid going down that route, although I will if that's the only possible solution. Giving each checkbox a different name seems like the worst possible way to solve this.







      post lisp common-lisp hunchentoot cl-who






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 28 at 17:56







      Simeon Ikudabo

















      asked Mar 28 at 17:41









      Simeon IkudaboSimeon Ikudabo

      1,2663 silver badges14 bronze badges




      1,2663 silver badges14 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          2
















          After further reading the documentation, you can alter the parameter type that the easy handler expects to receive. As soon as it sees that it is a list in the parameter definition, it treats it as a List. I simply changed my food parameter to this:



          (food[] :parameter-type 'list)


          And it treats it as if it where a list and retrieves multiple results from my CheckBoxes.






          share|improve this answer

























          • The [ ] brackets look really, why are they ?

            – Ehvince
            Mar 28 at 23:27











          • I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

            – Simeon Ikudabo
            Mar 29 at 0:19













          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );














          draft saved

          draft discarded
















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55403846%2fhunchentoot-handling-checkbox-post-requests%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2
















          After further reading the documentation, you can alter the parameter type that the easy handler expects to receive. As soon as it sees that it is a list in the parameter definition, it treats it as a List. I simply changed my food parameter to this:



          (food[] :parameter-type 'list)


          And it treats it as if it where a list and retrieves multiple results from my CheckBoxes.






          share|improve this answer

























          • The [ ] brackets look really, why are they ?

            – Ehvince
            Mar 28 at 23:27











          • I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

            – Simeon Ikudabo
            Mar 29 at 0:19















          2
















          After further reading the documentation, you can alter the parameter type that the easy handler expects to receive. As soon as it sees that it is a list in the parameter definition, it treats it as a List. I simply changed my food parameter to this:



          (food[] :parameter-type 'list)


          And it treats it as if it where a list and retrieves multiple results from my CheckBoxes.






          share|improve this answer

























          • The [ ] brackets look really, why are they ?

            – Ehvince
            Mar 28 at 23:27











          • I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

            – Simeon Ikudabo
            Mar 29 at 0:19













          2














          2










          2









          After further reading the documentation, you can alter the parameter type that the easy handler expects to receive. As soon as it sees that it is a list in the parameter definition, it treats it as a List. I simply changed my food parameter to this:



          (food[] :parameter-type 'list)


          And it treats it as if it where a list and retrieves multiple results from my CheckBoxes.






          share|improve this answer













          After further reading the documentation, you can alter the parameter type that the easy handler expects to receive. As soon as it sees that it is a list in the parameter definition, it treats it as a List. I simply changed my food parameter to this:



          (food[] :parameter-type 'list)


          And it treats it as if it where a list and retrieves multiple results from my CheckBoxes.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 28 at 18:18









          Simeon IkudaboSimeon Ikudabo

          1,2663 silver badges14 bronze badges




          1,2663 silver badges14 bronze badges















          • The [ ] brackets look really, why are they ?

            – Ehvince
            Mar 28 at 23:27











          • I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

            – Simeon Ikudabo
            Mar 29 at 0:19

















          • The [ ] brackets look really, why are they ?

            – Ehvince
            Mar 28 at 23:27











          • I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

            – Simeon Ikudabo
            Mar 29 at 0:19
















          The [ ] brackets look really, why are they ?

          – Ehvince
          Mar 28 at 23:27





          The [ ] brackets look really, why are they ?

          – Ehvince
          Mar 28 at 23:27













          I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

          – Simeon Ikudabo
          Mar 29 at 0:19





          I used them while prototyping because I’m working with some PHP guys. In PHP that signifies and Array when you’re working with checkboxes, so it helped us build a mental connection between a post request in PHP and a post request in Hunchentoot, and how we’d go about handling it.

          – Simeon Ikudabo
          Mar 29 at 0:19




















          draft saved

          draft discarded















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55403846%2fhunchentoot-handling-checkbox-post-requests%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript