【发布时间】:2017-05-25 09:35:44
【问题描述】:
session_start();
include('dbconn.php');
if(isset($_POST['registerform']) || isset($_POST['loginform'])) {
if(isset($_POST['registerform']) && $_POST['registerform']){
//register
if(isset($_POST['username']) && !empty($_POST['username'])
&& isset($_POST['password']) && !empty($_POST['password'])
&& isset($_POST['fname']) && !empty($_POST['fname'])
&& isset($_POST['lname']) && !empty($_POST['lname'])
&& isset($_POST['email']) && !empty($_POST['email'])){
//ean einai gemata me kati ta paidia
$myName=trim($_POST['username']);
$myPass= md5(trim($_POST['password']));
$fName=trim($_POST['fname']);
$lName=trim($_POST['lname']);
$eMail=trim($_POST['email']);
if($stmt = $mysqli->prepare("INSTERT INTO users(username,password,fname,lname,email) VALUES (?, ?, ?, ?, ?)")) {
$stmt->bind_param('sssss',$name,$pass,$fname,$lname,$email);
$name = $myName;
$pass = $myPass;
$fname = $fName;
$lname = $lName;
$email = $eMail;
$stmt-> execute();
$stmt-> close();
}
}
}
}else{
echo "no form submited";
}
这是数据库连接
<?php
$host = "localhost";
$username = "root";
$password = "";
$db_name = "phpwebsite";
$mysqli = new mysqli("$host","$username","$password","$db_name");
// Check connection
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
?>
我认为问题在于插入语句,因为其他一切似乎都运行良好。当我按下注册按钮时,没有出现错误。唯一的问题是这些值不会进入数据库
【问题讨论】:
-
错字错过拼写
INSTERT -
很棒的收获。此外,
!empty()如果您只想确保变量不为空,就足够了 -
制作
INSTERT到INSERT并尝试 -
ty 非常多,但现在的问题是执行 stmt 没有执行:(
-
MD5 不足以进行密码散列。请改用
password_hash()和password_verify()。