0

ajax 呼び出しを行っているときに、php の json ファイルに書き込もうとしています。私がやろうとしているのは、1 つの JSON エンコード配列を json ファイルに書き込み、別の配列はデータをユーザーに返すことです。ファイルに書き込もうとしないときはすべて正常に動作しますが、JSON ファイルを開いて書き込もうとすると何も動作しません。助けてくれてありがとう、ハンター。

コード

$username = mysql_real_escape_string($_POST['username']);
$password =  mysql_real_escape_string($_POST['password']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$lat = mysql_real_escape_string($_POST['lat']);
$lon = mysql_real_escape_string($_POST['lon']);

$choose_it = array('it', 'not it');
$key = array_rand($choose_it);
$it = $choose_it[$key];



$all_names = array();
$all_emails = array();

$sql="SELECT uname AND email FROM accounts";
$r = mysql_query($sql);
while($row = mysql_fetch_array($r))
{
    array_push($all_names, $row["name"]);
    array_push($all_emails, $row["email"]);
}

if(isset($username) && isset($password) && isset($name) && isset($lat) && isset($lon) && isset($email))
{
    if(in_array($name, $all_names))
    {
        $data = array("message" => "taken", "name" => "taken");
        echo json_encode($data);
    }
    if(in_array($email, $all_emails))
    {
        $data = array("message" => "email", "name" => "email");
        echo json_encode($data);
    }
    else
    {   
        $query = "INSERT INTO accounts (name, uname, pword, email, lat, lon, it) VALUES ('".$name."','".$username."','".$password."','".$email."','".$lat."','".$lon."','".$it."')";

        mysql_query($query);

        $write_data = json_encode(array("name" => $name, "lat" => $lat, "lon" => $lon, "it" => $it));

        $file = file_get_contents('');
        $fh = fopen($file, 'a') or die("can't open file");
        fwrite($fh, $write_data);   
        fclose($fh);

        $data = json_encode(array("message" => "yes", "name" => $name, "it" => $it));
        echo $write_data;


    }
}
else
{
    echo json_encode(array("message" => "not_set", "name" => "not_set"));
}
?>
4

1 に答える 1

0

これは私にはあまり意味がありません:

$file = file_get_contents('');
$fh = fopen($file, 'a') or die("can't open file");

使用する:

$fh = fopen("some_filename", 'a') or die("can't open file");
于 2013-03-15T22:19:56.623 に答える