Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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 使按钮执行SQL语句_Php_Mysql_Button - Fatal编程技术网

Php 使按钮执行SQL语句

Php 使按钮执行SQL语句,php,mysql,button,Php,Mysql,Button,我在这里碰碰运气。我目前正在开发一个网站,人们应该能够发送消息,并添加一个用户作为朋友从该人的个人资料页。我有一个按钮,即使用basic子句的[addasfriend]。这样做的最佳解决方案是什么 例如,我希望SQL语句:在单击[Add this friend]按钮时插入到friends(uid、fid、isapproved)值(“1”、“2”、“1”) 我现在只使用php和MySQL。任何建议都是非常受欢迎的。谢谢,伙计们。 按钮调用javascript函数 Javascript函数将(AJA

我在这里碰碰运气。我目前正在开发一个网站,人们应该能够发送消息,并添加一个用户作为朋友从该人的个人资料页。我有一个按钮,即使用basic
子句的[addasfriend]。这样做的最佳解决方案是什么

例如,我希望SQL语句:
在单击[Add this friend]按钮时插入到friends(uid、fid、isapproved)值(“1”、“2”、“1”)

我现在只使用php和MySQL。任何建议都是非常受欢迎的。谢谢,伙计们。

  • 按钮调用
    javascript
    函数
  • Javascript
    函数将(
    AJAX
    ,可能使用jquery)发布到php文件“addfriend”
  • PHP
    文件执行
    mysql
    ,返回
    JSON
  • Javascript
    函数调用
    callback
    并显示返回值
      • 按钮调用
        javascript
        函数
      • Javascript
        函数将(
        AJAX
        ,可能使用jquery)发布到php文件“addfriend”
      • PHP
        文件执行
        mysql
        ,返回
        JSON
      • Javascript
        函数调用
        callback
        并显示返回值

      如果您仅将PHP用作脚本语言,而不使用任何javascript,则应将该按钮直接指向一个页面,该页面用于处理给定用户id的添加好友请求


      对于在同一页面上工作的朋友,您需要使用javascript和Ajax对php文件进行后台调用,该文件将以静默方式处理请求并在成功时返回响应。

      如果您仅将php用作脚本语言而不使用任何javascript,然后,您应该使该按钮直接指向一个页面,该页面处理给定用户id的添加好友请求


      要在同一页面上添加好友,您需要使用javascript和Ajax对php文件进行后台调用,该文件将以静默方式处理请求,并在成功后返回响应。

      将Ajax请求与POST一起发送和/或将数据发送到负责添加好友的url,例如:mysupersocialnetwork.org/friend/add/
      此页面请求将触发php,php将执行脚本。

      将带有POST和/或获取数据的AJAX请求发送到负责添加好友的url,例如:mysupersocialnetwork.org/friend/add/
      此页面请求将触发php,php将执行脚本。

      如果您不使用AJAX,类似这样的内容就足够了

      addfriend.tpl.php文件

      <form method="post" action="action_addfriend.php">
       <input type="hidden" value="<?=$userid;?>" name="userid" />
       <input type="submit" value="Add as Friend" />
      </form>
      
      <?php
      
      if ($_POST)
      {  
        $fid = htmlspecialchars(stripslashes($_POST['userid']));
        $fid = mysql_real_escape_string($fid);
        include("your_connectdb_file.php");
        mysql_query("INSERT into friends (uid, fid, isapproved) VALUES ('1', '$fid', '1')");
        mysql_free_result();
      }
      ?>
      
      
      
      如果您没有使用AJAX,那么这样的东西就足够了

      addfriend.tpl.php文件

      <form method="post" action="action_addfriend.php">
       <input type="hidden" value="<?=$userid;?>" name="userid" />
       <input type="submit" value="Add as Friend" />
      </form>
      
      <?php
      
      if ($_POST)
      {  
        $fid = htmlspecialchars(stripslashes($_POST['userid']));
        $fid = mysql_real_escape_string($fid);
        include("your_connectdb_file.php");
        mysql_query("INSERT into friends (uid, fid, isapproved) VALUES ('1', '$fid', '1')");
        mysql_free_result();
      }
      ?>
      
      
      
      你不清楚哪一部分?我对费尔南多下面的回答也有同样的想法。我只是想看看还有哪些其他方法可供选择,因此提出了建议请求。你不清楚哪一部分?我对费尔南多下面的回答有着相同的想法。我只是想看看还有哪些其他方法可以使用,因此我提出了建议请求。我同意这种方法,但我建议不要使用上面的查询。这个查询为SQL注入留下了很大的空间。将PDO或mysqli与准备好的语句一起使用,以便在$fid变量中检测用户提供的数据。好的,如果您在生产服务器中编程,则必须进行验证和清理。顺便说一句,您应该使用->mysql\u real\u escape\u string()@ray:没有任何东西可以阻止SQLI实现这样的目标。谢谢+对于非AJAX的答案,@Fernando,我看到您使用的是mysql\u real\u escape\u字符串,而不是非常糟糕的旧mysql\u escape\u字符串。你是对的,它是安全的,我有罪的下意识反应没有更密切地注意到这个重要的细节。不要让我的错误影响到我仍然强烈建议使用PDO或mysqli以及预处理语句,以防止注入,以及相对于原始的非OO mysql功能的许多其他好处。我同意这种方法,但我建议不要使用上述查询。这个查询为SQL注入留下了很大的空间。将PDO或mysqli与准备好的语句一起使用,以便在$fid变量中检测用户提供的数据。好的,如果您在生产服务器中编程,则必须进行验证和清理。顺便说一句,您应该使用->mysql\u real\u escape\u string()@ray:没有任何东西可以阻止SQLI实现这样的目标。谢谢+对于非AJAX的答案,@Fernando,我看到您使用的是mysql\u real\u escape\u字符串,而不是非常糟糕的旧mysql\u escape\u字符串。你是对的,它是安全的,我有罪的下意识反应没有更密切地注意到这个重要的细节。不要让我的错误影响到我仍然强烈建议使用PDO或mysqli,并准备好防止注入的语句,以及与原始的非OO mysql功能相比的许多其他好处。谢谢!我目前没有使用AJAX,但我预计将来会使用它,所以你的回答会帮助我很多。谢谢!我目前没有使用AJAX,但预计将来会使用它,所以您的回答会有很大帮助。