0

データベースから値を取得するフォームがあり、送信時に値が空かどうかを確認します。値は現在入力されていますが、チェックするとそこにあると登録されていません。

簡略化されたフォーム コード:

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();
}

私を本当に混乱させているのは、これが私のローカルホストで機能していて、コードを転送しようとすると機能しなくなったことです。値がフォームに入力されているため、送信時に値が表示されないだけなので、データベースの問題ではないと思います。

4

0 に答える 0