我有一个用于完美工作的登录系统,我正在编辑并且我的电脑失去了力量,某处有一个错误,我无法看到是否寻找。
有人能发现吗?
<?php
if(isset($_SESSION['login_user'])){
header("location: home.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Network TV Registration</title>
<link href="css/bootstrap.css" rel="stylesheet">
</head>
<body style="background-image: url(http://axeetech.com/wp-content/uploads/2014/09/downtown_nightime_wallpaper_4k.jpeg); background-size: 100%">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
<div class="row">
<div class=".col-md-4">
<div id="login-overlay" class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<h3><center><u>Network TV Registration</u></center></h3>
</div>
</div>
</div>
</div>
</div>
<div class=".col-md-4">
<div id="login-overlay" class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<div class="col-xs-6">
<div class="">
<form id="register-form" action="" method="post" role="form">
<div class="form-group">
<label for="username" class="control-label">Username </label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="username"></span>
<input type="text" name="newusername" id="newusername" tabindex="1" class="form-control validate-input" placeholder="Username" value="" autocomplete="off">
<span class="help-block"></span>
</div>
<div class="form-group">
<label for="password" class="control-label">Password</label>
<input type="password" name="newpassword1" id="password" tabindex="10" class="form-control" placeholder="Password" autocomplete="off">
<span class="help-block"></span>
</div>
<div class="form-group">
<label for="email" class="control-label">Email Address</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="email"></span>
<input type="email" name="newemail" id="newemail" tabindex="2" class="form-control validate-input" placeholder="Email Address" value="" autocomplete="off">
<span class="help-block"></span>
</div>
<div class="form-group">
<label for="name" class="control-label">Name</label>
<span class="form-control-feedback input-validator-feedback" data-fieldname="name"></span>
<input type="text" name="newname" id="newname" tabindex="3" class="form-control validate-input" placeholder="First name" value="" autocomplete="off">
<span class="help-block"></span>
</div>
<input type="submit" name="register-submit" id="register-submit" tabindex="12" class="form-control btn btn-success" value="Register">
</form>
</div>
</div>
<div class="col-xs-6">
<p class="lead">Register now for <span class="text-success">FREE</span></p>
<ul class="list-unstyled" style="line-height: 2">
<br>
<li><span class="fa fa-check text-success"></span>100% totally free!</li>
<p>
<li><span class="fa fa-check text-success"></span>Over 500 Movies!</li>
<p>
<li><span class="fa fa-check text-success"></span>Quick and easy search!</li>
<p>
<li><span class="fa fa-check text-success"></span>Fast and free 24/7 streaming!</li>
<p>
<li><span class="fa fa-check text-success"></span>Account customisation!</li>
<p>
<li><span class="fa fa-check text-success"></span>100% Free Movie Download!</li>
<p>
<li><span class="fa fa-check text-success"></span>Free messaging system!</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=".col-md-4">
<div id="login-overlay" class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<ul class="list-unstyled" style="line-height: 2; text-align: center">
<li><span class="text-success"></span><u><h3>Site Information</h3></u></li>
<li></span> Number of videos:</li>
<li></span> Number of users registerd:</li>
<li></span> Number of admins:</li>
<li></span> Fast checkout:</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
<script src="js/bootstrap.js"></script>
</body>
</html>
<?php
If($_POST){
mysql_connect("localhost","root","password_here");
mysql_select_db("users");
if(isset($_POST['register-submit'])){
$user_name = $_POST['newusername'];
$password = $_POST['newpassword1'];
$email = $_POST['newemail'];
$name = $_POST['newname'];
}
$passwordmd5 = md5($password);
$query = "insert into username (username,password,email,name) values ('$user_name','$passwordmd5','$email','$name')";
$query = "DELETE FROM username WHERE username = ''";
mysql_connect("localhost","root","Oliver");
mysql_select_db("videos");
$query = "DELETE FROM videos WHERE name = ''";
if (mysql_query($query)){
echo 'registration successful';
exit;
}
}
?>
我确定它与$query
有关,但无法看到错误。
但是,如果我复制查询并替换像insert into username (username,password,email,name) values ('Usernamehere','Passwordhere','Emailhere','Namehere')
这样的数据它可以正常工作,那么它可能与表单有关,不确定。
提前致谢
新代码
<?php
If($_POST){
mysql_connect("localhost","root","Oliver");
mysql_select_db("users");
$query = "insert into username (username,password,email,name) values ('$user_name','$passwordmd5','$email','$name')";
mysql_query($query) or die(mysql_error());
if (mysql_query($query)){
echo '<center><h1 style="color: green">!Registation Suncessfull!</h1></center>';
}
?>
获取错误代码 解析错误:语法错误,第134行上register.php中的文件意外结束
答案 0 :(得分:1)
我不知道该代码是否有效,但如果确实如此,那么执行的唯一查询就是最后一个,就在
之前if (mysql_query($query))
该查询是:
$query = "DELETE FROM videos WHERE name = ''";
所以,你的代码唯一能做的就是删除名称为空的表'videos'中的所有行,然后显示“注册成功”。没有意义。
如果你想要执行每个$ query,你应该在每个$ query =“”声明之后调用mysql_query($ query),否则你只是改变变量的值而不对新值做任何事情。
试试这个:
if($_POST){
if(isset($_POST['register-submit'])){
$user_name = $_POST['newusername'];
$password = $_POST['newpassword1'];
$email = $_POST['newemail'];
$name = $_POST['newname'];
$passwordmd5 = md5($password);
$query = "insert into username (username,password,email,name) values ('$user_name','$passwordmd5','$email','$name')";
mysql_connect("localhost","root","Oliver");
mysql_select_db("users");
if (mysql_query($query)){
echo 'registration successful';
} else {
echo "registration error";
}
} else {
echo "no register-submit";
}
}
答案 1 :(得分:0)
问题在于您使用删除语句重写$query
并插入了插入。
不要使用mysql_ * old函数更改MYSQLi或PDO的API并使用预处理语句。
$query = "insert into username (username,password,email,name) values ('$user_name','$passwordmd5','$email','$name')";
//reassign
$query = "DELETE FROM username WHERE username = ''";
mysql_connect("localhost","root","Oliver");
mysql_select_db("videos");
//reassign again!
$query = "DELETE FROM videos WHERE name = ''";
if (mysql_query($query)){
解决此问题:
<?php
if($_POST){
mysql_connect("localhost","root","Oliver");
mysql_select_db("users");
$query = "insert into username (username,password,email,name) values ('$user_name','$passwordmd5','$email','$name')";
if (mysql_query($query)){
echo '<center><h1 style="color: green">!Registation Suncessfull!</h1></center>';
}else{
echo 'Erro: '. mysql_error();
}
}
?>
答案 2 :(得分:0)
您发布的更新后的问题:
解析错误:语法错误,register.php上的文件意外结束 第134行
最后缺少}
。即if($_POST){
结尾}
在哪里?
此外,不要像这样运行两次查询:
$query = "insert into username (username,password,email,name)
values ('$user_name','$passwordmd5','$email','$name')";
mysql_query($query) or die(mysql_error());
if (mysql_query($query)){
echo 'registration successful';}
将更改设为:
$res = mysql_query($query) or die(mysql_error());
if ($res){
echo '<center><h1 style="color: green">!Registation Suncessfull!</h1></center>';
}
修正:
<?php
if($_POST){
mysql_connect("localhost","root","Oliver");
mysql_select_db("users");
$query = "insert into username (username,password,email,name)
VALUES ('$user_name','$passwordmd5','$email','$name')";
$res = mysql_query($query) or die(mysql_error());
if ($res){
echo '<center><h1 style="color: green">!Registation Suncessfull!</h1></center>';
}
}
?>
注意:这仍然是非常不良做法,我恳请您停止使用 已弃用的 mysql函数并移至
mysqli
或PDO
准备好的陈述,知道为什么/如何帮助。