Home  >  Article  >  Backend Development  >  新手在做个留言板的例子碰到小问题 求帮忙

新手在做个留言板的例子碰到小问题 求帮忙

WBOY
WBOYOriginal
2016-06-20 12:44:28932browse

我想弄个简单的留言板 没有数据库  毕竟刚学没两天 ~
就弄了两个页面一个页面是HTML的写留言板
PHP页面用于HTML输入值之后传入这个PHP页面并且对传过来的值进行判断是否为空或者邮箱格式是否正确
正确就直接显示出来的
目前写完后发现自己的判断是不好用的。不明白哪里出了问题


代码如下

html界面代码:
nbsp;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;}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn