Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用get将表单数据发送到mySQL_Php_Html_Mysql_Post_Get - Fatal编程技术网

Php 使用get将表单数据发送到mySQL

Php 使用get将表单数据发送到mySQL,php,html,mysql,post,get,Php,Html,Mysql,Post,Get,我想使用get通过php将用户输入的表单数据发送到mysql <form action="formtosql.php" method="get"> <div class="row"> <div class="form-group col-md-4"> <label for="001">Student name:</labe

我想使用get通过php将用户输入的表单数据发送到mysql

  <form  action="formtosql.php" method="get">
  <div class="row">
  <div class="form-group col-md-4">
    <label for="001">Student name:</label>
    <input type="text" class="form-control" id="001" name="sname">
  </div>
  </div>
  
<div class="row">
<div class="form-group col-md-4">
    <label for="002">Status:</label>
    <input type="text" class="form-control" id="002" name="sstatus">
  </div>
</div>
 

  <button type="submit" class="btn btn-primary">Submit</button>
 
</form>


学生姓名:
地位:
提交
php代码如下所示:

 <?php
    if ($_SERVER['REQUEST_METHOD'] == 'GET'){
        $name = $_GET['sname'];
        $stat = $_GET['sstatus'];
        
        
      
      // Connecting to the Database
      $servername = "localhost";
      $username = "root";
      $password = "";
      $database = "exam";

      // Create a connection
      $conn = mysqli_connect($servername, $username, $password, $database);
      // Die if connection was not successful
      if (!$conn){
          die("Sorry we failed to connect: ". mysqli_connect_error());
      }
      else{ 
       
        $sql = "INSERT INTO `estatus` (`name`, `status`, `date`) VALUES ('$name', '$stat', current_timestamp())";
        $result = mysqli_query($conn, $sql);

    
?>

我假设您在这里的同一脚本中同时生成表单和处理提交的值

如果我使用Post,则不会发生此错误

您检查了REQUEST_方法以确定是否正在处理该案例,即表单是否已提交

当您在表单上使用
method=“post”
时,您可以这样做-加载包含表单的页面的初始请求用于生成GET方法,提交时将使用post-因此可以区分这两种情况

但是,如果使用
method=“get”
,则两个请求(用于初始加载页面的请求和用于提交表单数据的请求)的方法相同,因此您不能再使用该方法来区分这两种情况

如果给submit按钮一个名称,那么可以检查(使用isset/empty)相应的参数是否存在,并使用该参数确定您正在处理的两种情况中的哪一种



但正如评论中已经提到的,对于在服务器端创建数据的请求,通常应该使用POST,而不是GET。在下面,您可以找到更深入的解释。

我假设您在同一个脚本中生成表单和处理提交的值

如果我使用Post,则不会发生此错误

您检查了REQUEST_方法以确定是否正在处理该案例,即表单是否已提交

当您在表单上使用
method=“post”
时,您可以这样做-加载包含表单的页面的初始请求用于生成GET方法,提交时将使用post-因此可以区分这两种情况

但是,如果使用
method=“get”
,则两个请求(用于初始加载页面的请求和用于提交表单数据的请求)的方法相同,因此您不能再使用该方法来区分这两种情况

如果给submit按钮一个名称,那么可以检查(使用isset/empty)相应的参数是否存在,并使用该参数确定您正在处理的两种情况中的哪一种



但正如评论中已经提到的,对于在服务器端创建数据的请求,通常应该使用POST,而不是GET。在下面,您可以找到更深入的解释。

如果要将数据插入表中,则在向数据库“发布”时应使用“发布”,而不是“获取”,而不是从数据库中“获取”。既然这对你有效,为什么要尝试切换到“获取”?您还需要查看准备好的语句,而不仅仅是将字符串连接到查询中。另外,如果日期始终是当前时间戳,则在表定义中将其设置为默认值,并将其完全排除在查询之外。所以我有点困惑,因为我只是一个初学者:(我不明白为什么要使用get方法而不是POST方法,因为POST方法在向服务器发送数据时比get更安全。我只是想知道在使用GETWarning时出现此错误的原因:您对参数化预处理语句非常开放,应该使用参数化预处理语句,而不是手动生成查询。它们由或b提供y.永远不要信任任何类型的输入!即使您的查询仅由受信任的用户执行。如果您要将数据插入表中,您应该在向数据库“发布”时使用“发布”而不是“获取”,而不是从数据库“获取”。既然这对您有效,为什么要尝试切换到“获取”?您还需要查看准备好的语句,而不仅仅是将字符串连接到查询中。此外,如果日期始终是当前时间戳,请在表定义中将其设置为默认值,并将其完全排除在查询之外。我在GET()中看到过几篇文章用于发送或打印数据。因此有点混乱,因为我只是一个初学者:(我不明白为什么要使用get方法而不是POST方法,因为POST方法在向服务器发送数据时比get更安全。我只是想知道在使用GETWarning时出现此错误的原因:您对参数化预处理语句非常开放,应该使用参数化预处理语句,而不是手动生成查询。它们由或b提供y.永远不要信任任何类型的输入!即使您的查询仅由受信任的用户执行。哦,好的一点,我从来没有想到过。因此,这些消息不是来自表单提交时,而是来自表单提交前的绘制时。哦,好的一点,我从来没有想到过。因此,这些消息不是来自表单提交时,而是来自是在提交之前绘制的。