为什么在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代码只有在表单提交后才会执行。