[英]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.