Re: incorrect value from form

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

 



Can you show us the full form? It may be that you have a misplaced or
missing quote or double quote that is messing up the form

Bastien

On Wed, Dec 24, 2014 at 6:22 AM, Peter Ford <pete@xxxxxxxxxxxxx> wrote:

> On 24/12/14 02:10, Tim Dunphy wrote:
>
>> Hi all,
>>
>>  I'm following some examples from PHP and MySQL web development by Luke
>> Welling and Laura Thompson. I'm trying to pass a value from a drop down
>> selection list via $_POST. But the wrong value ends up in the variable.
>>
>> Here's the section of code that I seem to be having a problem with:
>>
>> <form action="processorder.php" method="post">
>>
>> ..... /* more code here */
>>
>>   <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>
>>
>>
>> From that section of HTML I'm expecting to find the values a,b,c or d in
>> the $_POST['find'] variable.
>>
>> The code that receives this value in the php script is this:
>>
>>
>> $find     = $_POST['find'];
>>
>> ... /* more code here */ ...
>>
>>
>> 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>";
>> }
>>
>> However the message that displays in the php script is always: echo
>> "<p>We do not know how this customer found us.</p>";
>>
>> If I put in an echo statement to actually look at whats' in the $find
>> variable, instead of a,b,c or d what I'm finding instead are the full
>> phrases associated with the letter in the table.
>>
>> For example if I were to select a) from the drop down list, what ends up
>> in the $find variable is instead "<p>Regular customer.</p>".
>>
>> This really seems like some conceptual error on my part. Can someone
>> please point out to me where I'm going wrong in expecting the letter in to
>> end up in the variable?
>>
>> The code is easily fixed by setting up the logic like this:
>>
>> if ($find == "I’m a regular customer") {
>>     echo "<p>Regular customer.</p>";
>>
>> etc
>>
>> But that's a little cumbersome. How can I go about getting the desired
>> result?
>>
>> I'm enclosing the two pages of code for greater context.
>>
>> Thanks!!!
>> Tim
>>
>> --
>> GPG me!!
>>
>> gpg --keyserver pool.sks-keyservers.net <http://pool.sks-keyservers.net>
>> --recv-keys F186197B
>>
>>
>>
>>  You probably need to attach the form page too - I don't see anything in
> processorder.php that is causing that problem (there a few things I'd do
> differently, and I'm not sure about the logic that decides nothing was
> ordered, but that's not the question...)
>
> Cheers
> Pete
>
> --
> Peter Ford                            phone: 01580 893333 fax: 01580 893399
> Justcroft International Ltd.
> www.justcroft.com
> Justcroft House, High Street, Staplehurst, Kent   TN12 0AH   United Kingdom
> Registered in England and Wales: 2297906
> Registered office: Stag Gates House, 63/64 The Avenue, Southampton SO17 1XS
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 

Bastien

Cat, the other other white meat

[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