我似乎无法弄清楚为什么当我提交表单并返回错误消息时,它没有保留我在字段中输入的内容。这是我的输入字段的示例:
<input type="text" value="<?php if (isset($_POST['the_field'])) echo $_POST['the_field'];?>" name="the_field" id="the_field"/>
我正在使用会话来处理错误消息。但我不认为这会有所作为,对吧?有任何想法吗?
我的表格的一部分:
<form action="process.php" method="post" name="edit" id="edit">
<input type="text" value="<?php if (isset($_POST['name'])) echo htmlentities($_POST['name']); ?>" name="name" id="name" class="text" tabindex="1"/>
<input type="text" value="<?php if (isset($_POST['the_field'])) echo $_POST['the_field'];?>" name="the_field" id="the_field"/>
<input type="hidden" value="Create" name="action"/>
<input type="submit" class="btn" value="Create New Project" />
</form>
我的 PROCESS.PHP 的一部分:
if(isset($_POST)){
switch($_POST['action']){
case 'Create':
$client = $_POST['client'];
if(empty($_POST['name'])){
$_SESSION['error'] = 'You need to enter a project name!';
header('location: add.php');
exit;
}
}
break;
}
您是否认为这是因为在 THE_FIELD 之前处理了 NAME 字段,并且当 NAME 出错时,它没有返回任何内容?