我试图将数据从注册表单插入到数据库中,但是当我点击注册时,我在数据库中看不到任何内容。
我真的需要解决这个问题,以便我能够插入到我的数据库中。我无法确定问题的来源。非常感谢您的贡献。
这是我的代码帮助我。请帮帮我。
<?php
session_start();
$server = 'localhost';
$users = 'root';
$pass = '';
$dataBase = 'accounts';
$_SESSION['message'] = '';
$mysqli = new mysqli($server, $users, $pass, $dataBase) or die("Not connected");
if($mysqli){
echo 'Connected Successfully';
}
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
//The two passwords are equal to each other
if($_POST['Password'] == $_POST['ConfirmPassword']){
$username = $mysqli->real_escape_string($_POST["username"]);
$email = $mysqli->real_escape_string($_POST['email']);
$password = md5($_POST['Password']); //hash password security
$phone = $mysqli->real_escape_string($_POST['Number']);
$_SESSION['username'] = $username;
$sql = "INSERT INTO user (username, email, password, phone) VALUES ('$username','$email','$password','$phone')";
//if the query is correct, then redirect to a welcome.php page. done!
if($mysqli->query($sql) === true){
$_SESSION['message'] = "Registration successful! $username is now a member";
header("location: login.php");
echo 'Successfully Registered!';
}
else{
$_SESSION['message'] == "Sorry you are not registered, check your field";
}
}
else{
$_SESSION['message'] == "Passwords do not match!";
}
}
?>
<body class="bg agileinfo">
<h1 class="agile_head text-center" style="color:#000"> Welcome</h1>
<div class="w3layouts_main wrap">
<!--Horizontal Tab-->
<div id="parentHorizontalTab_agile">
<ul class="resp-tabs-list hor_1">
<!-- <li>LogIn</li> -->
<li>SignUp</li>
</ul>
<div class="agile_its_registration">
<form action="#" method="post" class="agile_form">
<div class="alert alert-error"><?=$_SESSION['message'] ?></div>
<p>Username</p>
<input type="text" name="username" required="required" />
<p>Email</p>
<input type="email" name="email" required="required" />
<p>Phone Number</p>
<input type="text" name="Number" required="required" />
<p>Password</p>
<input type="password" name="Password" required="required" id="Password">
<p>Confirm Password</p>
<input type="password" name="ConfirmPassword" required="required" id="ConfirmPassword">
<div class="check w3_agileits">
<label class="checkbox w3"><input type="checkbox" name="checkbox" required="required" ><i> </i>I accept the terms and conditions</label>
</div>
<input type="submit" value="Signup"/>
<input type="reset" value="Reset" />
</form>
</div>
</div>
</div>
</body>
答案 0 :(得分:0)
将名称提交给提交按钮 并使用
if (isset($_POST['submit'])){
}
insted of
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
}
答案 1 :(得分:0)
可能是您的SQL查询出错,只需回显$sql
并将输出运行到phpmyadmin
。
示例:
$sql = "INSERT INTO user (username, email, password, phone) VALUES ('$username','$email','$password','$phone')";
echo $sql;
exit();
然后将输出运行到phpmyadmin
。
答案 2 :(得分:0)
您还可以在行动中加入php_self:
<?php echo $_SERVER['PHP_SELF']; ?>
并使您的SQL查询更改
$sql = "INSERT INTO user (username, email, password, phone) VALUES ('".$username."','".$email."','".$password."','".$phone."')";
希望这有帮助!!!
答案 3 :(得分:0)
你的变量被视为字符串,所以试试这个:
$sql = "INSERT INTO user (username, email, password, phone) VALUES ('".$username."','".$email."','".$password."','".$phone."')";