新手在做個留言板的例子碰到小問題 求幫忙

來源:互聯網
上載者:User
我想弄個簡單的留言板 沒有資料庫 畢竟剛學沒兩天 ~
就弄了兩個頁面一個頁面是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;}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.