2017-03-10 3 views
-1

PHPで簡単な登録フォームを作成しています。フォームデータをローカルサーバー上のPHPでテキストファイルに送信すると、正常に動作していますが、ライブサーバー上で許可が拒否されます。ライブサーバー上のPHPのテキストファイルにフォームデータを送信すると、許可が拒否されました。

はこれがある私のregister.php

<?php 
$name = $_POST['Name']; 
$email = $_POST['Email']; 
$phone = $_POST['Place']; 
$msg = $_POST['Message']; 

$fp = fopen("formdata.txt", "a"); 
$savestring ="First Name= " .$name. " Email id=" .$email. " Phone Number= ".$phone." Message= ".$msg.'/n'; 
fwrite($fp, $savestring); 
fclose($fp);?> 

これは私の形式です:ローカルサーバーが、エラーに取り組んでいるこれは、ライブで見せている

<form action="register.php" method="post"> 
 
    <input type="text" Name="Name" placeholder="NAME" required=""> 
 
    <input type="email" Name="Email" placeholder="EMAIL" required=""> 
 
    <input type="text" Name="Phone Number" placeholder="PHONE NUMBER" required=""> 
 
    <input type="text" Name="Place" placeholder="PLACE" required=""> 
 
    <textarea name="Message" placeholder="PROJECT DETAILS" required=""></textarea> 
 

 
    <button type="submit">SEND MESSAGE</button> 
 

 
</form>

Warning: fopen(formdata.txt) [function.fopen]: failed to open stream: Permission denied in D:\INETPUB\VHOSTS\something.com\register.php on line 7 

Warning: fwrite(): supplied argument is not a valid stream resource in D:\INETPUB\VHOSTS\something.com\register.php on line 9 

Warning: fclose(): supplied argument is not a valid stream resource in D:\INETPUB\VHOSTS\something.com\register.php on line 10 
+0

スクリプトに書き込み権限を与える必要があります。 – mehulmpt

+0

エラーメッセージは、何が間違っているかを実際に指示します。ただ読む必要があります。 PHP(あなたのスクリプト)には書き込み権限がありません。それに書き込み権限を追加するだけで動作します。 –

答えて

0

PHPユーザーがwww-dataと仮定すると、ファイルformdata.txtの書き込み権限はwww-dataでなければなりません。これを実現する方法の1つは、でオーナーをwww-dataに設定し、ファイルのアクセス許可をchmod 644 formdata.txtで644(所有者の書き込み権限、他のユーザーの読み取り許可)に変更することです。 スクリプトはうまくいくはずです。

関連する問題