我在我的网站服务器上放置了一个文件,其中包含HTML和PHP,并将文件命名为“php1.php”。我试过运行该文件,一切都很好。突然之后一段时间后,我得到了一个500错误并继续得到它们尽管我的网站可以访问。然后测试我复制了这个文件,名称改为'php1.html'并运行文件,PHP代码正在加载文本。所有其他PHP文件都运行良好。其他需要PHP的HTML文件单独保存为两个文件,只有这个文件在同一个文件中使用PHP编码。
我运行了一个phpinfo函数并得到了它。 http://analyzedstock.com/test/phpinfo.php。安装好的PHP都可以吗?那么我的文件有什么问题呢?我有简单的输出功能。我的PHP页面的链接在这里:http://analyzedstock.com/test/PHP/php1.php
如果您在我的代码中发现任何错误,我将非常感谢。我得到'登录成功。 '在表格的开头。
<?PHP
//form variables
$name=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
//current
$minname=10;
$minpass=6;
$maxname=15;
$maxpass=10;
//functions
function username($username){
empty($username) || $username<$minname || $username>$maxname;
return username($username);
}
function password($password){
empty($password) || $password<$minpass || $password>$maxpass;
return password($password);
}
//function email($email){
// empty($email) || !isset("\@") || !isset(".com");
//}
if(username($username) && password($password)){
echo"Log in Error!!";
}else{
echo"Log in success.";
}
?>
<html>
<head>
<title>First try</title>
</head>
<body>
Log In
<form action="php1.php" method="POST">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<!--E-mail: <input type="text" name="email" /><br />-->
<input type="submit" value="Submit" />
</form>
</body>
</html>
答案 0 :(得分:2)
请在php文件中添加以下行,以查看错误内容:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL);
?>
好以下几行不正确:
function password($password){
empty($password) || $password<$minpass || $password>$maxpass;
return password($password);
}
条件应在if条件
之间更改为:
function username($username){
if(empty($username) || $username<$minname || $username>$maxname)
return $username;
}
function password($password){
if(empty($password) || $password<$minpass || $password>$maxpass)
return $password;
}
并且还将PHP更改为小写(已经说过)==&gt; &LT; ? PHP
答案 1 :(得分:2)
无限递归,未定义$minpass
,期望布尔值但返回字符串/ null /无限,<
没有strlen:
function username($username){
$minname = 8;
if (empty($username) || $username<$minname || $username>$maxname)
return username($username);
}
function password($password){
$minpass = 8;
if (empty($password) || $password < $minpass || $password > $maxpass)
return password($password);
}
“回归自己,再次回到自己身边,再次回到自己身边......再次......再次...... 500次......”
更好:
function username($username){
if (empty($username) || strlen($username)<$minname || strlen($username)>$maxname)
return true;
else return false;
}
function password($password){
if (empty($password) || strlen($password)<$minpass || strlen($password)>$maxpass)
return true;
else return false;
}
也是逻辑错误:
if(username($username) && password($password)){
应该是
if(username($username) || password($password)){
因为你想:“如果其中一个表达式失败,发送错误信息”
答案 2 :(得分:1)
<?PHP
可能是小写的。还要注意网址,它也区分大小写。