如果我想在我的网站上添加分数计数器。例如,如果用户回答问题,则它将保存在数据库中,并且正确答案已保存在同一数据库表中。我想对答案进行比较。如果答案是正确的,分数会提高。
我打算使用JAVASCRIPT对得分计数器进行编码。如何在PHP中调用javascript函数。
如果我喜欢这样:
<?php
if($_SESSION['Correct_answer'] == $_SESSION['User_answer'])
echo "<SCRIPT LANGUAGE='javascript'>" echo count() "</SCRIPT>";
javascript函数看起来像:
<script>
var x=0;
function count(){
x+=1;
document.getElementById( "counting" ).value = x;
}
“count”是一个文本字段。 当我尝试使用此代码时,它无法正常工作。以上代码是否正确???
提前谢谢。
编辑:
好的我做了你说的但是我在刷新页面时仍然有问题,分数增加了一个。如何在重新加载页面时停止增加分数???
这是我的代码:
if (!isset($_SESSION['score']))
$_SESSION['score'] = 0;
else{
$sql10=mysql_query("select * from image WHERE fromUser='".$_SESSION['email']."' order by id desc");
$score1=mysql_fetch_array($sql10);
$answer=$score1['answer'];
$sql13=mysql_query("select * from image WHERE toUser='".$_SESSION['email']."' order by id desc");
$score2=mysql_fetch_array($sql13);
$answer2=$score2['answer2'];
strcasecmp($answer,$answer2);
if(strcasemp)
$_SESSION['score'] += 1;
}
答案 0 :(得分:0)
服务器端PHP和客户端JavaScript不能直接相互调用。所有这些逻辑都应该在PHP中。你可能想要这样的东西(我假设你想把分数存储在$ _SESSION中)。
<?php
if (!isset($_SESSION['score'])
$_SESSION['score'] = 0;
if ($_SESSION['Correct_answer'] == $_SESSION['User_answer'])
$_SESSION['score'] += 1;
?>
<p>Current score: <?= $_SESSION['score'] ?></p>
您可以看到,服务器端代码(如PHP)在您的Web服务器上运行,而JavaScript则在浏览器中运行。服务器和浏览器只通过您发出的HTTP请求进行通信,因此PHP和JavaScript函数不能像您尝试的那样相互调用。