onClick $ var ++不起作用

时间:2011-03-31 13:28:41

标签: php javascript onclick

我是PHP或任何基于C语言的新手。我一直试图用拇指替换Joomla评级系统,我无法让它工作。

<?php
$voteup = 0;
$votedown = 0;



?>

<INPUT type="button" value="Vote Up" onClick="<?php echo $voteup++?>;">
<?php       echo $voteup;  ?> 

它现在在浏览器中显示1,并在单击时不返回任何内容。应该是另一种方式。为什么这些线无效?我尝试了一些其他格式,包括href = javascript和提交按钮。

3 个答案:

答案 0 :(得分:1)

您需要使用某种数据库来存储您的投票。

变量在页面加载时不是持久的,所以你实际做的是每次页面加载时将变量设置为0.

此外,您在onClick中放置的PHP代码始终在运行,因此您始终会增加$voteup

我建议您查看指南,例如“HOW-TO: Reddit-style Voting With PHP, MySQL And jQuery”,看看是否有助于您开始使用。

因为您在Joomla工作,所以您需要以不同的方式访问数据库。有关如何执行此操作,请查看“How to use the database classes in your script”。它有关于如何与Joomla数据库层交互的简短示例。然后,每当您找到一些特定于MySQL的代码时,请尝试查看是否可以将其移植到使用这些方法。

答案 1 :(得分:0)

PHP是基于服务器的,javascript是基于客户端的。 所以这可能永远不会奏效。

你需要的是......像AJAX - &gt; http://www.ajaxf1.com/tutorial/ajax-php.html

你还需要一个DB来存储投票!

答案 2 :(得分:0)

您正在混淆服务器端和客户端,浏览器在解析并由服务器发送后看到的代码如下所示:

<INPUT type="button" value="Vote Up" onClick="0">
1

只需查看来源。

您将需要一个处理客户端的javascript onClick处理程序,以便当有人点击时,会向服务器发出更新变量的请求(需要将其存储在某处)并且用户要么定向到新的更新页面,或者使用javascript更新当前页面的内容。