如何使用 $_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不返回任何内容

在同一页面上设置后立即获取 ID

如何在 php 中将“$_POST”返回到同一页面或不同的结果页面? [关闭]

如何使用 $_FILES 在其他页面上传递值

如何通过 jQuery+Codeigniter 获取值并显示在输入字段中?

如何将 php 变量传递给同一页面中的另一个表单?