這段程式總是無法在產生的介面中提交資料,總是提示帶星號的資訊未填完整,但我確實已經填完整了

來源:互聯網
上載者:User
本帖最後由 jackbill43 於 2013-08-15 15:09:41 編輯

php

新手求教




教室添加/修改



include_once("base-class.php");

//建立sae資料庫類
$mysql = new SaeMysql();

//擷取需要修改的教室ID號傳入
$class_id=intval($_GET["class_id"]);

//擷取操作標識傳入
$action=$_POST["action"];
$action= string::un_script_code($action);
$action= string::un_html($action);

//判斷是否修改,如果傳入了教室ID,進行資料庫查詢擷取全部內容
if($class_id)
{
$class_value=$mysql->getLine("select * from class where class_id=$class_id");
if(!$class_value)
{
echo "";
exit;
}
}

//如果擷取到操作標識,進行錄入或者修改操作
if($action=="update")
{
//擷取表單傳入資料
$old_class_id=$_POST["class_id"];
$class_name=$_POST["class_name"];
$class_number=$_POST["class_number"];
$class_fid=$_POST["class_fid"];
$class_status=$_POST["class_status"];

//傳入資料過濾
$old_class_id=intval($old_class_id);
$class_name= string::un_script_code($class_name);
$class_number= string::un_script_code($class_number);
$class_fid=intval($class_fid);
$class_status= intval($class_status);

//檢測必填項目
if(!$class_name || !$class_number|| !$roster_status)
{
echo "";
exit;
}



//預設參數
$nowtime=date("Y/m/d H:i:s",time());
//如果是修改
if($old_class_id)
{

$sql = "update class set
class_name='$class_name',
class_number='$class_number',
class_fid='$class_fid',
class_status='$class_status',
edittime='$nowtime'
where class_id=$old_class_id";
$mysql->runSql( $sql );
}
else
{
//新增
$sql = "insert into class
(class_name,class_number,class_fid,class_status,addtime,edittime,status)
values
('$class_name','$class_number','$class_status','$class_fid','$nowtime','$nowtime',1)";
$mysql->runSql( $sql );

}
if( $mysql->errno() != 0 )
{
echo "";
exit;
}
else
{
echo "";
exit;
}

}

//擷取所有教學樓
$building_list=$mysql->getData("select building_name,building_id from building where status=1 order by building_fid asc");

?>

教室添加/修改返回>>


帶星號為必填項






回複討論(解決方案)

    if(!$class_name || !$class_number|| !$roster_status)    {       echo "";       exit;        }

這裡的$roster_status是在哪裡被定義和賦值的?你貼出來的代碼中沒有,頁面上的表單中也沒有相關的欄位,這當然會觸發這個驗證了

    if(!$class_name || !$class_number|| !$roster_status)    {       echo "";       exit;        }

這裡的$roster_status是在哪裡被定義和賦值的?你貼出來的代碼中沒有,頁面上的表單中也沒有相關的欄位,這當然會觸發這個驗證了 這個確實是,但更改以後還是有問題,請問是不是還有什麼地方有問題啊

var_dump($_POST);


    if(!$class_name || !$class_number|| !$roster_status)    {       echo "";       exit;        }

這裡的$roster_status是在哪裡被定義和賦值的?你貼出來的代碼中沒有,頁面上的表單中也沒有相關的欄位,這當然會觸發這個驗證了 這個確實是,但更改以後還是有問題,請問是不是還有什麼地方有問題啊
你是怎麼更改的



    if(!$class_name || !$class_number|| !$roster_status)    {       echo "";       exit;        }

這裡的$roster_status是在哪裡被定義和賦值的?你貼出來的代碼中沒有,頁面上的表單中也沒有相關的欄位,這當然會觸發這個驗證了 這個確實是,但更改以後還是有問題,請問是不是還有什麼地方有問題啊
你是怎麼更改的 改成前面定義過的class_status了

var_dump($_POST); 新手求詳細

1.$_POST是存放從表單通過post方式提交過來的資料的變數,使用var_dump來列印出這個變數的內部結構,查看下class_status有沒有被表單提交,如果有被提交,那麼值是什麼
2.

                            請選擇教室狀態                 value="0">空閑                  value="1">有課            

這個地方。請選擇教室狀態和空閑兩個option的值都是0,這是不合理的。如果你選擇了這兩種狀態,那麼表單提交的class_status就是0,!邏輯非運算子在計算0時得到結果一樣是true,因此會觸發錯誤。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.