jc_wt_thu 2021-02-15 16:18 采纳率: 100%
浏览 42

一个大一萌新在使用php创建留言板中遇到的问题,请求大佬解答

这幅图是报错,开始我设置的是128mb的内存,修改到1gb后依然是这样的错误 .

以下是相关代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width ,initial-scale=1,minimum-scale=1,user-scalable=no">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link type="text/css" rel="stylesheet" href="register.css">
  <style>
      body{height: 500px; width: 100%;padding: 0px;margin: 0px;position: relative;background-color: darksalmon;}
  </style>
</head>
<body>
  <div class="bigbox">
      <table>
          <h1 class="title">请在此注册哦!</h1>
          <form method="POST" action="doregister.php">
              <tr>
                <td align="center">用户名</td>
                <td><input type="text" name="username" placeholder="您的用户名不能超过10个字符"</td>
  
              </tr>
              <tr>
                <td align="center">密码</td>
                <td><input type="password" name="passwd1" placeholder="输入密码,不得超过16个字符"</td>

              </tr>
              <tr>
                <td align="center">再次确认密码</td>
                <td><input type="password" name="passwd2" placeholder="再次输入您的密码"</td>  
              </tr>
              <tr>
                <td><input type="submit" name="confirm" value="确认注册"  class="confirm"></td>
              </tr>
          </form>
      </table>

  </div>
</body>
</html>

doregister.php 

<?php 
require_once 'config.php';
$convey = new DB();
$link = $convey->connect();
$username=$_POST['username'];
$passwd1=$_POST['passwd1'];
$passwd2=$_POST['passwd2'];
if($passwd1!=$passwd2){
    echo "<script>alert('两次输入的密码不相等');location='register.html';</script>";
}
if($username==null&&$passwd1==null){
    echo "<script>alert('请输入密码或用户名');location='register.html';</script>";
    
}
else {
  $SQL="select * from users";
  $result=array();
  $result=$convey->query($link,$SQL);
  $sql="insert into users (username,password) values('$username','$passwd1')";
  for($i=0;$i<count($result);$i++){
      if($username!=$result[$i]['username']){ 
        
        $result=$convey->insert($link,$sql);
      }
      if($username==$result[$i]['username']){
          echo "<script>alert('该用户名已存在!');location ='register.html';</script>";
      }

  }
}
?>
<?php 
define('host','localhost');
define('user','root');
define('password','');
define('database','db1');

class DB{
   //连接数据库
    function connect(){
        @$link=mysqli_connect(host,user,password,database);
        if(mysqli_connect_errno()){
            die('数据库连接失败'.mysqli_connect_errno());
        }
        return $link;
    }
    //查询数据

    function query($link,$SQL){
     
     
     $result= mysqli_query($link,$SQL);
     
     $row=mysqli_fetch_array($result);
     while($row){
         $data[]=$row;  //报错出问题的一行
     }
     if($data){
         return $data;
     }
     else{
         return false;
     }
    }
    //插入数据
    function insert($link,$sql){
       
        if (mysqli_query($link,$sql)) { 
            echo "<script> alert('注册成功!');location='login.html'; </script>"; 
        } else { 
            echo "Error insert data: " . $link->error; 
        }
   
    }  
    //登录判断
    function login($link,$sql){
      $result=mysqli_query($link,$sql);
      $num=mysqli_num_rows($result);
      if($num!=0){
          return true;
      }
      else{
          return false;
      }
    }
}
?>
  • 写回答

1条回答 默认 最新

  • jc_wt_thu 2021-02-15 19:52
    关注
    <?php 
    require 'config.php';
    $convey = new DB();
    $link = $convey->connect();
    $username=$_POST['username'];
    $passwd1=$_POST['passwd1'];
    $passwd2=$_POST['passwd2'];
    if($passwd1!=$passwd2){
        echo "<script>alert('两次输入的密码不相等');location='register.html';</script>";
    }
    if($username==null&&$passwd1==null){
        echo "<script>alert('请输入密码或用户名');location='register.html';</script>";
        
    }
    else {
      $SQL="select * from users where username='$username'";
      
      $result=$convey->query($link,$SQL);
      $sql="insert into users (username,passwords) values('$username','$passwd1')";
      
          if($result){
              echo "<script>alert('该用户名已存在!');location='register.html'</script>";
          }
          else{
            $result=$convey->insert($link,$sql);
            
          }
    
      
     }
    ?>
    <?php 
    define('host','localhost');
    define('user','root');
    define('password','');
    define('database','db1');
    
    class DB{
       //连接数据库
        function connect(){
            @$link=mysqli_connect(host,user,password,database);
            if(mysqli_connect_errno()){
                die('数据库连接失败'.mysqli_connect_errno());
            }
            return $link;
        }
        //查询数据
    
        function query($link,$SQL){
         
         
         $result= mysqli_query($link,$SQL);
         $final=mysqli_num_rows($result);
         return $final;
        
         }
        //插入数据
        function insert($link,$sql){
           
            if (mysqli_query($link,$sql)) { 
                echo "<script> alert('注册成功!');location='login.html'; </script>"; 
            } else { 
                echo "Error insert data: " . $link->error; 
            }
       
        }  
        //登录判断
        function login($link,$sql){
          $result=mysqli_query($link,$sql);
          $num=mysqli_num_rows($result);  
          if($num!=0){
              return true;
          }
          else{
              return false;
          }
        }
    }
    ?>

    我对自己的代码进行纠正后解决了上面的问题,但是有没有大佬说说上面的问题是如何产生的

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置