Javascript 尝试将数据插入mySql数据库时出错
在这些日子里,我试图用php和mySql编写一种注册登录系统,但不知怎的,我成功地做到了;现在我想把所有的东西放在一个新的带有弹出窗口的页面上:你按下“注册”或“登录”按钮,屏幕上出现一个包含所有东西的窗口,这就是我所做的:Javascript 尝试将数据插入mySql数据库时出错,javascript,html,ajax,Javascript,Html,Ajax,在这些日子里,我试图用php和mySql编写一种注册登录系统,但不知怎的,我成功地做到了;现在我想把所有的东西放在一个新的带有弹出窗口的页面上:你按下“注册”或“登录”按钮,屏幕上出现一个包含所有东西的窗口,这就是我所做的: <!DOCTYPE html> <html> <head> <title>FindMyChamp</title> </head> <body> <style type="text/cs
<!DOCTYPE html>
<html>
<head>
<title>FindMyChamp</title>
</head>
<body>
<style type="text/css">
.popUpBox{
display: none;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: rgba(0,0,0,0.4);
}
.popUpBoxBody{
margin: 15% auto;
padding: 15px;
background-color: #fefefe;
width: 30%;
}
.closeBtn{
float: right;
font-size: 28px;
}
.container{
width: 300px;
clear: both;
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.container input{
width: 100%;
clear: both;
}
#send{
width: 50%;
}
</style>
<h1>Test</h1>
<p id="popUpTrigger">Register</p>
<p>Login</p>
<div id="divPopUp" class="popUpBox">
<div class="popUpBoxBody">
<span id="popUpCloser" class="closeBtn">×</span>
<div class="container">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Username: <input type="text" name="username">
Password: <input type="password" name="password">
Repeat Password: <input type="password" name="passwordCheck"><br><br>
<input value="Send" id="send" type="submit" name="sub">
</form>
<?php include('registration.php') ?>
</div>
</div>
</div>
<script type="text/javascript">
var btnOpen = document.getElementById("popUpTrigger");
var popUp = document.getElementById("divPopUp");
var btnClose = document.getElementById("popUpCloser")
btnOpen.onclick = function(){
popUp.style.display = "block";
}
btnClose.onclick = function(){
popUp.style.display ="none";
}
</script>
FindMyChamp
Popupox先生{
显示:无;
位置:固定;
宽度:100%;
身高:100%;
排名:0;
左:0;
背景色:rgba(0,0,0,0.4);
}
.PopuboxBody{
利润率:15%;
填充:15px;
背景色:#fefe;
宽度:30%;
}
.关闭{
浮动:对;
字号:28px;
}
.集装箱{
宽度:300px;
明确:两者皆有;
显示:块;
左边距:自动;
右边距:自动;
文本对齐:居中;
}
.容器输入{
宽度:100%;
明确:两者皆有;
}
#发送{
宽度:50%;
}
试验
寄存器
登录
&时代;
使用ajax,您可以在register.php中执行代码,而无需刷新页面
您必须删除退出();这个问题与php或mysql无关,这是纯前端相关的。Usr ajax在后台将faya发送到服务器。
<?php
function test_input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if(isset($_POST["sub"])){
$username = $password = $passwordCheck = "";
$flag = true;
$con = mysql_connect('localhost','root','Testpass');
if($_SERVER["REQUEST_METHOD"] == "POST"){
//Controllo se i campi sono vuoti
if(empty($_POST["username"])){
echo "The field 'Username' is required<br>";
} else{
$username = test_input($_POST["username"]);
}
if(empty($_POST["password"])){
echo "The field 'Password' is required<br>";
$flag = false;
} else{
$password = test_input($_POST["password"]);
}
if(empty($_POST["passwordCheck"])){
echo "The field 'Repeat Password' is required<br>";
$flag = false;
} else{
$passwordCheck = test_input($_POST["passwordCheck"]);
}
}
if($password == $passwordCheck && $password != ""){
mysql_select_db('tutorials');
$checkUsernameDuplicate = mysql_query("SELECT * FROM registration WHERE username = '$username'");
if(mysql_num_rows($checkUsernameDuplicate) <= 0){
$cost = 10;
$salt = strtr(base64_encode(mcrypt_create_iv(16,MCRYPT_DEV_URANDOM)), '+', '.');
$salt = sprintf("$2a$%02d$", $cost). $salt;
$hash = crypt($password, $salt);
$sql = "INSERT INTO registration(username,password) VALUES('$username','$hash')";
$retvalue = mysql_query($sql,$con);
if(!$retvalue){
echo "Something went wrong";
} else{
echo "Dati inseriti";
//header("Location: http://localhost/database/login.php");
exit();
}
} else{
echo "Username aldready taken";
}
mysql_close($con);
}
elseif($flag){
echo "<p style='color: red;'>The two password must match</p>";
}
}
?>