2011-07-27 11 views
0

私のウェブサイトにスコアカウンターを追加したいのですが?たとえば、ユーザーが質問に答えると、その質問はデータベースに保存され、正しい回答はすでに同じデータベーステーブルに保存されています。私は答えを比較したい。答えが正しければスコアが上がる。PHPとJavaScriptを使用したスコアカウンター

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; 
} 

。 このコードを使用しようとしたときに機能しませんでした。上記のコードは正しいですか?

ありがとうございます。

編集:

[OK]を私はuが言ったことでしたが、1つのことで、ページのスコアが増加をリフレッシュするとき、私はまだ問題を抱えています。ページを再読み込みするときに、スコアの上昇を止めるにはどうすればいいですか?

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

これはできません。 PHPコードは、Webページがブラウザに送信される前にサーバーで実行されます。 JavaScriptコードがブラウザで実行されます。あなたのテキストボックスJavaScriptは、それぞれの新しいページが読み込まれるたびにカウントを空にしておきます。以前のページの読み込み自体に何があったのかは記憶されません。 –

+0

PHPをAjaxで呼びますか?あなたがいない場合、私はJavaScriptを使用するための理由を参照してくださいしないでください。 – bfavaretto

+0

@Amal 'LANGUAGE'キーワードは推奨されていません。 ... – lovesh

答えて

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> 

JavaScriptがブラウザで実行されているのに対し、サーバー側のコード(PHPなど)はWebサーバー上で実行されています。サーバーとブラウザーは、発行するHTTP要求を介してのみ通信するため、PHP関数とJavaScript関数は、実行しようとしているときに互いに呼び出すことはできません。

+0

私は自分のコードを編集しました。問題を解決する方法を見てみてくださいありがとうございますあなたの助け。 – Amal

関連する問題