我为登录页面创建了这个简单的PHP代码
<head>
<title>Login Page</title>
</head>
<body>
<form method=POST>
<table>
<tr><th>UserName</th>
<td><input type=text name=user></input></td></tr>
<tr><th>Password</th>
<td><input type=password name=pass></input></td></tr>
<tr><th>Phone Number</th>
<td><input type=text name=phone></input></td></tr>
<tr><th>Email</th>
<td><input type=text name=email></input></td></tr>
<tr><th>City</th>
<td><input type=text name=city></input></td></tr>
<tr><td><input type=submit name=submit value=Submit></input></td></tr>
</table>
</form>
</body>
</html>
<?php
if(isset($_POST['submit']) && !empty($_POST['user']))
{
if(preg_match("/^[a-zA-Z ]{3,40}$/",$_POST['user']))
{
if(preg_match("/^[a-zA-Z0-9]{8,20}$/",$_POST['pass']))
{
if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
if(preg_match("/[0-9]{10}/",$_POST['phone']))
{
$username=$_POST['user'];
$password=$_POST['pass'];
$Email=$_POST['email'];
$phoneNumber=$_POST['phone'];
$con=mysqli_connect("localhost:8080","root","","user");
mysqli_query($con,"insert into user values('$username','$Email','$phoneNumber','$city')");
}
else
{
echo "Invalid Phone number";
}
}
else
{
echo "Invalid Email";
}
}
else
{
echo "Invalid Phone number";
}
}
else
{
echo "Invalid user";
}
}
?>
每当我运行此脚本并尝试将值插入表中时,都会花费大量时间并抛出以下错误/警告。我没有更改用户名和密码,我相信默认情况下它是root和空白。
警告:mysqli_connect():MySQL服务器在第39行的C:\ xampp \ htdocs \ home.php消失了
警告:mysqli_connect():读取问候数据包时出错。第39行的C:\ xampp \ htdocs \ home.php中的PID = 4708
警告:mysqli_connect():( HY000 / 2006):MySQL服务器在第39行的C:\ xampp \ htdocs \ home.php消失了
致命错误:第39行的C:\ xampp \ htdocs \ home.php超出了30秒的最长执行时间
有人可以帮助我,因为我相信问题在于一些端口配置。
谢谢和问候。
答案 0 :(得分:1)
默认情况下,使用XAMPP连接到DB不需要您指定端口。将localhost:8080
替换为localhost
答案 1 :(得分:0)
如果您确定代码正确,则可以增加最长执行时间。 这次是在php.ini配置文件
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30
答案 2 :(得分:0)
以下是编辑过的脚本。 尝试运行它。还要确保mysql正常工作。 登录页面 用户名 密码 电话号码 电子邮件 市
</body>
</html>
<?php
set_time_limit (0);
if(isset($_POST['submit']) && !empty($_POST['user']))
{
if(preg_match("/^[a-zA-Z ]{3,40}$/",$_POST['user']))
{
if(preg_match("/^[a-zA-Z0-9]{8,20}$/",$_POST['pass']))
{
if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
if(preg_match("/[0-9]{10}/",$_POST['phone']))
{
$username=$_POST['user'];
$password=$_POST['pass'];
$Email=$_POST['email'];
$phoneNumber=$_POST['phone'];
$con=mysqli_connect("localhost:8080","root","","user");
mysqli_query($con,"insert into user values('$username','$Email','$phoneNumber','$city')");
}
else
{
echo "Invalid Phone number";
}
}
else
{
echo "Invalid Email";
}
}
else
{
echo "Invalid Phone number";
}
}
else
{
echo "Invalid user";
}
}
?>
答案 3 :(得分:-1)
您不必指定端口号8080以及localhost。只需使用localhost