PHP注册表问题,数据库没有接收数据

时间:2015-09-28 19:50:29

标签: php html mysql

我有一个用于完美工作的登录系统,我正在编辑并且我的电脑失去了力量,某处有一个错误,我无法看到是否寻找。

有人能发现吗?

    <?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中的文件意外结束

3 个答案:

答案 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函数并移至mysqliPDO   准备好的陈述,知道为什么/如何帮助。

MySQL Improved Extension

PHP Data Objects

相关问题