我想弄個簡單的留言板 沒有資料庫 畢竟剛學沒兩天 ~
就弄了兩個頁面一個頁面是HTML的寫留言板
PHP頁面用於HTML輸入值之後傳入這個PHP頁面並且對傳過來的值進行判斷是否為空白或者郵箱格式是否正確
正確就直接顯示出來的
目前寫完後發現自己的判斷是不好用的。不明白哪裡出了問題
代碼如下
html介面代碼:
Message
PHP介面代碼如下:
$mst =$_POST['mstit'];
if(isset($mst))
{
echo "請輸入留言標題";
}else{
echo $mst;
}
$msu =$_POST['msuser'];
if(isset($msu)){
echo "請輸入留言使用者名稱";
exit;
}
if(!preg_match("/^[a-zA-Z ]*$/",$msu)){
echo "這不是一個有效使用者名稱,請使用字母";
}else{
echo $msu;
}
$maem =$_POST['maemail'];
if(isset($mean)){
echo "請輸入郵箱";
exit;
}
if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$maem)){
echo "這不是一個有效郵箱";
}else{
echo $maem;
}
$comt =$_POST['comment'];
if(isset($comt)){
echo "請輸入留言內容";
}else{
echo $comt;
}
?>
回複討論(解決方案)
if(isset($comt)){ //!isset
echo "請輸入留言內容";
}else{
echo $comt;
if(isset($comt)){ //!isset
echo "請輸入留言內容";
}else{
echo $comt;
什麼意思?
表單中除了未選中的複(單)選鈕外的所有有名控制項都會被提交
所以你用
$mst =$_POST['mstit'];
if(isset($mst))
來判斷 name=mstit 是否為空白是錯誤的
1、 $_POST['mstit'] 總是存在的,不管有沒有值
2、為空白時才輸出提示資訊,你商務邏輯弄反了
可按這種寫法修改
$mst =$_POST['mstit'];if(empty($mst)){ echo "請輸入留言標題";}else{ echo $mst;}