2013-12-10 3 views
-3

мне было интересно, если вы можете помочь мне с моей PHP функцииинкрементацию внутри функции PHP

Я создал тест, который использует радио-кнопки и кнопку отправки. Я хочу, чтобы функция проверяла, выбрана ли определенная радиокнопка, и если да, добавьте 1 на счет пользователя. Однако ничего не добавляется функция для этого

function Score() 
{ 
    if(isset($_POST['correctAnswer'])) 

    { 

     $answer=$_POST['correctAnswer']; 
     $_SESSION['score']=$userScore+1; 

    } 

    else 
    { 
    $_SESSION['score']=$_SESSION['score']; 

    } 




} 

и форма, в которой он будет представлен в

echo '<strong>'."$theQuestion".'</strong><br>'; 
    ?> <form name="correctAnswer" form method="post" action="quiz.php" onSubmit="Score()"> 
    <?php 
    echo "$theAnswer1";?> <input type="radio" id="correct_answer" name="correctAnswer"> 
    <?php 
    echo "<br>$theAnswer2"; ?> <input type="radio" id="wrong_answer1" name="wrongAnswer1"> 
    <?php 
    echo "<br>$theAnswer3"; ?> <input type="radio" id="wrong_answer2" name="wrongAnswer2"> 
    <?php 
    echo "<br>$theAnswer4"; ?> <input type="radio" id="wrong_answer3" name="wrongAnswer3"> 
    <input type="hidden" name="score" value="userScore"> 
    <br><input type="submit" value="Submit Answer"> 
    </form> 

Надеется, что вы можете помочь

+1

И что '$ userScore'? –

+0

'$ _SESSION ['score'] = $ _ SESSION ['score']' ничего не делает. – deceze

ответ

0

Вы должны пройти счетчик в качестве аргумента функции, как этот

function Score($userScore){ 
    //Do the rest 
} 
+0

Я попытался сделать это, и все же он по-прежнему печатается как 0 в конце документа. – shd0w

0

Похоже, $ _SESSION [ 'оценка'] не определено

function Score() { 

if (!isset($_SESSION['score'])) { 
    $_SESSION['score'] = 0; 
} 
if (isset($_POST['correctAnswer'])) { 

    $_SESSION['score']++; 
} 

}

Смежные вопросы