新足迹

 找回密码
 注册

精华好帖回顾

· 今天我生日,收到一个丑丑的蛋糕...... (2009-6-3) 萱草无忧 · 笔记本电脑DIY换液晶显示屏灯管 (2010-4-8) 羽人
· 近日小菜-生炸云吞、K三文鱼汤、手工大肉包、香菇腐竹炖大肉、肉燥卤蛋、凉拌牛舌 (2007-7-2) 豆豆猫 · 牙医诊所补牙流水帐 (2006-3-23) 魅影妖瞳
Advertisement
Advertisement
查看: 1660|回复: 16

求教PHP问题 [复制链接]

发表于 2011-1-13 14:53 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
刚刚改了一个网站的注册程序,用户可以在网站主页输入email地址,submit以后网站转到注册页,用户接着输入用户名,密码等其他信息。

现在的问题是用户在主页输入的email地址中的@符号无法继承到注册页,其他字符都可以。而且这个问题只在IE出现,firefox,safari都没有问题。

我用$_GET提取text box的value,不懂为什么@符号总是提取不到。。。

具体网址是:www.breakfastwithaudrey.com.au

注册模块在右上角。
Advertisement
Advertisement

特殊贡献奖章

发表于 2011-1-13 15:32 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你试一下用urldecode($_GET['user_email'])看看

发表于 2011-1-13 15:41 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-1-13 15:32 发表
你试一下用urldecode($_GET['user_email'])看看


多谢,可是在哪个文件用呢?

我是在homepage用了个form,action到注册页,然后在注册页提取email值。在注册页用你给的代码显然不行,因为url里已经没有@符号了。

在主页里也没法用啊,我在主页的程序是这样的:

<form method="get" action="www.breakfastwithaudrey.com.au/index.php/login">
    <input type="hidden" value="register" name="action"/>
    <input type="text" id="user_email" name="user_email" value="Enter your email" onfocus="if (this.value == 'Enter your email') this.value = '';">&nbsp;&nbsp;
    <input type="image" src="/img/enter.gif" align="top"/>
</form>

发表于 2011-1-13 15:50 |显示全部楼层
此文章由 outlaw2010 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 outlaw2010 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这个系统好像是wordpress作的

查一下手册,无非是login模块或者register模块

疑似js或者controller里面的预处理存在冲突

发表于 2011-1-13 15:59 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 outlaw2010 于 2011-1-13 15:50 发表
你这个系统好像是wordpress作的

查一下手册,无非是login模块或者register模块

疑似js或者controller里面的预处理存在冲突


是wordpress做的。

不明白冲突在哪里,这不是网页上经常见的功能嘛,怎么到我这里就不行了呢,而且firefox和safari上都好好的啊。

特殊贡献奖章

发表于 2011-1-13 16:04 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 good_guy 于 2011-1-13 15:41 发表


多谢,可是在哪个文件用呢?

我是在homepage用了个form,action到注册页,然后在注册页提取email值。在注册页用你给的代码显然不行,因为url里已经没有@符号了。

在主页里也没法用啊,我在主页的程序是这样的:


   
    &nb ...

@就在url里就是%40
你在提取的时候decode就得到了
Advertisement
Advertisement

发表于 2011-1-13 16:08 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-1-13 16:04 发表

@就在url里就是%40
你在提取的时候decode就得到了


可是问题是我的url里面根本没有%40啊。。。

这是我的url:http://www.breakfastwithaudrey.c ... ter&user_email=ssss.ss&x=12&y=16

我输入的是ss@ss.ss

特殊贡献奖章

发表于 2011-1-13 16:18 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我现在没有ie,看不到这个问题
你要不试试改成用$_POST

这种form一般都用post

发表于 2011-1-13 16:26 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-1-13 16:18 发表
我现在没有ie,看不到这个问题
你要不试试改成用$_POST

这种form一般都用post


我之前就用的是$_POST,可是因为注册页上都是用$_POST的,这个email一进去,上面好几个错误信息出来,因为没有输入用户名和密码。客户不希望一进去就看到错误信息,所以要我改。。。

我看这个网站http://www.whowhatwear.com就用的是$_GET,人家就用的好好的。。。

特殊贡献奖章

发表于 2011-1-13 16:38 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
一般情况$_GET当然可以用
你这个我也不知道是什么问题,我现在没有ie

你把这个form的代码
<form method="get" action="www.breakfastwithaudrey.com.au/index.php/login">
    <input type="hidden" value="register" name="action"/>
    <input type="text" id="user_email" name="user_email" value="Enter your email" onfocus="if (this.value == 'Enter your email') this.value = '';">  
    <input type="image" src="/img/enter.gif" align="top"/>
</form>
另存为一个本地文件再试试
如果还是不行,就把action也改成本地文件,然后看看url里有没有%40

发表于 2011-1-13 16:56 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本地文件没有问题,url里没有%40,直接是@。难道是wordpress的问题?
Advertisement
Advertisement

特殊贡献奖章

发表于 2011-1-13 17:19 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果是wp的问题,要找到对ie有没有什么特殊的处理
如果不容易找到
我建议你把post的那些错误处理一下,用post比较好

发表于 2011-1-13 17:58 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好吧,我再看看,多谢了!!!

发表于 2011-1-13 20:34 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
问题找到了,原来action的文件地址后面少了个斜杠,改成<form method="get" action="www.breakfastwithaudrey.com.au/index.php/login/">就好了。

这样的问题太奇怪了,害我浪费了一个下午时间!

特殊贡献奖章

发表于 2011-1-13 21:44 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我试了一下发现ie不会把@ encode直接显示@,ff和safari会把它encode成%40
可能wp的route控制里有什么地方把@作为非法字符给略掉了
所以你在ie和ff里得到不同效果
加了个斜杠可能就跳过这个控制
我用其他的网站有没有斜杠都会显示@

发表于 2011-1-13 23:43 |显示全部楼层
此文章由 good_guy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 good_guy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
IE总是最麻烦的一个,什么浏览器都没问题了,IE也会有点儿问题,我对IE真是无语了。。。

不管怎样,多谢老大,以后还要向你多多请教啊。
Advertisement
Advertisement

发表于 2011-1-18 15:25 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
来晚了

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部