把這個if($name !="") 改成這個 if(isset($_POST['names']) isset($_POST['telephone']))
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,驛城企業(yè)網(wǎng)站建設,驛城品牌網(wǎng)站建設,網(wǎng)站定制,驛城網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,驛城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
是否存在name 和 telephone是要提到if邏輯前面,不然你這條語句中的if($name!='')根本不起作用,因為$name這個變量都沒有值,肯定符合($name!=''),所以就導致了這個邏輯分支恒為假
你注意,不是
變量
設置為null,你可以給變量賦值為字符串‘NULL’,這樣就可以了。明白嗎,你試試
你這樣修改一下
代碼
$min_codtime
=
($_POST['min_codtime']!=null)
?
$_POST['min_codtime']:‘NULL‘;
$exec="INSERT
INTO
expressage
(max_codtime)
values($max_codtime)";
$result
=
mysql_query($exec);
你犯了低級錯誤,textarea name="f_conten" cols="60" rows="12" wrap="virtual" id="f_conten"/textarea
的name 是 f_conten,而在php內(nèi)是以$_POST['f_content']獲取的,所以不能存入數(shù)據(jù)庫,將name
修改成f_content;ok;
input name="f_title" type="text" id="f_title" size="60" / 的name是f_title,php內(nèi)是以$_POST['f_tite']獲取的,變量不一致,改成$_POST['f_title']; ok;
添加數(shù)據(jù)add方法是CURD(Create,Update,Read,Delete / 創(chuàng)建,修改,讀取,刪除)中的 Create的實現(xiàn),ThinkPHP 支持以普通數(shù)組方式和面向?qū)ο蠓绞綄?shù)據(jù)寫入數(shù)據(jù)表。
現(xiàn)在以操作 user 表數(shù)據(jù)的例子為例,來演示如何在 ThinkPHP 中實現(xiàn)對數(shù)據(jù)表的數(shù)據(jù)添加操作。
數(shù)組方式添加數(shù)據(jù)
例子: 在 IndexAction 控制器(Lib/Action/IndexAction.class.php),添加 insert()操作:
public function insert(){
header("Content-Type:text/html; charset=utf-8");
$Dao = M("User"); // 實例化模型類
// 構建寫入的數(shù)據(jù)數(shù)組
$data["username"] = "休假";
$data["password"] = md5("123456");
$data["email"] = "123456@163.com";
$data["regdate"] = time();
// 寫入數(shù)據(jù)
if($lastInsId = $Dao-add($data)){
echo "插入數(shù)據(jù) id 為:$lastInsId";
} else {
$this-error('數(shù)據(jù)寫入錯誤!');
}
}
語法解讀
M("User") 用于高效實例化一個數(shù)據(jù)模型(M 是 new Model 的簡寫,稱為快捷方法),參數(shù)為要操作的表名。
接下來構建要保存數(shù)據(jù)的數(shù)組 $data 。
最后是用 add() 方法將數(shù)據(jù)寫入庫表,由于使用的是 M快捷方法,需要將 $data 數(shù)組傳入 add() 方法。
add() 方法如果添加數(shù)據(jù)記錄成功,返回的是新數(shù)據(jù)記錄主鍵,可直接得到。
該例子實際運行的 SQL 為:
INSERT INTO user(username,password,email,regdate) VALUES ('休假','e10adc3949ba59abbe56e057f20f883e',
123456@163.com',1283612673)
對象方式添加數(shù)據(jù)
上面的方式是以構造數(shù)據(jù)數(shù)組的方式,將數(shù)據(jù)以參數(shù)形式傳入add方法寫入數(shù)據(jù)表。ThinkPHP 也支持以對象的方式將數(shù)據(jù)寫入數(shù)據(jù)表,將上面的代碼更改為:
public function insert(){
header("Content-Type:text/html; charset=utf-8");
$Dao = M("User"); // 實例化模型類
// 數(shù)據(jù)對象賦值
$Dao-username = "休假";
$Dao-password = md5("123456");
$Dao-email = "123456@163.com";
$Dao-regdate = time();
// 寫入數(shù)據(jù)
if($lastInsId = $Dao-add()){
echo "插入數(shù)據(jù) id 為:$lastInsId";
} else {
$this-error('數(shù)據(jù)寫入錯誤!');
}
}
對象方式的數(shù)據(jù)以數(shù)據(jù)對象方式賦值,調(diào)用 add 方法寫入數(shù)據(jù)時不需要傳遞參數(shù)。
表單數(shù)據(jù)智能寫入create 方法
除了手動構造入庫的數(shù)據(jù)集之外,ThinkPHP 還提供了自動創(chuàng)建數(shù)據(jù)對象的create() 方法。create() 方法將自動收集提交的表單數(shù)據(jù)并創(chuàng)建數(shù)據(jù)對象而無需人工干預,這在表單數(shù)據(jù)字段非常多的情況下更具優(yōu)勢。
將前文寫入表單數(shù)據(jù)的例子用 create() 來實現(xiàn):
public function insert2(){
header("Content-Type:text/html; charset=utf-8");
$Dao = M("User");
if($Dao-create()){
$Dao-password = md5($_POST["password"]);
$Dao-regdate = time();
if($lastInsId = $Dao-add()){
echo "插入數(shù)據(jù) id 為:$lastInsId";
} else {
echo "數(shù)據(jù)寫入錯誤!";
}
}else{
exit($Dao-getError().' [ a href="javascript:history.back()"返 回/a ]');
}
}
create() 創(chuàng)建數(shù)據(jù)對象后,將自動收集提交過來的表單數(shù)據(jù)。而表單數(shù)據(jù)可能需要經(jīng)過一定加工(例如將密碼加密)才能寫入數(shù)據(jù)表,所以可以對數(shù)據(jù)對象的成員屬性值根據(jù)進行修改或添加刪除等。
提示:create() 創(chuàng)建的數(shù)據(jù)對象存放于內(nèi)存,在執(zhí)行入庫動作(add() 或 save())之前,都可以進行修改。
在上面的例子里,create()方法 的行為和 date()方法 是一致。但 date() 方法只是簡單的創(chuàng)建數(shù)據(jù)對象,但 create() 方法還具備:
令牌驗證
數(shù)據(jù)自動驗證
字段映射支持
字段類型檢查
數(shù)據(jù)自動完成
等各種高級的數(shù)據(jù)功能,要完成這些高級數(shù)據(jù)模型功能,需要使用 D方法實例化數(shù)據(jù)模型。