0

Macbook pro osx 10.9 FirefoxブラウザでXAMP 1.7.3を使用しています

基本的に、ユーザーに情報を入力してから、次を使用して.txtファイルに情報を保存するように求めるコードを作成しようとしています。

 $txtfile="registration.txt";
 $handle=fopen($txtfile,'a');

しかし、私はこのエラーメッセージを受け取り続けます:

警告: fopen(registration.txt) [function.fopen]: ストリームを開くことができませんでした: 行 30 の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で許可が拒否されました

警告: fwrite() は、パラメーター 1 がリソースであると想定しており、31 行目の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で指定されたブール値です。

警告: fwrite() は、パラメーター 1 がリソースであると想定しており、32 行目の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で指定されたブール値です。

警告: fwrite() は、パラメーター 1 がリソースであると想定しており、33 行目の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で指定されたブール値です。

警告: fwrite() は、パラメーター 1 がリソースであると想定しており、34 行目の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で指定されたブール値です。

警告: fwrite() は、パラメーター 1 がリソースであると想定しており、35 行目の /Applications/XAMPP/xamppfiles/htdocs/UserInfoAhmed.php で指定されたブール値です。

完全なコードは次のとおりです。

<html>
<head>
    <title>User Informations</title>
</head>

<body>
<form method="post" action="">
    Name    : <input type="text" name="name"/> <br>
    Age     : <input type="text" name="age"/> <br>
    City    : <input type="text" name="city"/> <br>
    Password: <input type="password" name="pswrd1"/> <br>
    Password: <input type="password" name="pswrd2"/> <br>
    <input type="submit" name="submit" value"send"/>
    <form/>
    <?php

    if(isset($_POST['submit']))
    {

        $name=$_POST["name"];
        $age=$_POST["age"];
        $city=$_POST["city"];
        $pswrd1=$_POST["pswrd1"];
        $pswrd2=$_POST["pswrd2"];

        if($pswrd1 == $pswrd2){
            if($city==dubai){
                if($age>18){
                    $txtfile="registration.txt";
                    $handle=fopen($txtfile,'a');
                    fwrite($handle, $name);
                    fwrite($handle, $age);
                    fwrite($handle, $city);
                    fwrite($handle, $pswrd1);
                    fwrite($handle,$pswrd2);                    
                }
                else echo "age must be > 18";
            }
            else echo "city must be dubai";
        }
        else echo "password must identical";
        echo "<br>";



    }

    ?>
</body>

最初に、最初のエラー メッセージ、.txt ファイルへのアクセス/作成の失敗を理解しました。この Web サイトで検索したところ、同じ問題が発生した人が何人かいて、メイン ファイルのアクセス許可の問題が示唆されていました。 php ファイルを更新するには、管理者パスワードの入力を求められるので、XAMP のメイン ファイルも保護されていると想定しました。

ファイルオプションをすべてのユーザーが読み書きするように変更し、メインの XAMP フォルダー内のすべてのフォルダーを変更しました。それでも、このコードを書き込んでいるphpファイルの変更を保存するためのパスワードを求められるので、まだ同じ結果が得られていると思います: fopen(registration.txt) [function.fopen]: failed to open stream: Permission ... で拒否されました

どうすればこれを修正できますか?また、残りのエラー メッセージが主な問題に関連しているかどうか疑問に思っていますか?

全体として、少なくとも私のコードに間違いがあるかどうか誰かに教えてもらえますか?

4

1 に答える 1

1

初め

コンソールから registration.txt パーミッションを設定してみてください:

sudo chmod 0777 /Applications/XAMPP/xamppfiles/htdocs/registration.txt

2番

最初に機能しなかった場合は、htdocs フォルダーの場所を変更する必要があると思います。アプリケーション フォルダーにある場合、アプリケーション フォルダーがシステムによって何らかの形で保護されている可能性があるため、適切に機能しない可能性があるためです。

XAMPP Apache httpd.conf を編集し、DocumentRoot を /users/USERNAME/Documents/htdocs に設定します。

Documents フォルダーの下に htdocs フォルダーを必ず作成してください。

次に、コンソールでフォルダーのアクセス許可を変更します。

sudo chmod 0777 /users/USERNAME/Documents/htdocs

次に、ランダムなファイルをフォルダーに配置して、ブラウザーで開いてみます

http://localhost/randomfile.php

それはうまくいくはずです。内部サーバー エラー (500) が発生する場合は、httpd.conf の次の行をコメントアウトします。

LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
于 2013-10-29T08:23:54.023 に答える