<?php
header('Content-Type:text/html;charset=utf-8');
include('function.php');
require 'config.php';
$email=$_POST['email'];
if($email==''){
$array=[
'code'=>'获取验证码失败',
'msg'=>'请输入邮箱'
];
echo json_encode($array);
}
else{
$Epattern = '/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i';
if(preg_match($Epattern, $email)){
//链接数据库
$con = mysqli_connect($config['host'], $config['sqluser'], $config['sqlpass'], $config['dbname']);
//创建数据表
$sql = "create table YZM (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
email text,
yzm text,
time text,
zt text)";
mysqli_query($con, $sql);
//判断是否频繁操作
$result2 = mysqli_query($con, "SELECT * FROM YZM WHERE email='$email' order by id desc ");
$emailcz='false';
while($rows = mysqli_fetch_array($result2)){
$get_time = $rows['time'];
$now=time()-180;
if($get_time>$now){
$emailcz='true';
}
}
if($emailcz=='false'){
function randomkeys($length)
{
$pattern = '1234567890abcdefghijklmnopqrstuvwxyz';
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
$yzm= randomkeys(5);
$date=time();
$sqls="insert into YZM (email,yzm,time,zt) values ('$email','$yzm','$date','false')";
$fs = mysqli_query($con, $sqls);
if($fs){
require_once("./functions.php");
$nr='你的验证码:'.$yzm.'<br>五分钟内有效';
require_once("functions.php");
$flag = sendMail($email,"注册验证码",$nr);
if($flag){
$array=[
'code'=>'获取验证码成功',
'msg'=>'发送邮件成功'
];
echo json_encode($array);
}
else{
$array=[
'code'=>'获取验证码失败',
'msg'=>'出现未知错误'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'获取验证码失败',
'msg'=>'写入数据库失败'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'获取验证码失败',
'msg'=>'三分钟内只能获取一次验证码'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'获取验证码失败',
'msg'=>'请输入正确的邮箱账号'
];
echo json_encode($array);
}
}
?>
zc.php
<?php
header('Content-Type:text/html;charset=utf-8');
include('function.php');
require 'config.php';
$user=$_POST['user'];
$pass=$_POST['pass'];
$email=$_POST['email'];
$QQ=$_POST['QQ'];
$yzm=$_POST['yzm'];
if($user==''||$pass==''||$email==''||$QQ==''||$yzm==''){
$array=[
'code'=>'注册失败',
'msg'=>'参数不完整'
];
echo json_encode($array);
}
else{
$Epattern = '/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i';
if(!preg_match($Epattern, $email)){
$array=[
'code'=>'注册失败',
'msg'=>'邮箱格式错误'
];
echo json_encode($array);
}
else{
if(is_numeric($user)){
if(testpw($pass)){
if(is_numeric($user)){
if(strlen($user)<5||strlen($user)>12){
$array=[
'code'=>'注册失败',
'msg'=>'账号长度只能是5-12个字符数'
];
echo json_encode($array);
}
else{
if(strlen($pass)<6||strlen($pass)>18){
$array=[
'code'=>'注册失败',
'msg'=>'密码长度只能是6-18个字符数'
];
echo json_encode($array);
}
else{
//创建数据库链接
$con = mysqli_connect($config['host'], $config['sqluser'], $config['sqlpass'], $config['dbname']);
//判断账号是否存在
$user1 = mysqli_query($con, "select `id` from `user` where user='{$user}'");
if(mysqli_num_rows($user1)>0){
$array=[
'code'=>'注册失败',
'msg'=>'账号已存在'
];
echo json_encode($array);
}
else{
//判断邮箱是否存在
$email1 = mysqli_query($con, "select `email` from `user` where email='$email'");
if(mysqli_num_rows($email1)>0){
$array=[
'code'=>'注册失败',
'msg'=>'该邮箱已注册过账号,忘记密码请点击找回密码'
];
echo json_encode($array);
}
else{
//验证码验证
$yzmzt = '-1';
$result2 = mysqli_query($con, "SELECT * FROM YZM WHERE email='$email'and yzm='$yzm'");
while ($row = mysqli_fetch_array($result2)) {
$yzmzt='2';
$get_time = $row['time'];
$now = time() - 60 * 5;
if ($get_time < $now) {
$yzmzt='0';
}
if ($row['zt'] == 'true') {
$yzmzt='1';
}
}
if($yzmzt=='-1'){
$array=[
'code'=>'注册失败',
'msg'=>'验证码错误'
];
echo json_encode($array);
}
else if($yzmzt=='0'){
$array=[
'code'=>'注册失败',
'msg'=>'验证码已超时,请重新获取验证码'
];
echo json_encode($array);
}
else if($yzmzt=='1'){
$array=[
'code'=>'注册失败',
'msg'=>'验证码已被使用'
];
echo json_encode($array);
}
else{
//写入注册数据
$date = date("Y-m-d H:i:s");
$vip=time();
$sql = "INSERT INTO `user` (user,pass,email,zctime,viptime,QQ,API) VALUES ('$user','$pass','$email','$date','$vip','$QQ','1')";
$zc = mysqli_query($con, $sql);
if($zc){
$user2=base64_encode($user);
if(mkdir('user/'.$user2,0777,true)){
//验证码失效操作
mysqli_query($con, "update YZM set zt='true' where email='$email' and yzm='$yzm'");
//创建独立商城系统
$apifk1="CREATE TABLE `$user` (id INT(1) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title text COLLATE utf8_unicode_ci NOT NULL,content text COLLATE utf8_unicode_ci NOT NULL,img text NOT NULL,link text NOT NULL,coin text NOT NULL,sell text NOT NULL,time text NOT NULL)";
$apifkcj=$con->query($apifk1);
$array=[
'code'=>'注册成功',
'msg'=>'欢迎您的加入'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'注册失败',
'msg'=>'写入数据库失败'
];
echo json_encode($array);
}
}
}
//
}
}
}
}
else{
$array=[
'code'=>'注册失败',
'msg'=>'QQ号只能是数字'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'注册失败',
'msg'=>'密码只能是数字,点,下划线,字母等'
];
echo json_encode($array);
}
}
else{
$array=[
'code'=>'注册失败',
'msg'=>'账号只能是数字'
];
echo json_encode($array);
}
}
}
?>
正好周末,可以远程支持你
邮件内容长度过长造成的
根据提供的问题,需要优化的是邮箱代码,但是具体的代码片段并没有提供。所以,我无法给出具体的解决方案。请提供完整的代码片段或者具体的报错信息,以便我能够帮助你解决问题。如果你没有提供完整的代码片段或者报错信息,我建议你检查一下代码,查看是否有语法错误、变量未定义或者其他常见的错误。另外,你还可以尝试使用调试工具去找到问题所在。如果你需要更多帮助,请提供更多详细信息。感谢理解。
不再支持使用花括号{}来访问数组和字符串索引,这是PHP 5.4以前的语法
参考 https://www.twle.cn/t/37647
如果你的邮箱代码报错,而你无法确定问题的具体原因,可以尝试以下几个步骤来进行故障排除:
检查错误信息:仔细阅读错误消息,了解报错的具体内容。错误消息通常会提供一些关键信息,比如代码的哪一行出错以及出错的类型。这有助于你定位问题的所在。
查看文档和示例:检查使用的邮箱库或框架的文档和示例,并尝试按照指导进行操作。文档通常提供了代码示例和常见问题解答,以帮助你快速解决问题。
检查代码逻辑:仔细检查你的邮箱代码的逻辑和语法是否正确。确保所有的变量、函数和方法的命名正确,参数传递正确,并且语法没有错误。
检查邮箱配置:确保你的邮箱配置正确无误。检查邮箱服务器地址、端口号、用户名、密码等配置项是否正确设置。还可以尝试使用其他简单的邮箱操作来验证配置是否正确,比如发送简单的测试邮件。
调试代码:使用调试工具或技术,例如在代码中插入打印语句,以便了解代码执行过程中的中间结果和变量的值。通过定位问题出现的位置,可以更准确地找到问题所在。
记住,在调试代码的过程中,需要耐心和持续的尝试。有时候,问题的解决可能需要一些时间和额外的资源,但通过不断尝试和寻求帮助,相信你能找到解决方案。
第42行,=前面多写了个.
报错信息是什么? 你把代码复制到代码标签里,不要发截图。