[英]PHP pass variable through URL
我理解PHP URL是如何工作的 - 我认为......但是我在获取要在下面的示例中传递的变量的实际值时遇到了问题。
注意:我将以下表单添加到数据单元格中(作为通过PHP读取的表的一部分)。
$currentrowid = 1;
echo '<td>
<div class="editdelete">
<form action="phpindex.php?page=edit&thisrow=<?php echo $currentrowid;?>" method="post">
<input type="submit" value="Edit" >
</form>
</div>
</td>';
...用于读取上述表单输出的URL的其他部分代码:
$val = $_POST['thisrow'];
echo "the value is: " .$val; //Outputs "$currentrowid"
因此,正如您所看到的,代码返回传递的变量的实际名称 ,而不是传递的变量的值。
这里有什么想法?
由于您已经在PHP块中,因此不应将变量包装在<?php ... ?>
。 这会给你一个错误。
要使其工作,您可以选择以下两个选项中的一个:
1)字符串连接:
echo '... <form action="phpindex.php?page=edit&thisrow='.$currentrowid.'" method="post"> ...';
2)用"
(双引号)代替'
(单引号)包裹你的字符串:
echo "... <form action=\"phpindex.php?page=edit&thisrow=$currentrowid\" method=\"post\"> ...";
请注意,第二种方法强制您转义字符串中的所有双引号。
2点。
<form action="index.php?thisrow=<?php echo $currentrowid ?>" method="post">
如上所述,
<form action="index.php?thisrow=<?php echo $currentrowid; ?>" method="post">
是正确的。 这背后的原因是你逝去的HTML,你必须使用回声从 PHP输出到HTML。 否则你只是得到你所放的东西,即$ currentrowid。
这不是最简单的方法,而是解决问题的快捷方法。 将表单方法更改为get method="get">
,然后
$val = $_GET['thisrow'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.