我想在数组$ array_user_answer中添加$ user_answer值,每个按钮都被点击。
我尝试了$ array_user_answer [],但它只是替换了第一个索引值。
仅供参考:不要担心按钮$ _POST ['next_question']它正常工作并且标题。
$array_user_answer=array();
if(isset($_POST['next_question']))
{
$answer = $_POST['answer'];
$user_answer = $_POST['option_value'];
$array_user_answer[] = $user_answer;
if($answer == $user_answer)
{
header("Location: quiz_started?question=$next");
}
else
{
header("Location: quiz_started?question=$next");
}
}
答案 0 :(得分:0)
看起来你需要Sessions:
会话可让您在同一浏览器的页面调用之间保存数据。
您需要做的就是调用session_start()
并使用$_SESSION数组,php将完成剩下的工作。
//initialize session
session_start();
if(isset($_POST['next_question']))
{
$answer = $_POST['answer'];
$user_answer = $_POST['option_value'];
//add info to session array
$_SESSION['user_answers'][] = $user_answer;
if($answer == $user_answer)
{
header("Location: quiz_started?question=$next");
}
else
{
header("Location: quiz_started?question=$next");
}
}
得到这样的答案:
print_r($_SESSION['user_answers'];
取消答案:
unset($_SESSION['user_answers']);
完全破坏会话
//will delete all session info!
session_destroy();
查看reference。
答案 1 :(得分:0)
array_push()
中有一个名为PHP
的非常有用的功能。您可以将值添加到现有数组或空数组中。
您必须制作一个新数组,例如$myArray = array()
现在你可以做类似的事情:
array_push($myArray, "value 1", "value 2", "value 3")
要知道值是否存储在数组中,您只需使用var_dump()
函数:var_dump($myArray)
输出将为您提供以下内容:
array(3) { [0]=> string(7) "Value 1" [1]=> string(7) "Value 2" [2]=> string(7) "Value 3" }
注意:如果信息没有存储在某个地方(例如数据库..或其他东西),数组中的值将不会永久存储,如果要自动存储,可以使用数据库或{{1}存储要添加到数组中的信息。
sessions
看起来像session
要为此会话添加值,您可以执行$_SESSION["myArray"][]
示例:
$_SESSION["myArray"] = "Value 1"
输出:<?php
session_start();
$_SESSION["value"][] = uniqid();
var_dump($_SESSION["value"]);
?>
每次刷新页面时,都会为会话数组添加一个值。要清空会话,您可以使用array(10) { [0]=> int(0) [1]=> string(13) "56e919195f69e" [2]=> int(0) [3]=> string(13) "56e9191a48697" [4]=> int(0) [5]=> string(13) "56e9191b171cc" [6]=> int(0) [7]=> string(13) "56e9193143838" [8]=> string(13) "56e9193c5ac39" [9]=> string(13) "56e9193dedc09" }
或unset($_SESSION["myArray"])
(将销毁使用您的脚本进行的所有会话。)