Re: Re: incorrect value from form

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 24, 2014 at 12:21 PM, Tim Dunphy <bluethundr@xxxxxxxxx> wrote:

> Hey guys,
>
> Thanks for your response. Thanks also to Ted for posting that tutorial. The
> tutorial was good, but I'm still having a hard time figuring out why the
> $find variable doesn't have the value specified in the "value" tag. Because
> it looks like the value tag in Ted's example works correctly!
>
> For example if I have this option selected:
>
>   <option value = "a">I’m a regular customer</option>
>
> The contents of $find on the php page are "I'm a regular customer" and not
> the value which should be "a". And that just strikes me as odd!
>
> And if I select option a the output on the web page is the following:
>
> This is what's in the $find variable: I’m a regular customer
>
> We do not know how this customer found us.
>
> I thought I enclosed both the orderform.html and processorder.php files in
> the original email. But I guess I must not have attached one of them.
>
> Just so I don't screw that up again, here's the two files inline in the
> email! :)
>
> Neither of them is that long, so I hope no one minds.
>
> <!doctype html>
>
> <html lang="en-us">
>
> <head>
>
>     <meta charset="utf-8">
>
>     <title>Order Form</title>
>
> </head>
>
> <body>
>
> <form action="processorder.php" method="post">
>
>     <table border="0">
>
>         <tr bgcolor="#cccccc">
>
>             <td width="150">Item</td>
>
>             <td width="15">Quantity</td>
>
>         </tr>
>
>         <tr>
>
>             <td>Tires</td>
>
>             <td align="center"> <input type="text" name="tireqty" size="3"
> maxlength="3" /></td>
>
>         <tr>
>
>         <td>Oil</td>
>
>         <td align="center"><input type="text" name="oilqty" size="3"
> maxlength="3" /></td>
>
>         </tr>
>
>         <tr>
>
>             <td>Spark Plugs</td>
>
>             <td align="center"><input type="text" name="sparkqty" size="3"
> maxlength="3" /></td>
>
>         </tr>
>
>         <tr>
>
>             <td colspan="2" align="center"><input type="submit"
> value="Submit Order" /></td>
>
>         </tr>
>
>         <tr>
>
>             <td>How did you find Bob’s?</td>
>
>             <td><select name="find">
>
>                 <option value = "a">I’m a regular customer</option>
>
>                 <option value = "b">TV advertising</option>
>
>                 <option value = "c">Phone directory</option>
>
>                 <option value = "d">Word of mouth</option>
>
>             </select>
>
>             </td>
>
>         </tr>
>
>     </table>
>
> </form>
>
> </body>
> And here is the processorder.php script:
>
> tml>
> <head>
>     <title>Bob's Auto Parts - Order Results</title>
> </head>
> <body>
> <h1>Bob's Auto Parts</h1>
> <h2>Order Results</h2>
> <?php
> // create short variable names
> $tireqty  = $_POST['tireqty'];
> $oilqty   = $_POST['oilqty'];
> $sparkqty = $_POST['sparkqty'];
> $find     = $_POST['find'];
>
>
> echo '<p>Your order is as follows:</p>';
> if ($tireqty ==0) {
>     echo "You did not order anything on the previous page!<br />";
> } else {
>     if ($tireqty > 0)
>         echo $tireqty." tires<br />";
>     if ($oilqty > 0)
>         echo $oilqty." bottles of oil<br />";
>     if ($sparkqty > 0)
>         echo $sparkqty." spark plugs<br />";
> }
>
> echo "<br /><br />";
>
> $totalqty = 0;
> $totalqty = $tireqty + $oilqty + $sparkqty;
> echo "Items ordered: " . $totalqty. "<br ./>";
>
> define('TIREPRICE', 100);
> define('OILPRICE', 10);
> define('SPARKPRICE', 4);
>
> $totalamount = $tireqty * TIREPRICE
>    + $oilqty * OILPRICE
>    + $sparkqty * SPARKPRICE;
>
> echo "Subtotal:    $".number_format($totalamount,2)."<br />";
> $taxrate = 0.10;
> $totalamount = $totalamount * (1+ $taxrate);
> echo "Total     Including     Tax:
> $".number_format($totalamount, 2)."<br />";
>
> /*echo "<p>this is the $_POST[find] variable: " . var_dump($_POST['find'])
> . "</p>";
> echo "<p>this is the \"find\" variable: " . var_dump($find) . "</p>";*/
>
> echo  '<p>This is what\'s in the $find variable: ' . $find . '</p>';
>
> /*if ($find == "I’m a regular customer") {
>     echo "<p>Regular customer.</p>";
> } elseif ($find == "TV advertising") {
>     echo "<p>Customer referred by TV advert";
> } elseif ($find == "Phone directory") {
>     echo "<p>Customer referred by phone directory</p>";
>  } elseif ($find == "Word of mouth") {
>     echo "<p>Customer referred by word of mount</p>";
> } else {
>     echo "<p>We do not know how this customer found us.</p>";
> }*/
>
> if ($find == "a") {
>     echo "<p>Regular customer.</p>";
> } elseif ($find == "b") {
>     echo "<p>Customer referred by TV advert";
> } elseif ($find == "c") {
>     echo "<p>Customer referred by phone directory</p>";
> } elseif ($find == "d") {
>     echo "<p>Customer referred by word of mount</p>";
> } else {
>     echo "<p>We do not know how this customer found us.</p>";
> }
>
> ?>
> </body>
> </html>
>
> Furthermore, the script I'm working with is actually hanging out on the
> Internet right here:
>
> http://php.lyricgem.com/orderform.html
>
> That's in case you want to see it in action. That's just my hobby dev
> instance on the amazon free tier! Notthing there needs to be secure that
> isn't already protected by the firewall!
>
> Thanks and Merry Christmas to all!
> Tim
>
>
> On Wed, Dec 24, 2014 at 11:41 AM, Jim Giner <jim.giner@xxxxxxxxxxxxxxxxxx>
> wrote:
>
> > The code as posted works just fine for me.  Must be something you are not
> > showing us that is affecting your html.  Have you looked at the source
> code
> > in the browser window to see if it appears correctly?
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
>
>
> --
> GPG me!!
>
> gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>


Try removing the spaces between value = "a" -> value="a". For some odd
reason chrome translates that for me (on windows) to:

<option value ="&nbsp;&quot;a&quot;">I’m a regular customer</option>

Also insure that your files are all utf8 encoded.

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux