我有一个表单,它从数据库中获取它的值,并在提交时检查这些值是否为空。当前正在填写这些值,但检查时未注册为存在。
简化形式代码:
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul class="err">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>',$msg,'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}
<form action="addStudent.php" method="post" >
<?php
$result = mysql_query("SELECT firstname, lastname FROM members WHERE login='$_SESSION[SESS_LOGIN]'");
$row = mysql_fetch_array($result);
?>
Student Name: <input type="text" name="student" value="<?php echo $row['firstname'] . ' ' . $row['lastname']; ?>" >
<input type="submit" value="Submit" >
</form>
检查值是否为空的代码:
$errmsg_arr = array();
$errflag = false;
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
$student = clean($_POST['student']);
if($student == '') {
$errmsg_arr[] = 'Please add student name.';
$errflag = true;
}
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: classSignUp.php);
exit();
}
真正让我困惑的是,这是在我的本地主机上运行的,现在当我尝试传输代码时它已经停止工作。我不认为这是我的数据库的问题,因为值正在填写到表单中,只是在我提交时没有显示为具有值。