Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
Javascript 如何从html表单执行php查询?_Javascript_Php_Html_Mysql_Sql - Fatal编程技术网

Javascript 如何从html表单执行php查询?

Javascript 如何从html表单执行php查询?,javascript,php,html,mysql,sql,Javascript,Php,Html,Mysql,Sql,我知道php是服务器端语言,html是客户端语言,要做到这一点,我会使用javascript,但我不知道怎么做。 有人能帮我写一个名为changeFunction()的脚本吗 这是我在index.php中的表单: 插入用户名 将帐户类型转换为: 选择。。。 管理 使用者 提交 这是我在query.php中的查询: 您可以使用PHP执行此操作,但需要检查$\u POST数据 if(isset($_POST['inputGroupSelect01']) && isset($_PO

我知道php是服务器端语言,html是客户端语言,要做到这一点,我会使用javascript,但我不知道怎么做。 有人能帮我写一个名为changeFunction()的脚本吗


这是我在index.php中的表单:


插入用户名
将帐户类型转换为:
选择。。。
管理
使用者
提交
这是我在query.php中的查询:


您可以使用PHP执行此操作,但需要检查$\u POST数据

if(isset($_POST['inputGroupSelect01']) && isset($_POST['inputUser;]){
$var1= $_POST["inputGroupSelect01"];
 $var2= $_POST["inputUser"];
 require 'connection.php';
 $sql = "UPDATE user SET typeAcc =".$var1." WHERE username=".$var2;
}
顺便说一句,这段代码完全容易受到攻击。您将从用户获取2个输入,并直接将它们放置在SQL查询中


如果我对var2的输入是
”;删除表用户

我希望这是您想要的解决方案

首先在html表单中添加以下div

因此,您的html表单代码如下所示

<form method="POST" >
        <div class="row"style="margin-top: 5%;">
            <div class="col-3">
                <h2>Testing Form</h2>
            </div>
            <div class="col-6">
               <label for="inputUsername">Insert username</label>
               <input type="text" class="form-control" name="inputUser" style="margin-bottom: 2%" id="inputUser">
               <div class="input-group mb-3">
                <div class="input-group-prepend">
                  <label class="input-group-text" for="inputGroupSelect01">Convert account type to: </label>
                </div>
                <select class="custom-select" id="inputGroupSelect01" name="inputSelected">
                  <option selected>Choose...</option>
                  <option value="admin">Admin</option>
                  <option value="user">User</option>
                </select>
                   <button type="button" class="btn btn-outline-primary" onclick="changeFunction()">Submit</button>
              </div>
              <!-- this need to be added -->
              <div id='resultDiv' ></div>
            </div>
            <div class="col-3">
            </div>
        </div>
    </form>
**第三**您必须使用以下代码编写新的
server.php
文件

<?php     
    $var1= $_POST["userId"]; // change here userId as used in jquery block 
    $var2= $_POST["userRole"];// change here userRole as used in jquery  Block
     //require 'connection.php';
     $sql = "UPDATE user SET typeAcc =".$var1." WHERE username=".$var2;

    //suppose query is executed successfull then 
    //it will return no of rows updated


   $query_result = mysql_query($query);
   //SUCCESS_CONDITION is normally if number of row updated is 1 in return 
   ///of query execution so kindly define by your own way 

   $num_rows = mysql_num_rows($query_result);
   //if($num_rows==1 || define your own SUCCESS_CONDITION){
   if($num_rows ==1){ 
     $result ='SUCCESS';
   }else{
      $result ='ERROR';
   }

  echo $result;
?>

我希望这会有帮助 谢谢 如果需要,请寻求帮助


请知道SO不是教程服务,您不需要JavaScript。添加PHP页面作为其操作。提交表格。然后可以使用$\u POST中的变量。它起作用了。我编辑了您的一小部分PHP代码,因为它对我不起作用;我还编辑了查询:$sql='updateusersettypeacc=“”。$var1.”其中username=“”。$var2';
<form method="POST" >
        <div class="row"style="margin-top: 5%;">
            <div class="col-3">
                <h2>Testing Form</h2>
            </div>
            <div class="col-6">
               <label for="inputUsername">Insert username</label>
               <input type="text" class="form-control" name="inputUser" style="margin-bottom: 2%" id="inputUser">
               <div class="input-group mb-3">
                <div class="input-group-prepend">
                  <label class="input-group-text" for="inputGroupSelect01">Convert account type to: </label>
                </div>
                <select class="custom-select" id="inputGroupSelect01" name="inputSelected">
                  <option selected>Choose...</option>
                  <option value="admin">Admin</option>
                  <option value="user">User</option>
                </select>
                   <button type="button" class="btn btn-outline-primary" onclick="changeFunction()">Submit</button>
              </div>
              <!-- this need to be added -->
              <div id='resultDiv' ></div>
            </div>
            <div class="col-3">
            </div>
        </div>
    </form>
 <script src="https://code.jquery.com/jquery-3.3.1.min.js" 
     integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="   
      crossorigin="anonymous"></script> 

    <script type='text/javascript'>

           function changeFunction(){
          var userName = $('#inputUser').val();
          var role     =$('#inputGroupSelect01').val();

         $.ajax({
           method: "POST",
           url: "server.php",
           data: JSON.stringify( { "userId": userName, "userRole": role } ),
           dataType: "text",

           success: function (response){
               if(response=='SUCCESS'){
                  $('#resultDiv').append('<br/>Successful Updated'+response);

            }else{
                $('#resultDiv').append('<br/>Error'+ response);
            }
        }

        });
      }
  </script>
<?php     
    $var1= $_POST["userId"]; // change here userId as used in jquery block 
    $var2= $_POST["userRole"];// change here userRole as used in jquery  Block
     //require 'connection.php';
     $sql = "UPDATE user SET typeAcc =".$var1." WHERE username=".$var2;

    //suppose query is executed successfull then 
    //it will return no of rows updated


   $query_result = mysql_query($query);
   //SUCCESS_CONDITION is normally if number of row updated is 1 in return 
   ///of query execution so kindly define by your own way 

   $num_rows = mysql_num_rows($query_result);
   //if($num_rows==1 || define your own SUCCESS_CONDITION){
   if($num_rows ==1){ 
     $result ='SUCCESS';
   }else{
      $result ='ERROR';
   }

  echo $result;
?>