如何使用 $_POST 在同一页面上获取输入值
Posted
技术标签:
【中文标题】如何使用 $_POST 在同一页面上获取输入值【英文标题】:How to use $_POST to get input values on the same page 【发布时间】:2020-08-09 07:15:06 【问题描述】:我知道这个问题被重复了很多次,但是我搜索了很多主题,尝试了很多代码都没有结果。
首先,我从另一个页面获取要删除的行号,这里没有问题。
> if(!empty($_GET["del"]))
include("config.php"); $id
> =$_GET["del"];
>
> echo ' <ul data-role="listview" data-theme="a"> <li><p
> style="background-color: #FF0000; color:#ffffff" align="center"><font
> size="3" >Will it be permanently deleted?</font></p></li> </ul> ';
> $result = mysqli_query($con,"SELECT * FROM payment where id='$id'");
>
> ?>
>
> <div class="alert alert-dismissible alert-secondary">
>
>
> <table class="table table-hover">
> <thead>
>
> <tr class="table-active">
> <th scope="row">name</th>
> <td>amount</td>
>
> </tr>
>
> </thead>
> <tbody>
>
> <?php while($row = mysqli_fetch_array($result)) echo "<tr>"; echo
> "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['amount'] .
> "</td>"; echo "</tr>"; echo "</tbody>"; echo "</table>"; echo
> "</div>";
>
>
> mysqli_close($con);
>
> ?>
>
> <form action="pay.php" method="post" data-ajax='false'>
>
> <input type="hidden" name="id" id="id" value="<? echo $id;?>" />
> <center><input type="submit" name="del" id="del" value="Delete" />
> </center> </form>
>
>
> <button onclick="goBack()">Back</button> <script> function goBack()
> window.history.back(); </script>
这里的代码不起作用:
if(isset($_POST['del']))
$id = $_POST['id'];
$sql = "DELETE FROM payment WHERE id='$id'";
if ($con->query($sql) === TRUE)
echo '<p style="background-color: #00d855; color:#ffffff">Deletion successful</p>';
else
echo "Error deleting record: " . $con->error;
$con->close();
这里的代码都在一页pay.php上。
有什么帮助吗?
【问题讨论】:
使用 if(isset($_GET['del'])) $id = $_GET['id']; 谢谢,但我不喜欢在页面 url 中显示任何值 【参考方案1】:您的问题令人困惑,您是要删除一行还是要在同一页面上获取输入值。我假设既然您已经写过删除行没有问题,您想知道如何从同一页面上的表单中输入值。
假设您有一个带有method = "post"
的表单,那么您可以对任何名称为name = "myelement"
的元素使用以下代码:
<p>My element is: <?php echo $_POST['myelement']; ?> .</p>
我必须说我不能清楚地理解你的问题,所以我希望这就是你要找的。如果不是,请回复此内容,我会尽力帮助您。
【讨论】:
感谢您的关注,在另一个显示行的页面上,用户可以单击每一行的删除图标。当用户单击删除图标时,行号被发送到 pay.php 页面,这里接收到的值没有问题。但我不想直接删除,当用户单击按钮删除时,我显示了确认删除的数据。这与收到的行号在同一页上。 @rcweb 使用javascript confirm();
您可以使用内联javascript代码,您可以在按钮标签中添加以下代码:`onclick="return confirm('Are you sure you want to delete?')" `跨度>
谢谢brondibur 很好的解决方案,我将代码添加到删除按钮并显示确认消息。但是我如何知道用户输入以及删除代码应该放在哪里?
把删除代码放到你的php文件中。我在原始答案中提到了显示用户输入的代码。如果您认为它有帮助,请接受我的回答。以上是关于如何使用 $_POST 在同一页面上获取输入值的主要内容,如果未能解决你的问题,请参考以下文章
PHP - 提交日期/时间/从foreach循环中选择输入值到$ _POST不返回任何内容
如何在 php 中将“$_POST”返回到同一页面或不同的结果页面? [关闭]