注册错误php,mysql,数据库中没有数据

问题描述:

我一直坚持连接注册寻找通过论坛等几天没有错误似乎填充页面,但是当我看看phpMyAdmin它不' t显示在db中插入的注册信息。注册错误php,mysql,数据库中没有数据

register.php

<?php 

session_start(); 

if(isset($_SESSION['user'])!="") 

{ 

    header("Location: home.php"); 

} 
$servername = "correctly inserted info"; 
$username = "correctly inserted info"; 
$password = "correctly inserted info"; 
$dbname = "correctly inserted info"; 

$conn = new mysqli($servername, $username, $password, $dbname); 



if(isset($_POST['btn-signup'])) 

{ 
$fname = mysql_real_escape_string($_POST['fullname']); 

$uname = mysql_real_escape_string($_POST['username']); 

$email = mysql_real_escape_string($_POST['email']); 

$upass = md5(mysql_real_escape_string($_POST['password'])); 


if(mysql_query("INSERT INTO users(fullname,username,email,password) VALUES('$fname','$uname','$email','$upass')")) 


{ 

    ?> 

    <script>alert('successfully registered');</script> 

    <?php 

} 

else 

{ 

    ?> 

    <script>alert('error while registering you...');</script> 

    <?php 

} 

} 

?> 

registration.php的

<!DOCTYPE html> 
<!--[if IE 9 ]><html class="ie9"><![endif]--> 
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> 
    <meta name="format-detection" content="telephone=no"> 
    <meta charset="UTF-8"> 

    <meta name="description" content="Violate Responsive Admin Template"> 
    <meta name="keywords" content="Super Admin, Admin, Template, Bootstrap"> 

    <title>Super Admin Responsive Template</title> 

    <!-- CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <link href="css/form.css" rel="stylesheet"> 
    <link href="css/style.css" rel="stylesheet"> 
    <link href="css/animate.css" rel="stylesheet"> 
    <link href="css/generics.css" rel="stylesheet"> 
</head> 
    <body id="skin-blur-violate"> 
    <section id="login"> 
     <header> 
      <h1>SUPER ADMIN</h1> 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p> 
     </header> 

     <div class="clearfix"></div> 

     <!-- Login --> 
     <form class="box tile animated active" id="box-login"> 

     <!-- Register --> 
     <?php require_once("register.php"); ?> 

     <form class="box animated tile" id="box-register" method="post"> 

      <h2 class="m-t-0 m-b-15">Register</h2> 
      <input type="text" class="login-control m-b-10" placeholder="Full Name" name="fname" required/> 
      <input type="text" class="login-control m-b-10" placeholder="Username" name="uname" required/> 
      <input type="email" class="login-control m-b-10" placeholder="Email Address" name="email" required/>  
      <input type="password" class="login-control m-b-10" placeholder="Password" name="pass" required/> 

      <button class="btn btn-sm m-r-5" type="submit">Register</button> 

      <small><a class="box-switcher" data-switch="box-login" href="">Already have an Account?</a></small> 
     </form> 

     <!-- Forgot Password --> 

    </section>      

    <!-- Javascript Libraries --> 
    <!-- jQuery --> 
    <script src="js/jquery.min.js"></script> <!-- jQuery Library --> 

     <!-- Bootstrap --> 
     <script src="js/bootstrap.min.js"></script> 

     <!-- Form Related --> 
     <script src="js/icheck.js"></script> <!-- Custom Checkbox + Radio - -> 

     <!-- All JS functions --> 
     <script src="js/functions.js"></script> 
    </body> 
</html> 

我编辑代码,以帮助事业,我还是想出了同样的问题,但许多似乎在正确的轨道上。我交替使用mysql和mysqli。我查看了我的dbconnect.php文件,发现以下内容看起来像我还需要更改,以使其与其他区域中显示的mysqli一致。在正确的轨道上,但还没有。

我刚刚发现虽然dbconnect.php是部署mysql版本而不是mysql版本的任何想法?

我刚刚发现虽然dbconnect.php是部署mysql版本而不是mysql版本的任何想法?

dbconnect.php

<?php 

if(!mysql_connect("correct host","correct username","correct password")) 

{ 

die('oops connection problem ! --> '.mysql_error()); 

} 

if(!mysql_select_db("correct db")) 

{ 

die('oops database selection problem ! --> '.mysql_error()); 

} 



?> 

基于原料的回答,我发现,很多我们正在帮助我在正确的轨道上......这里有其他相关文件,因为一般的主题是我我正在交换mysql和mysqli。它的一部分似乎最初工作,但现在它全部分开,所以如果任何人都可以帮助我把它们全部重新组合在一起再次感激它。我仍然没有回复数据库,因此我正在进行编辑。

的index.php

<?php 

session_start(); 

include_once 'dbconnect.php'; 



if(isset($_SESSION['user'])!="") 

{ 

header("Location: home.php"); 

} 



if(isset($_POST['btn-login'])) 

{ 

$email = mysql_real_escape_string($_POST['email']); 

$upass = mysql_real_escape_string($_POST['pass']); 

$res=mysql_query("SELECT * FROM users WHERE email='$email'"); 

$row=mysql_fetch_array($res); 



if($row['password']==md5($upass)) 

{ 

    $_SESSION['user'] = $row['user_id']; 

    header("Location: home.php"); 

} 

else 

{ 

    ?> 

    <script>alert('wrong details');</script> 

    <?php 

} 



} 

?> 

只是让我显示所有我在这个过程中....我也把我的login.php文件,所以希望我能得到这一切解决。

的login.php

<!DOCTYPE html> 
<!--[if IE 9 ]><html class="ie9"><![endif]--> 
<head> 
    <meta name="viewport" content="width=device-width, initial- scale=1.0, maximum-scale=1.0" /> 
    <meta name="format-detection" content="telephone=no"> 
    <meta charset="UTF-8"> 

    <meta name="description" content="Violate Responsive Admin Template"> 
    <meta name="keywords" content="Super Admin, Admin, Template, Bootstrap"> 

    <title>Super Admin Responsive Template</title> 

    <!-- CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <link href="css/form.css" rel="stylesheet"> 
    <link href="css/style.css" rel="stylesheet"> 
    <link href="css/animate.css" rel="stylesheet"> 
    <link href="css/generics.css" rel="stylesheet"> 
</head> 
<body id="skin-blur-violate"> 
    <section id="login"> 
     <header> 
      <h1>SUPER ADMIN</h1> 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p> 
     </header> 

     <div class="clearfix"></div> 

     <!-- Login --> 
     <?php require_once("index.php"); ?> 

<form class="box tile animated active" id="box-login"> 
      <h2 class="m-t-0 m-b-15">Login</h2> 
      <input type="text" class="login-control m-b-10" placeholder="Username or Email Address"> 
      <input type="password" class="login-control" placeholder="Password"> 
      <div class="checkbox m-b-20"> 
       <label> 
        <input type="checkbox"> 
        Remember Me 
       </label> 
      </div> 
      <button type="submit" name="btn-login" class="btn btn-sm m-r-5">Sign In</button> 

      <small> 
       <a href="registration.php">Don't have an Account?</a> or 
       <a class="box-switcher" data-switch="box-reset" href="">Forgot Password?</a> 
      </small> 
     </form> 

     <!-- Forgot Password --> 
     <form class="box animated tile" id="box-reset"> 
      <h2 class="m-t-0 m-b-15">Reset Password</h2> 
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p> 
      <input type="email" class="login-control m-b-20" placeholder="Email Address">  

      <button class="btn btn-sm m-r-5">Reset Password</button> 

      <small><a class="box-switcher" data-switch="box-login" href="">Already have an Account?</a></small> 
     </form> 
    </section>      

    <!-- Javascript Libraries --> 
    <!-- jQuery --> 
    <script src="js/jquery.min.js"></script> <!-- jQuery Library --> 

    <!-- Bootstrap --> 
    <script src="js/bootstrap.min.js"></script> 

    <!-- Form Related --> 
    <script src="js/icheck.js"></script> <!-- Custom Checkbox + Radio --> 

    <!-- All JS functions --> 
    <script src="js/functions.js"></script> 
</body> 
</html> 
+1

你正在混淆'mysql'和'mysqli' – RamRaider

+0

,这是因为两个原因而失败的if(isset($ _ SESSION ['user'])!=“”)' - 此外,这段代码非常熟悉。你已经从以前发布的问题的相同的地方采取了这一点。 –

+0

和你的POST数组失败了,到目前为止所有答案的东西都没有找到。您的代码字面上拼接了语法错误。哦,如果(isset($ _ POST ['btn-signup']))'永远不会发生。 –

$康恩=新的mysqli($服务器名,用户名$,$密码,$ DBNAME);

$ fname = mysql _real_escape_string($ _ POST ['fullname']);

检查他们

他们还尝试使用了一些错误的PHP代码块的最高层汇报..

+0

仔细检查,并看到我的意见在他们的问题 –

正如在评论中提到,你是混合两种mysqlmysqli扩展。

<?php 
    session_start(); 
    error_reporting(E_ALL); 

    if(isset($_SESSION['user']) && !empty($_SESSION['user'])) header("location: home.php"); 


    $servername = "correctly inserted info"; 
    $username = "correctly inserted info"; 
    $password = "correctly inserted info"; 
    $dbname = "correctly inserted info"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 


    /* Could not see a form element with that name: $_POST['btn-signup'] */ 

    if(isset($_POST['fullname'], $_POST['username'], $_POST['email'], $_POST['password'])) { 
     $fname = mysqli_real_escape_string($conn, $_POST['fullname']); 
     $uname = mysqli_real_escape_string($conn, $_POST['username']); 
     $email = mysqli_real_escape_string($conn, $_POST['email']); 
     $upass = md5(mysqli_real_escape_string($conn, $_POST['password'])); 

     /* Had ommitted the connection object */ 
     if(mysqli_query($conn, "INSERT INTO `users` (`fullname`, `username`, `email`, `password`) VALUES ('$fname', '$uname', '$email', '$upass')")) { 
      echo "<script>alert('successfully registered');</script>"; 
     } else { 
      echo "<script>alert('error while registering you...');</script>"; 
     } 
    } 

?> 
+0

仔细检查,并看到我的意见下他们的问题 –

+0

我调整了,似乎并没有任何改变......点击注册时屏幕闪烁,但没有出现在数据库......我确定服务器名称,用户名,密码和dbname都是正确的。 – Stuzzle

错误

  1. 冲突的mysqlmysqli
  2. name属性是不是在这里<button class="btn btn-sm m-r-5" type="submit">Register</button>
  3. 定义register.php您检查isset与类这将永远不会奏效if(isset($_POST['btn-signup']))
  4. 以及您name场检索字段有误。(表格 - placeholder="Full Name" name="fname" /代码 - mysql_real_escape_string($_POST['fullname'])

改进

要检查变量为空或空使用empty()关键字

更改此

if(isset($_SESSION['user'])!="") 

{ 

    header("Location: home.php"); 

} 

这个

if(!empty($_SESSION['user'])){ 
    header("Location: home.php"); 
} 

错误修正代码

register.php

if(isset($_POST['register'])){ 

    $fname = mysqli_real_escape_string($conn, $_POST['fname']); 
    $uname = mysqli_real_escape_string($conn, $_POST['uname']); 
    $email = mysqli_real_escape_string($conn, $_POST['email']); 
    $upass = md5(mysqli_real_escape_string($conn, $_POST['pass'])); 

    $sql = "INSERT INTO users(fullname,username,email,password) VALUES('$fname','$uname','$email','$upass')"; 
    if(mysqli_query($conn, $sql)) 
    { 
     ?> 
     <script> 
      alert('successfully registered'); 
     </script> 
     <?php 
    } 
    else{ 
     ?> 
     <script> 
      alert('error while registering you...'); 
     </script> 
     <?php 
    } 

} 

registration.php

<button class="btn btn-sm m-r-5" type="submit" name="register">Register</button> 
+0

仔细检查并在他们的问题下看到我的意见 –

+0

@ Fred-ii-我没有让你 –

+0

看看他们的表单和POST阵列 –