標籤:
有時候會發送空白表單到客戶那,因為啥都沒填直接submit掉。哎,多不好。
介紹2個函數,isset和empty。isset對賦值後的變數返回true,不論賦的什麼值,空string也是true;empty當裡面的參數是空值是返回true;
空值有null,‘‘,0,false.
這樣就不會就能再使用者提交空的東西的時候做出響應了。照理來說應該在用戶端用js先去處理,再PHP處理,php作為最後一道牆檢驗。
假如提交過來東西有問題,就用類似這樣的if迴圈去判斷掉
判斷掉之後,萬一出錯呢,還要回顯一張表單給客戶重填把。
就直接用html代碼了
<?php
if(out_false){
?>
<form action="<?php echo $_SERVER[PHP_SELF]?>" method="post">
<input type="text" name="user" value="<?php echo $user ?>">
<input type="pasword" name="password" value=<?php echo $password?>>
<input type="submit" value="submit"/>
</form>
<?php
}
?>
<?php?>外面的都是html代碼了,但是form表單部分還是在if邏輯裡面的,還有這個東西$_SERVER[PHP_SELF],可以引用前台提交過來的表單的url。假如表單資料填寫有誤,直接返回一個表單,這個返回的表單記錄這之前填的東西。<?php echo $password?> 直接用php代碼把傳過來的東西再輸到表單上,不過這次的表單地址url是.php結尾的了,要注意下。
另外,可以用isset($_POST[‘submit‘])判斷表單是否提交,點了submit,就有一個值傳到這個超級全域變數中了,isset就是true了。
另外,資料庫中我們必須讓表的每一行資料具有唯一性。這就用到了主鍵這個東西。這就要改資料表了,總不能直接drop table 掉把。。。
alter table 表名 add id int not null auto_increment first,add primary key(id)
大意就是添加id,Int類型,不可為空,每次自己增加1,放在第一列,添加為主鍵,(每個表只有一個主鍵滴);這樣每一行資料就唯一了。
唯一的主鍵幹嘛用呢?明天再看再寫。嘿嘿,要勞逸結合。
[head first php&mysql]讀書筆記-客戶的反饋(第四章)