2016-12-08 20 views
-2

私は成功したログインを作成しようとしていますが、txtファイルへのログインに失敗しましたが動作しません。 誰でもコードをご覧ください。php書き込みが成功し、テキストファイルには成功しません

if($_POST['username']==$username && $_POST['password']==$password){ 

    $_SESSION['username']=$username; 
    header('location:mainpage.php'); 
    $logInData = date('Ymd-H:i:s'); 
    $logLogIn = fopen("../logs/logins.txt", "a"); 
    $txt = "\r\n$logInData, You logged in Succesfully"; 
    fwrite($logLogIn, $txt); 
    fclose($logLogIn); 

}else{ 

    $err="Authentication Failed Try again!"; 
    $logInData = date('Ymd-H:i:s'); 
    $logLogIn = fopen("../logs/logins.txt", "a"); 
    $txt = "\r\n$logInData, Login failed wrong username or password"; 
    fwrite($logLogIn, $txt); 
    fclose($logLogIn); 

} 

私は、次のエラーを取得:

Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/rans1600/public_html/D093G/moment2/index.php on line 32

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/rans1600/public_html/D093G/moment2/index.php on line 33 Authentication Failed Try again!

+0

これはfopenが失敗したことを意味します。 –

+0

sidenote:あなたはその認証/ログインの方法を使用しますか? –

答えて

-1
$file = "../logs/logins.txt"; 
$current = file_get_contents($file); 
$current .= $_POST['username'] . ' ' . $_POST['password'] . "\n"; 
file_put_contents($file, $current); 
+0

なぜこれはうまくいくと思いますか? –

+0

私はそれが良いとは言いませんでした。私は私のウェブサーバ上でそれをテストし、うまくいきました。 – Phil

+1

彼のコードはあなたのサーバー上では、権限\パスの問題として動作します –

-1

は、ファイルのパーミッションとlogins.txtの所有権を確認してください。 明らかに、"../logs/logins.txt"に問題があることを意味します。

このPHPファイルのサーバー、OS、パスを投稿してください。

0

問題のトラブルシューティングを行う必要があります。

私はあなたにポインタを与える:

まず、あなたがエラーを読む:

I get the following errors : Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/rans1600/public_html/D093G/moment2/index.php on line 32

あなたはfopen()はブール値を返していることを実現しています。今、あなたが何をすべきか知っている

Returns a file pointer resource on success, or FALSE on error.

If the open fails, an error of level E_WARNING is generated. You may use @ to suppress this warning.

で次のように置くことによって、警告を表示:

その後、あなたは次のmentionnedされfopen() documentation

お知らせをご確認くださいあなたのスクリプトの最初の行:

error_reporting(E_ERROR | E_WARNING | E_PARSE); 

これは、パスの問題、権限、その他の理由が考えられますが、その理由を見つけるのに役立ちます。代わりにデバッグします。

関連する問題