Buonasera ho trovato questo problema mentre passavo del tempo col mio sito. A inizio pagina ho questa parte qui:
Codice PHP:
<?php
session_start();
$buffer = $_SESSION['num'];
echo '<script type="text/javascript">
var num = 0;
num = '.$buffer.';
if ( num > 0 ) {
num="si"; }
</script>';
?>
<!DOCTYPE html>
[...]
Serve ad assegnare il valore si alla variabile num se la variabile di sessione $_SESSION['num'] è maggiore di 0. E fin qui nessun problema. All'interno del mio head ho quest'altra funzione javascript:
Codice PHP:
<head>
<script type="text/javascript">
if ( num == "si" ) {
/*num = document.getElementById('cart').innerHTML;*/
alert('entrato');
document.getElementById('output').style.display = "block";
$("#view").fadeOut(3000);
$('html, body').animate({
scrollTop: $("#meta").offset().bottom
}, 500);
</script>
</head>
Praticamente la prima volta che apro la pagina la variabile di sessione vale 0 se la ricarico incrementa sempre di 1(dopo una serie di funzioni php) perciò num in javascript assumerà il valore 'si' solamente quando ricarico la pagina, infatti l'alert viene visualizzato, mentre il resto non viene eseguito. Come mai?? Non riesco a capire dove posso aver sbagliato.
Dovendo lavorare in php ho bisogno di ricaricare la pagina diverse volte quindi i valori delle variabili javascript li vado a perdere ed è per questo che ho provato a inventare questo.