解决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】。

相关文章

关于初学PHP时的知识积累总结

PHP基础一、初识PHPPHP是与HTML混合使用的嵌入式语言。1、PHP标记默认标记<?php ?> 短标记<? ?>,需在php.ini中将short_ope...

PHP批量上传图片的具体实现方法介绍.

大家可以通过下面这一段代码,来具体了解PHP批量上传图片的具体方式。我们在学习PHP的时候,肯定是要从实际操作中慢慢积累经验,以巩固我们所学到的知识,逐渐的加强我们的编程水平。 R...

PHP中应该避免使用同名变量(拆分临时变量)

当一个临时变量被赋值多次时,那么将其拆分成多个,除非它是一个循环计数器。 Motivation 临时变量有这多种不同的用途。比如它们可被用作循环中的计数器,在循环中保存结果集,亦或保存一...

php中解析带中文字符的url函数分享

很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接...

php实现快速对二维数组某一列进行组装的方法小结

本文实例总结了php实现快速对二维数组某一列进行组装的方法。分享给大家供大家参考,具体如下: 问题: 比如我二维数组是这样的: $user = array( '0'=> ar...