php编程,这段代码为什么不能阻止表单的提交!不管为不为空 都跳转到1.php页面啦 这是怎么回事?

发布网友 发布时间:2022-04-06 06:44

我来回答

5个回答

懂视网 时间:2022-04-06 11:05

php用户提交表单不能为空的解决办法:

可以修改代码,添加些判断:

代码如下:

 if(empty($_POST['name'])){
 echo "俗话说的好,雁过留声人过留名<br />";
 }
 elseif(empty($_POST['comment'])){
 echo "矮油,多说几句吧~";
 }
 else{
 $sql = "INSERT INTO myblog_comments(blog_id, dateposted, name, comment) VALUES(" . $validentry . ", NOW(), '" . $_POST['name'] . "', '" . $_POST['comment'] . "');";
 mysql_query($sql);
 header("Location: http://". $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']."?id=" . $validentry);
 }

PHP空值判断

emptyisset虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。

代码如下:

<?php
/*比如检测 
$id 变量,当 $id=0 时,用empty 和 isset 来检测变量 
$id 是否已经配置,两都将返回不同的值—— empty 认为没有配置,isset 能够取得 
$id 的值:*/
 $id=0;
 empty($id)?print "It's empty .":print "It's $id .";
 //结果:It's empty .
 print "<br>";
 !isset($id)?print "It's empty .":print "It's $id .";
 //结果:It's 0 .
?>

总结PHP中,“NULL” 和 “” 是2个概念。

  • isset 主要用来判断变量是否被初始化过;

  • empty 可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE;

  • is_null 仅把值为 “NULL” 的变量判断为TRUE;

  • var == null 把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE;

  • var === null 仅把值为 “NULL” 的变量判断为TRUE;

  • 所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰。

  • 相关学习推荐:PHP编程从入门到精通

    热心网友 时间:2022-04-06 08:13

    <html>
    <head>
    <title>test1</title>
    </head>
    <body>
    <script language="javascript">
    function check()
    {
    if (document.form.xxname.value=="")
    {alert("空!不能登录!");
    return false;
    }
    //return true;
    }
    </script>
    <form action="1.php" method="post" name="form" onSubmit="javascript:return check();"/>
    用户名:<input type="text" name="xxname">
    <input type="submit" name="submit" value="提交验证"/>
    </form>
    </body>
    </html>
    把 else
    {alert("asd")
    return true;
    }
    去掉就可以了,另外document.form.xxname.foucus();
    这里面的foucus这个单词写错了 应该是focus
    这样就可以了

    热心网友 时间:2022-04-06 09:31

    那是因为你的 JS有错误所以就会直接提交
    你吧 document.form.xxname.foucus(); 改成下面的
    document.getElementsByName("xxname")[0].focus();

    热心网友 时间:2022-04-06 11:06

    把document.form.xxname.foucus();
    这句去掉

    热心网友 时间:2022-04-06 12:57

    onsubmit="return check();"

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com