本帖最後由 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,因此會觸發錯誤。