麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
Php中变量的传递小结
悬赏分:20 - 2007年08月13日

希望能给PHP初学者提供一点帮助。 一. 表单传递 当一个表单提交给 PHP 脚本时,表单中的信息会自动在脚本中可用。 例: 一个简单的 HTML 表单 [PHP]

Name:
Email:
[/PHP] 有很多种方法访问 HTML 表单中的数据。例如: 例:. 从一个简单的 POST HTML 表单访问数据 [PHP] <?php // 自 PHP 4.1.0 起可用 print $_POST['username']; print $_REQUEST['username']; import_request_variables('p', 'p_'); print $p_username; // 自 PHP 3 起可用 print $HTTP_POST_VARS['username']; // 如果 PHP 指令 register_globals = on 时可用。不过自 // PHP 4.2.0 起默认值为 register_globals = off。 // 不提倡使用/依赖此种方法。 print $username; ?> [/PHP] 使用 GET 表单也类似,只不过要用适当的 GET 预定义变量。 当提交表单时,可以用一幅图像代替标准的提交按钮,用类似这样的标记: 当用户点击到图像中的某处时,相应的表单会被传送到服务器,并加上两个变量 sub_x 和 sub_y。它们包含了用户点击图像的坐标。有经验的用户可能会注意到被浏览器发送的实际变量名包含的是一个点而不是下划线,但 PHP 自动将点转换成了下划线。 二. 网址传递 next 可用 $_GET['id'] 和$_GET['name']访问GET 的数据。 三. Cookie 传递 1、 设置Cookie 简单的: SetCookie("MyCookie", "Value of MyCookie");   带失效时间的: SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时   什么都有的: SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1);   如果要设置同名的多个Cookie,要用数组,方法是: SetCookie("CookieArray[0]", "Value 1"); SetCookie("CookieArray[1]", "Value 2"); 2、 接收和处理Cookie echo $_COOKIE[‘MyCookie’]; echo $_COOKIE[‘CookieArray[0]’]; echo count($_COOKIE[‘CookieArray’]); 3、删除Cookie 要删除一个已经存在的Cookie,有两个办法: 一是调用只带有name参数的SetCookie,那么名为这个name的Cookie 将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。 要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。 四. Session传递 test1.php [PHP] <? session_start(); session_register("count"); echo $count=0; ?> [/PHP] test2.php [PHP] <? session_start(); echo $count++; ?> [/PHP] 经过实验发现,PHP4的session只对当前打开的浏览器窗口有效(至少在W2K下的 IE5和NS6中是这样)。下面的代码可以实现session的跨窗口执行。 test1.php [PHP] <? session_start(); session_register("count"); setcookie("PHPSESSID",session_id(),time()+3600,"/","www.md.hl.cn"); echo $count=0; ?> [/PHP] 五. javascript变量传递到PHP脚本中 方法一: 先用PHP生成js代码,然后通过浏览器的自动刷新,将javascript变量传递到PHP脚本中。 [PHP] <?php if (isset($_GET['width']) AND isset($_GET['height'])) { // output the geometry variables echo "Screen width is: ". $_GET['width'] ."
\n"; echo "Screen height is: ". $_GET['height'] ."
\n"; } else { // pass the geometry variables // (preserve the original query string // -- post variables will need to handled differently) echo "<script language=\"javascript\">\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?> [/PHP] 方法二: 先用document.cookie方法把js变量写入cookie中,再用PHP取出。 这种方法适用于变量少的情况。 1. 在JAVASCRIPT中设置COOKIE:document.cookie="cookiename="+value+";path=/" 2. 在PHP中用$HTTP_COOKIE_VARS["cookiename"]的方式读取。 [PHP] <script> var name="myqq",value="66166457"; document.cookie=”myqq”+"="+value+";" </script> <?php echo "$_COOKIE[‘myqq’]\n"; $my="我的QQ是".$_COOKIE[‘myqq’]; echo $my; ?> [/PHP] 方法三: 通过表单中的隐藏域的value属性将需要传递的变量通过提交表单传递给PHP。 [PHP] <script langeuage="javascript"> function logon_sub(){ if( pass_check() ) { if(document.logon.f_over_clk.value=='0') { document.logon.f_over_clk.value='1'; document.logon.submit(); } } } </script>
[/PHP] 在logon_do.php页面就可以用$_POST[‘mullang’]取得这个变量了。 六.多个页面之间传递数组 可以把数组转化成字符串,作为一个参数来传递: - file1.php [PHP] <? ... $arg=implode(";", $parm); $link="file2.php?arg=$arg"; ?> [/PHP] - file2.php [PHP] <? $parm=explode(";", $arg); ... ?> [/PHP]

提问者:qiao   08-13 17:05
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
66 + 14 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM