我的PHP遇到了一些问题。我试图将文本框中的值分配给变量,以便我可以根据随机数进行检查。
这是我初始化我的变量:
>>> [''.join((x, str(y))) for x in ['a','b','c'] for y in range(1,5)]
['a1', 'a2', 'a3', 'a4', 'b1', 'b2', 'b3', 'b4', 'c1', 'c2', 'c3', 'c4']
这是表格本身:
session_start();
if (!isset ($_SESSION["rand"])) {
$_SESSION["rand"] = rand(0,100);}
$rand = $_SESSION["rand"];
if(!isset ($_SESSION["att"])) {
$_SESSION["att"] = 0;}
这是造成问题的部分:
<form method="post">
<input type="text" id="guess" name="guess"/>
<input type="submit" value="Guess"/>
</form>
这是我收到的错误
我试图通过它来实现它,我知道它是因为$answer = htmlspecialchars(trim($_POST["guess"]));
没有任何定义,但我不确定在我不需要的时候定义什么。
答案 0 :(得分:4)
由于您在一个文件中使用了所有内容<form method="post">
,因此action
默认为“self”(如果省略),因此您需要使用条件isset()
或!empty()
。
即:
if(isset($_POST["guess"])){
$answer = htmlspecialchars(trim($_POST["guess"]));
}
或
if(!empty($_POST["guess"])){
$answer = htmlspecialchars(trim($_POST["guess"]));
}
参考文献:
脚注:
即使您将这些文件拆分为两个单独的文件,最好还是使用条件isset()
或!empty()
。
答案 1 :(得分:2)