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
Php AJAX/JAVASCRIPT投票mysql 功能投票() {_Php_Javascript_Mysql_Ajax - Fatal编程技术网

Php AJAX/JAVASCRIPT投票mysql 功能投票() {

Php AJAX/JAVASCRIPT投票mysql 功能投票() {,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,您试图在onclick事件上调用PHP。加载页面时(甚至在看到HTML之前)会执行PHP因此,它插入字符串。然后,它通过一个投票功能向用户显示网站,该功能提醒奇怪的字符串,而不做其他任何事情。似乎对PHP和Javascript的工作原理有点误解 PHP是一种服务器端脚本语言。这意味着,在页面交付给客户端之前,它仅在Web服务器上执行。当页面交付给客户端时,它由标记(HTML)、客户端脚本(Javascript)以及其他内容(如flash对象等)组成 以下是过程: 客户端从服务器请求页面 服务器处

您试图在onclick事件上调用PHP。加载页面时(甚至在看到HTML之前)会执行PHP因此,它插入字符串。然后,它通过一个投票功能向用户显示网站,该功能提醒奇怪的字符串,而不做其他任何事情。

似乎对PHP和Javascript的工作原理有点误解

PHP是一种服务器端脚本语言。这意味着,在页面交付给客户端之前,它仅在Web服务器上执行。当页面交付给客户端时,它由标记(HTML)、客户端脚本(Javascript)以及其他内容(如flash对象等)组成

以下是过程:

  • 客户端从服务器请求页面
  • 服务器处理请求,并通过使用服务器端语言(如PHP\ASP等)生成HTML\Javascript\etc
  • 服务器将#2中生成的有效负载传递回客户端
  • 客户端的web浏览器解释#3中交付的有效负载,并以某种图形方式显示它

  • 一旦流程完成#2,您就不能再与服务器对话并执行服务器端代码(如PHP)。为了执行更多的PHP,您必须完全重新加载页面,或者使用AJAX。

    看起来PHP的行为与您编程的方式类似

    类似按钮对应的javascript应为

    <SCRIPT language="Javascript"> 
        function vote() 
        {
            <?php
                $date = date("Y-m-d");
                //$vote = mysql_num_rows(mysql_query("SELECT * FROM funny_thumbs WHERE ip='$ip' AND date='$date' AND id='$p'"));
                if (mysql_num_rows(mysql_query("SELECT * FROM funny_thumbs WHERE ip='$ip' AND date='$date' AND id='$p'")) < 1)
                { 
                    mysql_query("INSERT INTO funny_thumbs SET ip='$ip', type='1', date='$date', id='$p'"); 
                }
                if (mysql_num_rows(mysql_query("SELECT * FROM funny_thumbs WHERE ip='$ip' AND date='$date' AND id='$p'")) >= 1)
                {
                    ?>
                        alert("Jus jau balsavote !");
                    <?php
                } 
            ?>
        }
    </SCRIPT>
    <td>
        <a href="#">
            <img src="img/thumbs_up.png" alt="LIKE" onclick="vote(); return false;"/>
        </a> 
    </td>
    
    如果投票结果已经公布,并且

    function vote(){
    alert("Jūs jau balsavote !");
    }
    

    如果没有。您需要使用AJAX或在按下like按钮时重新加载页面。

    @user由于当前代码存在根本性缺陷,因此无法修复当前代码。您显然不了解AJAX的基础知识,也不了解它是什么。我建议您阅读jQuery教程,以获得基本的AMETALS。这似乎是一个值得学习的教程基本够了。
    function vote(){
    }