Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在php中检测不到大写字母_Php_Html_Mysql_Css - Fatal编程技术网

为什么在php中检测不到大写字母

为什么在php中检测不到大写字母,php,html,mysql,css,Php,Html,Mysql,Css,这是别人的代码,似乎适用于除我之外的所有在线用户。 它似乎没有检测到大写字母,即使我有专门的代码 有人能发现我代码中的错误吗: <?php if($_POST['submit']){ if(!$_POST['email']) $error.="<br />Please enter your email"; else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $error.="&

这是别人的代码,似乎适用于除我之外的所有在线用户。 它似乎没有检测到大写字母,即使我有专门的代码

有人能发现我代码中的错误吗:

<?php

if($_POST['submit']){


    if(!$_POST['email']) $error.="<br />Please enter your email";
        else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $error.="<br />Please enter a valid mail";

    if(!$_POST['password']) $error.="<br />Please enter your password";
    else {

            if(strlen($_POST['password'])<8) $error.="<br />Please enter a password with atleast 8 characters";
            if(!preg_match('/[A-Z]/', $_post['password'])) $error.="<br />Please enter atleast one capital letter";
        }

        if($error) echo "There were error(s) in your details:".$error;

    }   

?>




<form method="post">

        <input type="email" name="email" id="email" />
        <input type="password" name="password" />
        <input type="submit" name="submit" value="signup" />

</form>

以下是它的链接:


PHP变量区分大小写
$\u POST
$\u POST
是两个完全不同的变量


如果启用了错误报告和显示错误,则在使用未定义变量时,会告诉您$\u post未定义,索引未定义。

区分大小写:
$\u post['password']
,而不是
$\u post['password']
有点讽刺,因为你在寻找大写字母。@MarkBaker有点讽刺,Zend为不受支持的PHP版本提供了认证。@CharlotteDunois-我推迟了获得5.5认证的时间,计划在php7认证可用时直接跳到php7认证。。。。还在等啊。为什么我总是错过最明显的。谢谢打开这些设置。在调试/开发系统上,它们一开始就不应该关闭;ini设置(“显示启动错误”,1);错误报告(E_全部);以及一个php.ini文件:display_errors=on。但现在出于某种原因,它一直在说“未定义索引:在第7行提交”。提交已在html中定义。此外,它没有发现任何其他错误。抱歉,我是新来的,正在努力学习这一点。
submit
仅在html中为POST请求定义,而不是最初请求的GET请求form@HassanNasir而不是
if($\u POST['submit']){
您需要
if(isset($\u POST['submit'])){
。正如您所评估的,
$\u POST
索引是一个布尔值,但正如Mark所说,在您提交表单之前,它是未定义的。事实上,包含此类内容的唯一原因是,您的PHP代码只有在表单提交后才会执行。