2016-11-28 8 views
0

クロム検査でファイルが空です。他のすべてのページは正常に動作し、基本的なフォームを表示します。このようなエラーは発生しませんでした。しかし、htmlに入れても、SQL DBと適切に通信することはできませんでした。何か助けていただければ幸いです。すべてが機能するまで、ということを残して私の意図であるようPHPページはロードされません

<?php 

//Connects to your Database 
$conect = mysqli_connect("db location","username","password", "forks") or die(mysql_error()); 

//Checks if there is a login cookie 
if(isset($_COOKIE['ID_your_site'])){ //if there is, it logs you in and directes you to the members page 
    $username = $_COOKIE['ID_your_site']; 
    $pass = $_COOKIE['Key_your_site']; 
    $check = mysqli_query($conect, "SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); 

    while($info = mysqli_fetch_array($check)){ 
     if ($pass != $info['password']){} 
     else{ 
      header("Location: login.php"); 
     } 
    } 
} 

//if the login form is submitted 
if (isset($_POST['submit'])) { 

    // makes sure they filled it in 
    if(!$_POST['username']){ 
     die('You did not fill in a username.'); 
    } 
    if(!$_POST['pass']){ 
     die('You did not fill in a password.'); 
    } 

    // checks it against the database 
    if (!get_magic_quotes_gpc()){ 
     $_POST['email'] = addslashes($_POST['email']); 
    } 

    $check = mysqli_query($conect, "SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error()); 

//Gives error if user dosen't exist 
$check2 = mysqli_num_rows($check); 
if ($check2 == 0){ 
    die('That user does not exist in our database.<br /><br />If you think this is wrong <a href="login.php">try again</a>.'); 
} 

while($info = mysqli_fetch_array($check)){ 
    $_POST['pass'] = stripslashes($_POST['pass']); 
    $info['password'] = stripslashes($info['password']); 
    $_POST['pass'] = md5($_POST['pass']); 

    //gives error if the password is wrong 
    if ($_POST['pass'] != $info['password']){ 
     die('Incorrect password, please <a href="login.php">try again</a>.'); 
    } 

    else{ // if login is ok then we add a cookie 
     $_POST['username'] = stripslashes($_POST['username']); 
     $hour = time() + 3600; 
     setcookie(ID_your_site, $_POST['username'], $hour); 
     setcookie(Key_your_site, $_POST['pass'], $hour);  

     //then redirect them to the members area 
     header("Location: members.php"); 
    } 
} 
} 
else{ 
// if they are not logged in 
?> 

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 

<table border="0"> 

<tr><td colspan=2><h1>Login</h1></td></tr> 

<tr><td>Username:</td><td> 

<input type="text" name="username" maxlength="40"> 

</td></tr> 

<tr><td>Password:</td><td> 

<input type="password" name="pass" maxlength="50"> 

</td></tr> 

<tr><td colspan="2" align="right"> 

<input type="submit" name="submit" value="Login"> 

</td></tr> 

</table> 

</form> 

<?php 
} 
?> 

フォームを見ることができるように書式なしで、一般的なHTMLフォームです。

+0

のこの

$check = mysqli_query($conect, "SELECT * FROM users WHERE username = '".$username."'") or die(mysqli_error($conect)); 

をお試しください記述。また、 'mysqli'関数でmysql_errorを使用しないでください。mysqli_error'を使用してください。 –

+0

http://imgur.com/a/E0gp1これはWebサーバ上に表示されます。 –

+0

@matthewこのスレッドを閉じるために問題を解決するのに役立ちました。ありがとう、 – Learner

答えて

0

の代わりに:

$conect = mysqli_connect("db location","username","password", "forks") or die(mysql_error()); 

これを試してみてください:

$conect = new mysqli("db location","username","password", "forks"); 
if ($conect->connect_error) { 
    die('Connect Error (' . $conect->connect_errno . ') ' 
      . $conect->connect_error); 
} 

は、私はそれが動作しない場合、それはスローどのようなエラーを知ってみましょう。

+0

ありがとうbroは動作します –

+0

@matthew sこのスレッドを閉じるためにあなたの問題を解決するのに役立ちましたら、回答を受け入れてください。ありがとう、 – Learner

0

ので、これはあなたがしている問題を再現するのに十分な情報ではありません、あなたが表示し、フォームではなく、空白のページを提供したコードの代わりにこの

$check = mysqli_query($conect, "SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); 
関連する問題