首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP与模板与代码加密/优化 » [求助]为什么form表单中的变量值传不过去?  


  作者:阿代
  注册时间:2004-11-04
  主题/回复:22/32
  积分:542
  等级:★★☆(五级)
  称号:略有小成

  daiwei988780@163..
  17201846
  www.it-cn.com http://www.cndongbei.com

 

 发表:2004-11-11 23:45:38 阅读 4128 次 回复 8 次 得分4  |   字号 字色
[求助]为什么form表单中的变量值传不过去?
    小弟在调试一个注册登陆系统,但form表单中变量的值却不能传给check.php,查了一些资料如下:

////////////////////////////////////////////////

   在 FORM 中输入的资料,要怎么处理呢?要是在 PHP 的设定档中,track_vars 设为 On 时,直接使用变数名字就好了。如下例,next.php 在执行时,系统会自动产生二个变数 $username 及 $sex,直接使用就好了,<form action=next.php method=post>
姓名: <input type=text name="username"><br>
性别: <input type=text name="sex"><br>
<input type=submit>
</form> 

////////////////////////////////////////////////////
但我从本站下载的php.ini中没有此项,请大虾指点!
 
 1#楼  
 
  回复人:海天旭日
  注册时间:2004-04-06
  主题/回复:69/145
  积分:1508
  等级:★★★★(八级)
  称号:论坛才子

   
 1#楼 发表于2004-11-12 02:14:53  评分:1 

不妨把next.php的代码也贴出来看看。
 2#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 2#楼 发表于2004-11-12 02:40:45  评分:1 

你看的文章太过时了。
大概是PHP3以前的版本吧。

关于在php中用表单或者get方法传递数据的方法,我曾经写过一篇详细介绍文章,可能你没有注意。可以参考这篇文章:

  手记:用POST和GET方法在页面间传/收数据彻底教程
  http://www.17php.com/bbs/show_title.php?id=34
  
 3#楼  
 
  回复人:slopesun
  注册时间:2004-09-07
  主题/回复:58/67
  积分:753
  等级:★★★(六级)
  称号:声名鹊起

   
 3#楼 发表于2004-11-13 20:55:48  评分:1 

我刚才看了http://www.17php.com/bbs/show_title.php?id=34
还有一点小问题:
1.session_rgister变量是不是一定要用$_SESSION['foo']来传递
2.除了GET,POST,SESSION,SERVER,还有什么其他的传递方法?  
 4#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 4#楼 发表于2004-11-14 01:04:45  评分: 


 我的观点:
   1、是的。
   2、就我所知,这些方法已经足够用了


 另外:我不知道你是不是问如何使PHP自动注册FORM表单提交的数据。这种用法在PHP3以前是允许的。你的表单项目可以被PHP自动注册为一个变量,到了提交页面可以直接使用。但是这种做法由于大大降低了安全性,因此在PHP4以后的版本中被默认取消。也就是你说的track_vars 。到了PHP4,已经不称做track_vars ,叫做 global_register (记不清了 )。这个设置默认是关闭的,而且PHP官方文档强烈建议不要打开此项。而使用$_POST[]和$_GET[]的方法接收变量。
 5#楼  
 
  回复人:夜精灵
  注册时间:2004-12-09
  主题/回复:3/8
  积分:423
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密
 5#楼 发表于2004-12-09 17:51:49  评分:1 

你好.版主.我也看了您写的http://www.17php.com/bbs/show_title.php?id=34
这篇文章.帮我解决了不小的问题.可是问题还是有.比如以下代码中.多选会
出现"你在3工作"的样子.还有性别一直是先生.请问我这要怎么解决.谢谢
<html>
<head>
<title>提交表章</title>
</head>

<body>
<form method="POST" action="formanswer.php">
  <p>请输入你的性名:<input name="name" type="text" size="12" maxlength="12"></p>
  <p>请输入你的密码:<input name="passwd" type="password" size="12" maxlength="12"></p>
  <p>你 的 性 别: 
   <input name="sex" type="radio" value="1">
    男 
    <input name="sex" type="radio" value="2">
    女</p>
   <p>请你工作单位性质:
    <select name="job" size="1">
  <option value="1" selected>国有企业</option>
  <option value="2">私营企业</option>
  <option value="3">外资企业</option>
  <option value="4">合资企业</option>
    </select>
  </p>
  <p><input type="submit" value="提交"></p>
</form>
</body>
</html>
\-----------------------------------------------------------
formanswer.php
\---------------------------------------------------------
<html>
<head>
<title>表单的回应</title>
</head>
<body>

<?php
  echo'<p>';
  echo $_POST["name"];
  if($_POST["sex"]=1)
 $_POST["surname"]="先生";
  else
 $_POST["surname"]="女士";
  echo $_POST["surname"];
  echo',你好.你的密码是';
  echo $_POST["passwd"];
  echo'</p>';
  echo'<p>';
  echo'你在'.$_POST["job"].'工作';
  echo'</p>';
 ?>
</body>
</html>
 6#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 6#楼 发表于2004-12-10 03:16:16  评分: 

你这个 问题出在:

1、PHP中比较相等,是用==而不是=,所以 
if($_POST["sex"]=1)是错误的。
应该是:
if($_POST["sex"]=="1")  //注意,是"1",因为传递过来的是一个字符串

以上的错误导致了出现 “性别一直是先生”的问题。。

还有错误,至于"你在3工作",是因为你的<select>中,value="3"......
改成:
 <option value="国有企业" selected>国有企业</option>
  <option value="私营企业">私营企业</option>
  ..............
就行了。。这完全和接受没有关系,是由于你对form表单的一些控件使用不熟悉。
 7#楼  
 
  回复人:夜精灵
  注册时间:2004-12-09
  主题/回复:3/8
  积分:423
  等级:★★☆(五级)
  称号:略有小成

用户联系方式已设置为保密
 7#楼 发表于2004-12-10 17:01:39  评分: 

很感谢版主的回复.是的.一直是用dreamweaver做.最近我才研究语句方面的东西..您对我的回复表示一万分的感谢
 8#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 8#楼 发表于2004-12-15 18:35:48  评分: 

呵呵,学程序,本来就的比较关注语句。
现在研究也不晚
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.013sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版