Ich habe eine AJAX-Umfrage zu diesem Tutorial basiert: http://www.w3schools.com/php/php_ajax_poll.aspJSON Newbie - dauerhaft Werte zu JSON zwischen Browser Speichern nachlädt
Anstatt jedoch die Umfrage Einträge aus dem HTML-Optionsfeld auf ein Feld in einer Textdatei zu schreiben (wie im Tutorial beschrieben). Ich möchte in eine JSON-Datei schreiben. Momentan werden die Werte aus dem Optionsfeldeintrag an den JSON gesendet, aber die Datei behält den Wert zwischen den Browseraktualisierungen nicht bei. Ich denke, das ist wahrscheinlich ein Problem mit meiner Syntax oder Codierung - der Server sollte die richtigen Berechtigungen haben, um in die Datei zu schreiben. Irgendwelche Tipps werden sehr geschätzt.
<?php $vote = $_REQUEST['vote'];
//get content of json
$filename = "poll.json";
$poll = file_get_contents($filename);
$json = json_decode($poll);
//put content in array
$array = explode("||", $content[0]);
$yes = $array[0];
$no = $array[1];
if ($vote == 0) {
$yes = $yes + 1;
}
if ($vote == 1) {
$no = $no + 1;
}
//insert votes to json file
$insertvote = $yes."||".$no;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
$poll = json_encode($json);
fclose($fp);?>
Im Moment ist das Ergebnis entweder: {1} || oder {|| 1} in der JSON-Datei, kann ich nicht herausfinden, wie sich die Werte den Weg zu speichern, dass sie auf die TXT-Datei Version gespeichert (wie hier beschrieben: http://www.w3schools.com/php/php_ajax_poll.asp)
aktualisieren
so basiert auf dem ausgezeichneten Rat, den ich erhielt ich bin viel näher. Ich fand, dass "w" die richtige Option für das PHP als "a +" angehängte Daten im JSON war, anstatt die vorhandenen Werte zu aktualisieren.
Ich habe jetzt eine JSON-Datei, die die Werte aktualisiert, die über die HTML-Optionsfelder hinzugefügt werden.
So sieht das Ergebnis wie: [3,4] AKA 3 Stimmen von Option 1 und 4 Stimmen für Option 2
Erstellen Sie einfach eine gültige JSON-Format Sie verwenden möchten, und zu schreiben, dass in die Datei. Schreiben Sie dann die Art und Weise neu, wie Sie diese JSON-Zeichenfolge generieren. Von meinem begrenzten Verständnis verstehe ich, dass Sie die Werte von # # yes + || schreiben wollen + $ no', das ist kein gültiger json. Versuchen Sie etwas wie '{" pollname ":" mypollname "," value ":" + $ vote + '"} ''. Und dann ändern Sie $ Array, so dass es die 0 oder 1 von der "Wert" -Taste in der JSON-Datei verwendet. – Shilly
Was ist $ Inhalt? Sie rufen Ihre Datei JSON auf, schreiben aber Werte wie '1 || 0', das ist absolut nicht JSON, und so wird 'json_decode' darauf sicherlich fehlschlagen. Warum speichern Sie am Ende etwas in "$ poll", wenn Sie es nicht benutzen? – trincot
Vielen Dank für das Markieren der Probleme mit der Syntax hier. Ich verstehe jetzt, dass es fundamentale Probleme gibt, wie ich die Werte geschrieben habe - ich werde mehr über die Syntax lernen und es noch einmal versuchen. Vielen Dank – Macascot