解决form中action属性后面?传递参数 获取不到的问题

yipeiwu_com5年前PHP代码库

如下所示:

$p_id = $_REQUEST['p_id'];

echo "<h1>您将更新商品编号为<span>$p_id</span>的商品信息 <a href='listproduct.php'>查看所有</a></h1>
<form action='updateproduct.do.php?p_id=$p_id' method='get'> 
 商品名称:<input type='text' name='p_name' value='".$result_name2["name"]."'>商品名称小于10个字<br><br>
 商品价格:<input type='text' name='p_price' value='".$result_price2["price"]."'>价格大于0且小于99999.99(保留两位小数)<br><br>
 图片:<input type='text' name='p_pic' value='".$result_pic2["pic"]."'>请输入图片src<br><br>
 生产日期:<input type='text' name='p_date' value='".$result_onShelfDate2["onShelfDate"]."'>格式:yyyy-mm-dd<br><br>
 详细信息:<input type='text' name='p_detail' value='".$result_detail2["detail"]."'>详细信息请保持在50字以内<br><br>
 <button>提交</button>
</form>";
?>

如上代码,想要在点击button提交跳转到updateproduct.do.php的同时,将本页获取的$p_id,通过url值传到下个页面里。可是每次点击button后 地址栏里都只有 “ updateproduct.do.php?p_name=11&p_price=22&p_pic=33&p_date=44&p_detail=55 ”

p_id怎么都传不过去。折腾了半天,其实原因很简单,(以下为个人理解,但是问题解决了)在method=get下,form表单只接收表单元素”name“属性和相应的”value“。想要通过在action中自己写?的形式传值,method的值必须是=post,即代码中第二行改为:

<form action='updateproduct.do.php?p_id=$p_id' method='post'>

改成这样就可以了!

以上这篇解决form中action属性后面?传递参数 获取不到的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

使用WAMP搭建PHP本地开发环境

使用WAMP搭建PHP本地开发环境

写在前面的话 PHP是服务器脚本语言,所以需要在服务器上才能运行。作为新手,搭建服务器可能需要捣腾很久,有可能还搞不定。所以在入门阶段,为了把更多时间用在熟悉编程语言上,使用集成环境是最...

php mb_substr()函数截取中文字符串应用示例

substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以,用法与substr()相似,只是在函数最后要加入多一个参数,以...

PHP中error_log()函数的使用方法

本文实例讲述了PHP中error_log()函数的使用方法。分享给大家供大家参考。具体分析如下: 今天遇到一个问题需要调试,但是只能通过日志打印调试,就用到了error_log这个函数...

php格式输出文件var_export函数实例

本文实例讲述了php格式输出文件var_export函数的用法。分享给大家供大家参考。具体如下: var_export:php 4 >= 4.2.0, php 5 var_expo...

php闭包中使用use声明变量的作用域实例分析

本文实例讲述了php闭包中使用use声明变量的作用域。分享给大家供大家参考,具体如下: <?php function getClosure($i) { $i =...