2017-10-19 73 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