|
查看: 1021|回复: 15
|
html + php 疑问
[复制链接]
|
|
|
想请问...
1)
在html text field..
那边..
如果有人输入
Hello's
如果我不mysql_real_escape_string() 和 get_magic_quotes_gpc
Hello's是不能顺利进入database..对吗??
现在问题是...
我还没进database时,
我要validate user.. 输入时的权限...
preg_match("#^[A-Za-z0-9-'.()&,/ ]+$#",$bname)
我写了这个code..
但是.. 在html里..
当user 输入 ' 就会自动变成 \'
我试过在preg_match加入 \
但是preg_match好像不接受 \
那我应该怎么办呢??
2)
除此之外...
我的database顺利进入 Hello's
因为我用了 get_magic_quotes_gpc 和 mysql_real_escape_string()
当user去edit page.. 我从database呼叫 Hello's
我在textfield.... <input type='text' class='' name='bankName' maxlength='40' size='40' value='$bankName'>
结果我的data就变成 Hello
's 不见了..
有什么办法可以解决呢??
[ 本帖最后由 wcpon 于 13-2-2009 01:20 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 13-2-2009 12:42 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-2-2009 01:18 PM
|
显示全部楼层
现在不是这个问题..
我已经有了这个function code..
可以顺利把 ' " 进入database..
现在问题是 HTML text field问题..
希望你可以读清楚我的问题...
帮帮忙.... |
|
|
|
|
|
|
|
|
|
|
发表于 13-2-2009 01:39 PM
|
显示全部楼层
preg_match 是用 // 吧
在 input 里用 "$xxxx"
[ 本帖最后由 vampcheah 于 13-2-2009 01:42 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-2-2009 02:40 PM
|
显示全部楼层
原帖由 vampcheah 于 13-2-2009 01:39 PM 发表 
preg_match 是用 // 吧
在 input 里用 "$xxxx"
你的意思是什么呢?
preg_match 可以用 //
但是 \ 就不可以...
你知道还有什么方法吗??
你说的 input $xxx 是什么意思???
如果你的data 里面有 "he"llo
怎么办? |
|
|
|
|
|
|
|
|
|
|
发表于 13-2-2009 02:57 PM
|
显示全部楼层
I know your problem
don't use "'" single quote, it will get <input value='Hello's'>, did you see got 3 single quote?so it will display only "Hello", and miss "'s"
try to make it like, <input value="Hello's">, so it will not confuse by itself, but it also cant work for double quote too.
[ 本帖最后由 junkiet 于 13-2-2009 03:31 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 13-2-2009 04:44 PM
|
显示全部楼层
原帖由 junkiet 于 13-2-2009 02:57 PM 发表 
I know your problem
don't use "'" single quote, it will get , did you see got 3 single quote?so it will display only "Hello", and miss "'s"
try to make it like, , so it will not confuse by itsel ...
为什么会这样的呢??
我刚才有试过 facebook...我尝试 changed profile...
我输入 "kuala lumpur", 'kuala lumpur', "kuala" lumpur, or 'kuala' lumpur
但是都没有问题... 都很顺利 display it from input field..
php 有没有一些special code 是可以解决这个问题的呢???
因为如果有user 要输入 Sister's
到时edit的时候在input field 就会显示 Sister 而已...
而 's 就不见了....
我试过 str_replace(" ' "," \' ",$swifts);
但是还是不可以....
 |
|
|
|
|
|
|
|
|
|
|
发表于 13-2-2009 06:03 PM
|
显示全部楼层
你要先明白为什么会消失  
你的 <input> 里 已经变成 value='kuala lumpur's'
那么你的 s 就不见了咯 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 14-2-2009 03:18 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 14-2-2009 05:32 PM
|
显示全部楼层
回复 9# wcpon 的帖子
<?php
echo "<form method=post action='index1.php'><input type=text name='x' value=''><input type=submit name='cmdok' value='ok'></form>";
if(isset($_POST['cmdok']) && $_POST['cmdok']== 'ok'){
$y = $_POST['x'];
echo $y;
}
?>
放kuala lumpur's是可以的。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 14-2-2009 07:31 PM
|
显示全部楼层
你这个方法..
很不全面....
但是也谢谢你的协助...
这里没有人会了吗?? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 15-2-2009 01:33 PM
|
显示全部楼层
有没有人会解决我的问题啊?? |
|
|
|
|
|
|
|
|
|
|
发表于 15-2-2009 02:14 PM
|
显示全部楼层
回复 12# wcpon 的帖子
应该是这个吧?
<?php
$str = "Kuala Lumpur's";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<input type=text name='x' value='".htmlspecialchars($str, ENT_QUOTES)."'>";
?>
[ 本帖最后由 asimo 于 15-2-2009 02:25 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 17-2-2009 02:30 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 17-2-2009 03:07 PM
|
显示全部楼层
不是说了吗?
<input value="Kuala Lumpur's">
注意 “ 和 ' 的运用 |
|
|
|
|
|
|
|
|
|
|
发表于 18-2-2009 03:38 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|