Welcome to WebmasterWorld Guest from 54.227.101.214

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Problems displaying data in form values

Php Mysql

     

salewit

3:14 am on Nov 7, 2009 (gmt 0)

10+ Year Member



I have a fair knowledge of PHP and MYSQL, but having lots of escape issues when used with forms. Take a simple name and address database with the name John O'Conner.


$fullname = "John O'Conner";
$result = mysql_query("update namedb SET name = '".mysql_real_escape_string($fullname)."' WHERE key = 33 LIMIT 1;");

Now I'll display that in a FORM text field:


$result = mysql_query("select name from namedb WHERE key = 33");
$row = mysql_fetch_assoc($result);
<form ...>
Updated Name: <input type="text" name="fullname" value="<? echo $row['name']; ?>">
</form>

I get this:

Updated Name: John O

Everything after the "O" is gone. If I look at the source, the full name is there. So I change my code by changing the the double quotes to singles right before the PHP code:


Updated Name: <input type="text" name="fullname" value='<? echo $row['name']; ?>'>

I get the name returned properly. However, if I change John O'Conner to John O"Conner, I have the same exact problem. I could filter out the quotes, but I have other fields that can have either a single or double quote. What is the solution here? Or what am I doing wrong?

homeless

3:34 am on Nov 7, 2009 (gmt 0)

5+ Year Member



try

value="..."

instead of

value='...'

your browser is probably confused.

salewit

4:31 am on Nov 7, 2009 (gmt 0)

10+ Year Member



I tried it both ways!

If I make it value="..." and then the name is John O"Conner, I get the same exact problem: John O

TheMadScientist

4:49 am on Nov 7, 2009 (gmt 0)

WebmasterWorld Senior Member themadscientist is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month



$fullname = "John O'Conner";
$fullname = htmlentities($fullname,ENT_QUOTES);
echo $fullname;
 

Featured Threads

Hot Threads This Week

Hot Threads This Month