当前位置: 首页 > 知识库问答 >
问题:

如何仅在单击“提交”按钮时插入数据?[副本]

赵健柏
2023-03-14

我面临一些问题,你可以很容易地解决这个问题。我使其在第一次查看时工作良好的表单,因为它在单击提交按钮时将数据存储在数据库中。我还可以在刷新配置文件页面后存储数据。我认为如果代码只在点击提交按钮时执行,而不在刷新页面时执行,那么问题就解决了。但我不知道怎么做。

轮廓php

<?php
 include('session.php');
 include('frnd.php');
 if(!isset($_SESSION['login_user'])){
 header("location: index.php"); // Redirecting To Home Page
 }
 ?>

<!DOCTYPE html>
<html>
<head>
 <title>Your Home Page</title>
 <link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
 <span><?php echo $error; ?></span>
 <div id="profile">
  <b id="welcome">Welcome : <i><?php echo $login_session; ?></i></b>
  <b id="logout"><a href="logout.php">Log Out</a></b>
 </div><br>
 <form action="" method="post">
 <input type="text" name="frndIn" required><input type="submit" name="add">
 </form>
</body>
</html>

Frnd.php

 <?php
  $error = ''; // Variable To Store Error Message
  if (isset($_POST['add'])) {
  if (empty($_POST['frndIn'])) {
  $error = "Please enter username of your friend";
  }
  else
  {
  $frndIn = $_POST['frndIn'];
  // mysqli_connect() function opens a new connection to the MySQL server.
  $conn = mysqli_connect("localhost", "root", "", "msg");
  $query = "INSERT INTO friend (username, friend) values (?,?)";
  // To protect MySQL injection for Security purpose
  $stmt = $conn->prepare($query);
  $stmt->bind_param("ss", $login_session, $frndIn);
  if ($stmt->execute()) 
       {
            echo "New record inserted successfully";
       } 
  else 
       {
            $error = 'Error occur';
       }
  mysqli_close($conn); // Closing Connection
  }
  }
  ?>

编辑:我使用POST/Redirect/GET方法解决了这个问题。这个视频(https://www.youtube.com/watch?v=bIkqNHyj25w)这很有帮助。

共有1个答案

端木野
2023-03-14

验证并成功插入Frnd.php数据库后,需要将用户/客户端重定向回Profile.php.

 类似资料:
  • 问题内容: 我有一个HTML表单,其中使用了几个按钮。问题是,无论我单击哪个按钮,即使该按钮的类型不是“ submit”,也将提交表单。例如:之类的按钮,导致表单提交。 为这些按钮中的每个按钮执行一次操作是非常痛苦的。 我使用jQuery和jQuery UI,并且网站使用HTML5。 有没有办法禁用这种自动行为? 问题答案: 像按钮 是 提交按钮。 设置以改变它。是默认值(由HTML建议指定)。

  • 问题内容: 我的页面上有几个按钮,但是我不确定如何知道单击了哪个按钮。这是我的两个按钮的标记: 问题答案: 使用类似如下的HTML表单: 使用的PHP代码如下所示: 您应该始终 假定或默认为第一个提交按钮以HTML源代码的形式出现 。实际上,在以下情况下,各种浏览器会可靠地发送带有发布数据的提交按钮的名称/值: 用户使用鼠标或定位设备从字面上单击提交按钮 或者将焦点放在“提交”按钮(它们在选项卡上

  • 我在使用回发时遇到问题,因为我有多个表单,只能使用按钮。 如果我使用我的代码可以正常工作,但是如果我将名称更改为其他名称,将始终为false,为什么会发生这种情况? 编辑: 编辑2: 例如,此处,按预期工作(我可以保留值)为name=“submit”,如果按钮提交时(isset($\u POST['submit'])为true,但如果我同时更改name=”“和if(isset($\u POST['

  • 编辑:底部的解决方案 这是一个跳棋游戏。单击一个按钮后,它等待单击第二个按钮与之交换。然而,有时你可能不想移动那个按钮,但一旦你点击了它,就没有回头路了,因为我无法禁用它。 在这里的其他帖子中,我看到人们使用 这只是使它在第一次单击后不可见。 这什么都干不了。 这也没什么用。编辑:所有这些方法都用true和false进行了尝试。 私有无效交换(){ 但你也需要 这样它就重新启用了它,或者其他什么,

  • 我想知道在将数据插入数据库时按下键盘的“完成”按钮时,我该怎么办? 我在这里使用多个编辑文本,当遇到最后一个编辑按钮时,我必须将所有数据插入数据库。

  • 问题内容: 我正在尝试编写Django应用程序,而我却被困在单击按钮时如何调用视图函数。 在我的模板中,我有一个如下所示的链接按钮,单击该按钮会将您带到另一个网页: 单击按钮时,我还想调用Django视图函数(以及重定向到目标网站)。查看功能使数据库中的值增加,该值存储了单击按钮的次数。 该是到外部网站(如链接 www.google.com )。现在,单击该按钮时,它将打开一个新窗口,该窗口将您带