Welcome Guest, Not a member yet? Register   Sign In
Undefined offset
#1

[eluser]PHP Creative[/eluser]
The following script checks to see if the user answer matches the correct answer.


user_answer[$i] | value = a
user_answer[$i] | value = b
user_answer[$i] | value = c

all radio fields (above)

orgid[$i] | value = $i
answer[$i] | value = (a or b, c)

$i = question id/number

Basically when question answer isn't selected an undefined offset error message is generated. Adding if empty or isset messes up the order.


Code:
foreach ($this->input->post('orgid') as $k =>$v) {
$orgid[$k] = $v;
}

$k = 0;
$m = 0;
while ($k <= 19) {
if ($_POST['user_answer'][$k] == $_POST['answer'][$k])  {
$correct++;

unset ($_POST['user_answer'][$k]);
unset ($orgid[$k]);
} else {
$incorrect++;
}
$k++;
}
#2

[eluser]bgreene[/eluser]
try "while ($k < strlen($_POST['user_answer']))"
#3

[eluser]PHP Creative[/eluser]
Thanks although that counts the characters in the word array.
#4

[eluser]bhbutter123[/eluser]
does in_array() work, for more detailed information look on php.net/in_array

basically, you would do this:

if(in_array($answer, $array_of_correct_answers){
$correct++;
}
else{
$incorrect++;
}




Theme © iAndrew 2016 - Forum software by © MyBB