【问题标题】:How to use $_POST to get input values on the same page如何使用 $_POST 在同一页面上获取输入值
【发布时间】: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 中显示任何值

标签: php post send


【解决方案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文件中。我在原始答案中提到了显示用户输入的代码。如果您认为它有帮助,请接受我的回答。
猜你喜欢
  • 1970-01-01
  • 2013-04-29
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多