2017-10-19 74 views
0

我的形式,將不會發布數據插入到我的數據庫,我知道這是一個非常基本的問題,但我只是剛剛開始學習代碼數據不會傳遞到數據庫(PHP)

connect_to_mysql.php :

<?php 
    $db_host="localhost"; 
    $db_username="ajamesbird"; 
    $db_pass=""; 
    $db_name="test"; 

    $db_connect = mysql_connect("$db_host","$db_username","$db_pass")or die 
    ("could not connect to mysql"); 
    mysql_select_db("$db_name") or die ("no database"); 

    ?> 

的login.php

<html> 
<?php include "C:\Users\andrew\Documents\Websites\Seller\storescripts\connect_to_mysql.php";?> 
<?php 
if(isset($_POST['loginform'])){ 
    $username = $_POST['username']; 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
    $password = $_POST['password']; 
    $email = $_POST['email']; 
    $dob = $_POST['dob']; 

$sql = ("INSERT INTO users (id, access_level, username, firstname, 
lastname, email, password, dob, date_added, activated) 
     VALUES ('NULL','NULL','$username','$firstname','$lastname','$email', '$password', '$dob', now(), '0')") or die (mysql_error()); 
    if(!mysql_query($db_connect, $sql)){ 
     die('Error inserting into database'); 
} 
} 
?> 
<head> 
<link href="style/css.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
    <form action="login.php" enctype="multipart/form-data" name="loginform" id="loginform" method="post"> 
    <input name="username" type="text" id="username" size="63" class="form-control" value="Username" required/> 
    <input name="firstname" type="text" id="firstname" size="63" class="form-control" value="First name" required/> 
    <input name="lastname" type="text" id="lastname" size="63" class="form-control" value="Last name" required/> 
    <input name="email" type="email" id="email" size="63" class="form-control" value="Email" required/> 
    <input name="password" type="password" id="password" size="63" class="form-control" value="Password" required/> 
    <input name="dob" type="text" id="dob" size="63" class="form-control" value="Date of Birth" required/> 
    <input type="submit" name="button" id="button" size="64" value="Sign Up" /> 
    </form> 
</body> 
</html> 

預先感謝您

+3

是這樣的if(!mysql($ db_')是你真實的代碼嗎?或只是在這裏打字錯誤?我想你已經ment'mysql_query($ db ...)'__BUT__不再使用'mysql_ *'函數了!他們是舊的,不推薦使用,不安全,並在php7_中刪除。使用mysqli_ *或PDO。 – Jeff

+1

你也不能防範SQL注入攻擊。任何進入你的SQL查詢的東西都需要被正確地清理,或者更好的是,使用帶有綁定參數的預處理語句。 – Mike

+0

是的,這是一個錯字,我的錯誤,但我的代碼仍然不起作用 –

回答

0

嘗試移動NAME =「LOGI nform「,並將其置於隱藏輸入中

<html> 
<?php include "C:\Users\andrew\Documents\Websites\Seller\storescripts\connect_to_mysql.php";?> 
<?php 
if(isset($_POST['loginform'])){ 
    $username = $_POST['username']; 
    $firstname = $_POST['firstname']; 
    $lastname = $_POST['lastname']; 
    $password = $_POST['password']; 
    $email = $_POST['email']; 
    $dob = $_POST['dob']; 

$sql = ("INSERT INTO users (id, access_level, username, firstname, 
lastname, email, password, dob, date_added, activated) 
     VALUES ('NULL','NULL','$username','$firstname','$lastname','$email', '$password', '$dob', now(), '0')") or die (mysql_error()); 
    if(!mysql_query($db_connect, $sql)){ 
     die('Error inserting into database'); 
} 
} 
?> 
<head> 
<link href="style/css.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
    <form action="login.php" enctype="multipart/form-data" method="post"> 
    <input name="username" type="text" id="username" size="63" class="form-control" value="Username" required/> 
    <input name="firstname" type="text" id="firstname" size="63" class="form-control" value="First name" required/> 
    <input name="lastname" type="text" id="lastname" size="63" class="form-control" value="Last name" required/> 
    <input name="email" type="email" id="email" size="63" class="form-control" value="Email" required/> 
    <input name="password" type="password" id="password" size="63" class="form-control" value="Password" required/> 
    <input name="dob" type="text" id="dob" size="63" class="form-control" value="Date of Birth" required/> 
    <input type="submit" name="button" id="button" size="64" value="Sign Up" /> 
    <input type="hidden" name="loginform"> 
    </form> 
</body> 
</html> 
+0

重新閱讀評論!還有一件你錯過的重要事情。 – Jeff

+0

我知道關於mysql_ *而不是使用mysqli_ *的問題,並且他存儲純文本密碼,並且他沒有針對SQL注入進行保護。但我專注於$ _POST請求不適合他的問題。現在,當他修復這部分時,他可以專注於更改connect_to_mysql.php中的代碼,並重新執行login.php代碼:) – Sinisa

+0

仍然,'mysql_query($ db_connect,$ sql)'只是錯誤的,會拋出一個錯誤。我在談論beeing棄用。參數切換。 – Jeff