急!!!!Smarty问题,表单无法传递参数。

hqulyc 2010-02-07 12:54:03
操作步骤, 从index.php连接转跳到test.php,点击input(checkout),测试参数传递

问题如下:
在本机能够正常输出size,quantity等参数, 但是放到服务器后,ids能够输出, size, quantity均无数值.

大家帮忙分析分析原因,在此先行谢过!!!!

PHP页面test.php
<?php
include('inc/common.php');

if(!empty($checkout)){
$len = count($ids);
for($i = 0; $i < $len; $i++)
{
if (empty($del[$i]))
{
$_SESSION['pid'][] = $ids[$i];
$_SESSION['quantity'][$ids[$i]] = $quantity[$i];
$_SESSION['size'][$ids[$i]] = $size[$i];
}
echo "id:".$ids[$i].",qt:".$quantity[$i].",size:".$size[$i]."\n";
}
exit;
}
display('test.html');
?>
模版html页面
<script type="text/javascript" src="js/jquery.js"></script>
<form name="form1" method="post" action="">

<input name="ids[]" type="hidden" id="ids" value="123">
<select name="size[]" id="size">
<option value="M" selected="selected">M</option>
<option value="L">L</option>
</select>
<input type="text" name="quantity[]" size="2" value="1" id="quantity"/>

<input name="ids[]" type="hidden" id="ids" value="456">
<select name="size[]" id="size">
<option value="L" selected="selected">M</option>
<option value="XL">L</option>
</select>
<input type="text" name="quantity[]" size="2" value="2" id="quantity"/>

<input type="hidden" name="checkout" id="checkout" value="" />
<input type="image" name="check" id="check" src="images/check.gif" onClick="$('#checkout').val('1');">
</form>
...全文
177 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqulyc 2010-02-10
  • 打赏
  • 举报
回复
引用 8 楼 jlzan1314 的回复:
"大有可能是这个问题,待我跟空间商确认后,是的话就解贴!不过现在的空间商一般都是开打的。 "
你错了,一般的虚拟机这个是关闭的.用变量形式很容易和其他的变量区别..多写一些字符而已...
你用ini_set放在common.php中看下.行的话,皆大欢喜.


register_globals = on
==================
这个是有打开了,phpinfo看到了
jlzan1314 2010-02-08
  • 打赏
  • 举报
回复
"大有可能是这个问题,待我跟空间商确认后,是的话就解贴!不过现在的空间商一般都是开打的。 "
你错了,一般的虚拟机这个是关闭的.用变量形式很容易和其他的变量区别..多写一些字符而已...
你用ini_set放在common.php中看下.行的话,皆大欢喜.
骄傲青蛙 2010-02-07
  • 打赏
  • 举报
回复
貌似空间商一般都不让你随便修改php.ini的
hqulyc 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jnkc 的回复:]
引用 4 楼 hqulyc 的回复:
引用 3 楼 jnkc 的回复:
将表单发送来的东西都改成$_POST['表单名'],还是php.ini配置不一致带来的问题

php.ini配置可能会导致这种问题?

对,具体说是php.ini中的register_globals,估计你的是on,服务器是off

手册上说:
register_globals boolean
决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。

PHP » 4.2.0 开始,本选项默认为 off。

使用 Register Globals
可能 PHP 中最具争议的变化就是从 PHP » 4.2.0 版开始配置文件中 register_globals 的默认值从 on 改为 off 了。对此选项的依赖是如此普遍以至于很多人根本不知道它的存在而以为 PHP 本来就是这么工作的。本节会解释用这个指令如何写出不安全的代码,但要知道这个指令本身没有不安全的地方,误用才会。

当 register_globals 打开以后,各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但 PHP 社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是 register_globals 的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。

[/Quote]
大有可能是这个问题,待我跟空间商确认后,是的话就解贴!不过现在的空间商一般都是开打的。
江南昆虫 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hqulyc 的回复:]
引用 3 楼 jnkc 的回复:
将表单发送来的东西都改成$_POST['表单名'],还是php.ini配置不一致带来的问题

php.ini配置可能会导致这种问题?
[/Quote]
对,具体说是php.ini中的register_globals,估计你的是on,服务器是off

手册上说:
register_globals boolean
决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量。

PHP » 4.2.0 开始,本选项默认为 off。

使用 Register Globals
可能 PHP 中最具争议的变化就是从 PHP » 4.2.0 版开始配置文件中 register_globals 的默认值从 on 改为 off 了。对此选项的依赖是如此普遍以至于很多人根本不知道它的存在而以为 PHP 本来就是这么工作的。本节会解释用这个指令如何写出不安全的代码,但要知道这个指令本身没有不安全的地方,误用才会。

当 register_globals 打开以后,各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的,这就使得更容易写出不安全的代码。这是个很艰难的抉择,但 PHP 社区还是决定默认关闭此选项。当打开时,人们使用变量时确实不知道变量是哪里来的,只能想当然。但是 register_globals 的关闭改变了这种代码内部变量和客户端发送的变量混杂在一起的糟糕情况。
hqulyc 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jnkc 的回复:]
将表单发送来的东西都改成$_POST['表单名'],还是php.ini配置不一致带来的问题
[/Quote]
php.ini配置可能会导致这种问题?
江南昆虫 2010-02-07
  • 打赏
  • 举报
回复
将表单发送来的东西都改成$_POST['表单名'],还是php.ini配置不一致带来的问题
hqulyc 2010-02-07
  • 打赏
  • 举报
回复
dingding

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧