我是PHP或任何基于C语言的新手。我一直试图用拇指替换Joomla评级系统,我无法让它工作。
<?php
$voteup = 0;
$votedown = 0;
?>
<INPUT type="button" value="Vote Up" onClick="<?php echo $voteup++?>;">
<?php echo $voteup; ?>
它现在在浏览器中显示1,并在单击时不返回任何内容。应该是另一种方式。为什么这些线无效?我尝试了一些其他格式,包括href = javascript和提交按钮。
答案 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更新当前页面的内容。