ok il problema è stato risolto!
Adesso sto tentando di mettere anche il pulsante non mi piace con la stessa modalità del pulsante mi piace...il problema è che mi sovrappone i valori e non capisco cosa abbia sbagliato.
index.html
Codice HTML:
<div class="container">
<div class="up fontawesome-thumbs-up" id="update_value" ><div class="spann"> <span id="value"></span></div> </div> <div class="valore1" style="position: absolute"> <span id="value"></span></div>
<div class="down fontawesome-thumbs-down" id="update_value2"><div class="spann"> <span id="value2"></span></div> </div> <div class="valore2" style="position: absolute"> <span id="value2"></span></div>
</div>
<?php if (isset($_COOKIE['like'])) {
echo "ceeeeeeeeee";
}
?>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
// Mostra il valore indicato
/*function show_value(data) {
if (data.error == false) {
var container = $('#value'); // decido dove visalizzare
container.html(JSON.parse(data.value));
}
else {
alert(data.error);
}
}
*/
/* // Mostra il valore al caricamento dall pagina
$('#value').ready(function () {
$.get("controller.php", show_value);
});
// Associa il click alla lettura e stampa della variabile
$('#read_value').click(function () {
$.get("controller.php", show_value);
});
// Associa il click all'incremento e stampa della variabile
$('#update_value').click(function () {
$.post("controller.php", { incrementa: "true" }, show_value);
});
// Mostra il valore al caricamento dall pagina
$('#value').ready(function () {
$.get("controller.php", show_value);
});*/
</script>
<script>
// Mostra il valore indicato
function show_value(data) {
if (data.error == false) {
var container = $('#value2'); // decido dove visalizzare
container.html(JSON.parse(data.value));
}
else {
alert(data.error);
}
}
/**********************************************
NON MI PIACE
**********************************************/
// Associa il click alla lettura e stampa della variabile
$('#read_value2').click(function () {
$.get("controller2.php", show_value);
});
// Associa il click all'incremento e stampa della variabile
$('#update_value2').click(function () {
$.post("controller2.php", { incrementa: "true" }, show_value);
});
// Mostra il valore al caricamento dall pagina
$('#value2').ready(function () {
$.get("controller2.php", show_value);
});
</script>
la 1 parte l'ho messa tra commento per testare se riusciva a eseguire la 2 funzione
controller2.php
Codice PHP:
<?php
header('Content-type: application/json');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Legge il valore della variabile (stato condiviso) dal file
function read_value2() {
$filename = "valore2.txt";
if (!file_exists($filename) || !is_readable($filename)) {
touch($filename);
}
$value = file_get_contents($filename);
// Se il file era vuoto, si assume valore 0
if (empty($value)) {
$value = 0;
}
return $value;
}
// Scrive lo stato condiviso
function write_value2($value) {
$filename = "valore2.txt";
file_put_contents($filename, $value);
}
// Se è stato l'incremento della variabile...
if (isset($_POST['incrementa'])) {
// Legge il valore dallo stato condiviso
$value = read_value2();
// Se l'utente ha già votato, restituisce un'indicazione dell'errore
if (isset($_COOKIE['like'])) {
return json_encode(array(
'value' => $value,
'error' => 'hai già inserito il tuo parere'
));
return;
}
// Effettua l'incremento
$value = $value + 1;
// Salva il valore modificato
write_value2($value);
// Imposta un cookie indicando che l'utente ha già votato
setcookie("like", "like", time() + 60 * 60 * 24 * 30);
// Restituisce il valore modificato
echo json_encode(array(
'value' => $value,
'error' => false
));
}
// Altrimenti, mostra semplicemente il valore attuale senza intervenire attivamente
else {
echo json_encode(array(
'value' => read_value2(),
'error' => false
));
}
?>