2015-11-01 105 views
-1

我一直堅持連接註冊尋找通過論壇等幾天沒有錯誤似乎填充頁面,但是當我看看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']))'永遠不會發生。 –

回答

-1

$康恩=新的mysqli($服務器名,用戶名$,$密碼,$ DBNAME);

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

檢查他們

他們還嘗試使用了一些錯誤的PHP代碼塊的最高層彙報..

+0

仔細檢查,並看到我的意見在他們的問題 –

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

錯誤

  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陣列 –