我在使用会话在文本框中保存值时遇到问题。
我在其中一个文本框中输入一个值,另一个没有,我提交它。该值将出现在第一个文本框中并将禁用文本框,但是当我在第二个文本框上放置一个值并提交它时,第一个文本框上的值已经消失。任何人都可以帮我解决这个问题吗?
PHP
<?php
session_start();
@$two = $_POST['two'];
@$four = $_POST['four'];
if(isset($_POST['submit'])){
$_SESSION['two'] = $two;
$_SESSION['four'] = $four;
}
?>
HTML
<form method="POST">
Textbox One: <input type="text" value="<?=@$_SESSION['two']; ?>" name="two" class="inputborder" size="20" <?phpif(@$_SESSION['two']){ echo"disabled=disabled";} else{echo ""; }?> />
<br>
Textbox Two: <input type="text" value="<?=@$_SESSION['four']; ?>" name="four" class="inputborder" size="20" <?php if(@$_SESSION['four']){ echo"disabled=disabled";}else{ echo ""; }?> />
<br>
<input type="submit" name="submit">
</form>
答案 0 :(得分:0)
在检查提交之前,为什么要尝试以2美元和4美元的价格获取变量?
<?php
session_start();
if(isset($_POST['submit'])){
if(isset($_POST['two'])){
$two = $_POST['two'];
}
if(isset($_POST['four'])){
$four = $_POST['four'];
}
$_SESSION['two'] = $two;
$_SESSION['four'] = $four;
}
?>
这应该不需要PHP中的'@'符号。 (尽管进一步的错误处理是合适的)。但是你到处都在压制错误,你应该如何获得反馈呢?