samedi 5 janvier 2019

PHP HTML FORM CHECKBOX value maximum - POST converts to GET

HTML FORM (POST) works fine for CHECKBOX parameters with VALUEs <= 1,073,741,824 (commas added here for readability)

however, with a checkbox CHECKED (and thus sent to the server) having a VALUE of 2,147,483,648 the METHOD changes to GET even tho the FORM specifies POST

This usage is needed to represent values up to 2**64, and the HTML checkbox tags are programmatically generated based on current db content.

Disambiguation: this is not about MAXLENGTH (character length) Disambiguation: this is not about the NUMBER of checkbox options

when i add the HTML5 max="4294967296" (2**32, as a test) it still does not work.

When i change the     value='2147483648'  parameter to a *char str*
    value='x2147483648'
it works as desired (viz., POST)

i've tried in CHROME & FIREFOX.

here's the bare bones HTML excerpt pared down to the 2 critical checkboxes present.

<form method="POST" action="example.com/xxx.php" >    
    <input type="checkbox" name="SeasonBits1"  value='1073741824'   >
    <label for="SeasonBits1">Option[1,073,741,824]</label>

    <input type="checkbox" name="SeasonBits2"  value='2147483648'   >
    <label for="SeasonBits2">Option[2,147,483,648]</label> 

    <input name="Command" type="submit" id="Command2" value="UPDATE"  />
</form>

results when only Option[1..] is checked:
    [REQUEST_METHOD] => POST
    [SeasonBits1] => 1073741824

results when only Option[2..] is checked:
    [REQUEST_METHOD] => GET
    (no $_POST  *OR*  $_GET array contents at all)

Please help me see what i'm missing w.r.t. checkbox integer value limitations.




Aucun commentaire:

Enregistrer un commentaire