我不知道我做错了什么。但是我得到了这个
注意:未定义变量:num1在D:'Programs'XAMPP'htdocs'homework'addsub.php中的第15行
<?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。
如果该变量不存在,则初始化该变量,如下所示:
<?php
if (!isset($num1)) {
$num1 = '';
}
那么你的HTML可以保持不变。
我推荐这种方法的原因是它创建了干净的代码- HTML将始终显示$num1的值,如果您选择稍后将其初始化为不同的值,它应该更容易在PHP中找到。
使用isset检查变量是否存在
例子<input type="text" name="t1" value="<?php echo isset($num1)?$num1:""; ?>"><br>
只能在以下情况下设置$num1
变量
if(isset($_POST['sub']))
因此,如果$_POST['sub']
不存在,则变量未定义!
下面是代码,可能会对您有所帮助:
<?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>