PHP为什么我的注册和登录脚本不起作用?

时间:2014-02-25 19:18:56

标签: php html mysql registration

我的注册表php脚本无效,返回

  

警告:mysql_query()[function.mysql-query]:拒绝访问用户' * * '@'localhost'(使用密码:否)/第10行的主页/ * * /public_html/register.php

  

警告:mysql_query()[function.mysql-query]:无法在/ home / * * / public_html / register中建立指向服务器的链接。第10行的PHP

Register.php

    <?php
    require('connect.php');
    // If the values are posted, insert them into the database.
    if (isset($_POST['username']) && isset($_POST['password'])){
        $username = $_POST['username'];
        $email = $_POST['email'];
        $password = $_POST['password'];

        $query = "INSERT INTO user (username, password, email) VALUES ('$username', '$password', '$email')";
        $result = mysql_query(!$query);
        if(!$result){
            $msg = "User Created Successfully.";
        }
    }
    ?>
<!DOCTYPE html>
<html>
<head>
<title>InfamousBurns - Register</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <!-- Form for logging in the users -->
<div>
<?php
    if(isset($msg) & !empty($msg)){
        echo $msg;
    }
 ?>
<h1 id="post">Register</h1>
<form action="" method="POST">
    <p id="post"><label>User Name : </label>
    <input id="username" type="text" name="username" placeholder="username" />
    </p>

    <p id="post"><label>E-Mail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : </label>
     <input id="password" type="email" name="email" required placeholder="vivek@email.com" />           </p>

     <p id="post"><label>Password&nbsp;&nbsp; : </label>
     <input id="password" type="password" name="password" placeholder="password" /></p>

    <a id="button" href="login.php">Login</a>
    <input  id="post" type="submit" name="submit" value="Register" />
    </form>

</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

发生这种情况是因为在“connect.php”中你的MySQL数据库的详细信息不正确,因为你还没有发布实际的connect.php细节,我只能假设你错了。

编辑1:

你在哪里

$selected = mysql_select_db($dbhandle);

将其更改为

$selected = mysql_select_db($mysql_database);

编辑2

我是否也可以建议使用PDO ...以下示例用于下面的数据库连接

<?php
    $host = "host";
    $user = "username";
    $pass = "pass";
    $db = "database name";

    try {
        $link = new PDO("mysql:host=$host;dbname=$db",$user,$pass);
    } catch (PDOException $e) {
        die();
    }

当然这意味着必须稍微改变你的SQL查询并使用预备语句,我相信你可以在网上找到一些帮助但是

答案 1 :(得分:0)

如果登录信息正确,请检查文件的位置。看起来connect.php应该在public_html目录中,这取决于你在Register.php中包含它的方式。如果它在子目录中或确保您在require()函数中使用正确的路径。并确保在使用文件位置时,任何大写字母都正常大写。