2015-08-16 53 views
3

。當我填寫表格並提交時,我的register.php頁面是空白的,成功或錯誤消息都不會回顯到頁面上。發送HTML表單數據我無法讓我的HTML表單輸入數據通過PHP MySQL數據庫存儲MySQL數據庫

注:是的,我有一個root密碼和數據庫名稱。在我的代碼中,兩者都填寫正確,我只是刪除了他們的這篇文章。

編輯:分號固定,仍然獲得未知的錯誤。

HTML表單:

<form action="register.php" method="POST"> 
       <input type="text" name="first_name" placeholder="first name" /><br /><br /> 
       <input type="text" name="last_name" placeholder="last name" /><br /><br /> 
       <input type="text" name="email" placeholder="email address" /><br /><br /> 
       <input type="text" name="password" placeholder="password" /><br /><br /> 
       <input type="submit" name="register" value="Sign Up" /> 
      </form> 

register.php

<?php 
if (isset($_POST['register'])) { 
    $host = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $database = ""; 
    $conn = mysqli_connect($host, $username, $password, $database); 

    if (mysqli_connect_errno($conn)) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $first_name = mysqli_real_escape_string($_POST['first_name']); 
    $last_name = mysqli_real_escape_string($_POST['last_name']); 
    $email = mysqli_real_escape_string($_POST['email']); 
    $password = mysqli_real_escape_string($_POST['password']); 
    $date = date("Y-m-d"); 

    $password = md5($password); 

    $sql = "INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('$first_name', '$last_name', '$email', '$password', '$date')"; 

    if (!mysqli_query($sql)) { 
     die('Error: ' .mysqli_error()); 
    } 

    echo "Entry added successfully"; 

    mysqli_close($conn); 
} 
?> 
+0

你試圖填寫的數據庫字段?如果它仍然是一個問題,你甚至可以直接從你的URL訪問'register.php'?另外,確保你有'error_reporting'。 – CodeGodie

+0

你確定'register'的確在'$ _POST'中嗎?您可以在顯示的代碼末尾使用'else'語句來檢查它,回顯類似'寄存器未設置'的內容。 –

回答

7

試試這個:

<?php 
if (isset($_POST['register'])) { 
    $host = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $database = ""; //also added semi colon and what database name 
    $conn = mysqli_connect($host, $username, $password, $database); 

    if (mysqli_connect_errno($conn)) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $first_name = mysqli_real_escape_string($conn,$_POST['first_name']); //I've added $conn inside mysqli_real_escape_string expected 1st param 
    $last_name = mysqli_real_escape_string($conn,$_POST['last_name']); 
    $email = mysqli_real_escape_string($conn,$_POST['email']); 
    $password = mysqli_real_escape_string($conn,$_POST['password']); 
    $date = date("Y-m-d"); 

    $password = md5($password); 

    $sql = "INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('$first_name', '$last_name', '$email', '$password', '$date')"; 
    $query = mysqli_query($conn, $sql); // I think this will add data in your database. 

    if (!$conn) { //I change this from mysql_query($sql) 
     die('Error: ' .mysqli_error()); 
    } else { 
     echo "Entry added successfully"; 

     mysqli_close($conn); 
    } 
} 
+0

@t_soist如果它解決了您的問題,請將其標記出來。 Tnx – aldrin27

+0

固定分號,現在只是出現「錯誤:」,沒有代碼或錯誤消息。 –

+0

你應該在'$ database'裏面添加一個數據庫名稱 – aldrin27

0

您在這裏有一個語法錯誤(缺少分號):

$database = "" 

應該

$database = ""; 

如果你在錯誤報告功能後,您會看到致命的錯誤,而不是空白頁

+0

我們在同一時間發佈:) –

0

你在形式的錯字:

$database = "" 

(缺少分號)

請試試這個 - 加$康恩爭論。

if (isset($_POST['register'])) { 
    $host = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $database = ""; 
    $conn = mysqli_connect($host, $username, $password, $database); 

    if (mysqli_connect_errno($conn)) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $first_name = mysqli_real_escape_string($conn,$_POST['first_name']); 
    $last_name = mysqli_real_escape_string($conn,$_POST['last_name']); 
    $email = mysqli_real_escape_string($conn,$_POST['email']); 
    $password = mysqli_real_escape_string($conn,$_POST['password']); 
    $date = date("Y-m-d"); 

    $password = md5($password); 

    $sql = "INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('$first_name', '$last_name', '$email', '$password', '$date')"; 

    if (!mysqli_query($conn, $sql)) { 
     die('Error: ' .mysqli_error($conn)); 
    } 

    echo "Entry added successfully"; 

    mysqli_close($conn); 
} 

這是sql和我得到的錯誤 - 當然缺少的表。

INSERT INTO users (first_name, last_name, email, password, sign_up_date) VALUES ('a', 'a', 'a', '0cc175b9c0f1b6a831c399e269772661', '2015-08-16') 
+0

它總是簡單的事情......這確實有幫助,但仍然收到錯誤消息。 –

+1

請擺脫'**',OP和其他人可能認爲它屬於那裏。你應該只是記錄下來,並使用正確的語法。 –

+0

謝謝,你是對的 –

0

嘗試

if (!$conn) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
      . mysqli_connect_error()); 
} 

,以確保沒有連接問題是存在的。

關於

my register.php page is blank, with neither the success or error message

您需要啓用的error_reporting(在php.ini中)看到的錯誤。 在開發過程中至少啓用錯誤報告。

暫時把error_reporting(-1);在register.php開始

0

的錯誤是在這一行:

$database = "" 

您忘記;

而你需要設置數據庫名稱,那麼數據庫名可以」 t是空的。

$database = "Your_DB_Name"; 
相關問題