我不知道我做错了什么。但我得到了这个
注意:第15行的D:\ Programs \ XAMPP \ htdocs \ homework \ addsub.php中的未定义变量:num1
<?php
if(isset($_POST['sub']))
{
$num1=$_POST['t1'];
$num2=$_POST['t2'];
if ($_POST['sub']=="+") {
$res= $num1 + $num2;
}
elseif($_POST['sub']=="-"){
$res = $num1-$num2;
}
}
?>
<form action="addsub.php" method="POST">
<input type="text" name="t1" value="<?php echo $num1;?>"><br>
<input type="text" name="t2" value="<?php echo $num2;?>"><br>
<input type="text" name="res" value="<?php echo $res;?>"><br>
<input type="submit" name="sub" value="+">
<input type="submit" name="sub" value="-">
</form>
当我在文本框值中使用$num1
或$num2
时,会显示错误。我的一个朋友在他的笔记本电脑上使用了相同的代码,但他使用的是旧版本的Xampp。它运行正常,但Xampp的更高版本会出现此错误。我正在使用 Xampp v3.2.1 。
答案 0 :(得分:4)
如果变量不存在,则初始化变量,如下所示:
<?php
if (!isset($num1)) {
$num1 = '';
}
然后您的HTML可以保持不变。
我推荐这种方法的原因是它创建了干净的代码 - HTML将始终显示 $ num1 的值,如果您选择稍后将其初始化为其他值,则应该更容易在PHP中找到。
答案 1 :(得分:1)
使用isset检查变量是否存在。
例如
<input type="text" name="t1" value="<?php echo isset($num1)?$num1:""; ?>"><br>
答案 2 :(得分:1)
仅在
时设置$num1
变量
if(isset($_POST['sub']))
因此,如果$_POST['sub']
不存在,则变量未定义!
答案 3 :(得分:0)
以下代码可以帮助您:
<?php
var $res="";
var $num1="";
var $num2="";
if(isset($_POST['sub']))
{
$num1=$_POST['t1'];
$num2=$_POST['t2'];
if ($_POST['sub']=="+") {
$res= $num1 + $num2;
}
elseif($_POST['sub']=="-"){
$res = $num1-$num2;
}
}
?>
<form action="addsub.php" method="POST">
<input type="text" name="t1" value="<?php echo $num1;?>"><br>
<input type="text" name="t2" value="<?php echo $num2;?>"><br>
<input type="text" name="res" value="<?php echo $res;?>"><br>
<input type="submit" name="sub" value="+">
<input type="submit" name="sub" value="-">
</form>