Attesa mentre carica pagina

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Salve, l'invio di una newsletter avviene al momento in cui si preme su un linguaggio. Questo Link punta a una pagina che invia mail e reindirizza a se stessa fino alla fine quando tramite un header va alla pagina index. A video non viene mostrato niente se non il puntatore che carica. È possibile inserire qualcosa che faccia capire all'utente che la pagina sta lavorando?
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
Codice:
$(function() {

       // Numero di volte che deve eseguire il file
       var newst = 10;

	$("#loader").show();
	foreach(newsc = 0; newsc < newst; newsc++) {
		$.ajax({
			type: "GET",
			url: "newsletter.php?pointer=" + newsp,
			data: "",
                        success: function(response) { newsp = response; }
		});
	}
	$("#loader").hide();

});

Togli la funzione che va a richiamare se stesso e fai lavorare jQuery ed Ajax.
Nello script php ricevi newsp che è il puntatore che conta a che numero sei arrivato nell'invio.

come output dello script metti un "echo $newsp" dove $newsp è il prossimo numero da raggiungere.
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Codice:
$(function() {

       // Numero di volte che deve eseguire il file
       var newst = 10;

	$("#loader").show();
	foreach(newsc = 0; newsc < newst; newsc++) {
		$.ajax({
			type: "GET",
			url: "newsletter.php?pointer=" + newsp,
			data: "",
                        success: function(response) { newsp = response; }
		});
	}
	$("#loader").hide();

});

Togli la funzione che va a richiamare se stesso e fai lavorare jQuery ed Ajax.
Nello script php ricevi newsp che è il puntatore che conta a che numero sei arrivato nell'invio.

come output dello script metti un "echo $newsp" dove $newsp è il prossimo numero da raggiungere.

Grazie per la risposta..
Domani provo... Ma posso tenere traccia anche di altre variabili o solo il numero di dove è arrivato?
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
di per se funziona ma ho un problema con la variabile newsp.
lui dice che non è inizializzata e se io metto fuori dal ciclo: var newsp=0; lui non incrementa mai il newsp ma invia solo le prime tre.

aiuto....
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
passami il codice PHP e quello Javascript.

Possibilmente usa pastebin.com così evitiamo di infestare di codice il topic.
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
il codice della pagina che riceve è questo:

Codice:
$progressione=$_GET['progressione']; //numero di invii effettuati partendo da zero
        $nnews=3;
        $numutentimax=3;
        $utentitot=9;
        //Estrazione dati newsletter
                $querynews="select * from t6935_newsletter_inviate where id=".$nnews."";
                $risultatonews=mysql_query($querynews);
                $rownews = mysql_fetch_assoc($risultatonews);
                $titolonews=$rownews['titolo'];
                $testonews=$rownews['testo'];  
        //Fine estrazione dati newsletter
       
        //estrazione utenti
        $queryutenti="select * from t6745_newsletter_utenti where stato=1 and attivata=1 order by id desc limit                         $progressione,$numutentimax";
        $risultatoutenti=mysql_query($queryutenti);
        $numrighe=mysql_num_rows($risultatoutenti);
        $i=0;
        while ($row = mysql_fetch_assoc($risultatoutenti))
        {      
                $progressione++;
                $b=date('d M y - H:i:s');
                $var=fopen("controllomail.txt","a");
                fwrite($var, " ".$row["mail"]."num  ".$progressione."\n");
                fclose($var);
        }
       
        if($progressione==$utentitot)
        {
                Fine ciclo perchè utenti è Uguale a progressivo
                echo $progressione;
        }
        else
        {      
                echo $progressione;
        }
Il jquery è:

Codice:
// Numero di volte che deve eseguire il file
       var newst = <?php echo $utentitot; ?>;
	var progressione=0;
	$("#loader").show();
	//foreach(newsc = 0; newsc < newst; newsc++) 
	//{
	for (i=0;i<newst+1;i++)
	{
		$.ajax({
			type: "GET",
			url: "testnewsinvioeff.php?progressione=" + progressione,
			data: "",
			success: function(response) 
			{ 
				
				progressione = response; 
				//alert(progressione);
			}
		});
		}
	//}
	$("#loader").hide();
		
		
});
Prima appariva il loader ora no...
sembra che "progressione" non venga aumentato ma riportato sempre a zero. Questo credo perchè ho dichiarato la variabile uguale a 0 ma se non la dichiaro non funziona...
 
Ultima modifica:

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
l'alert che hai messo riporta sempre 0?

Questa parte non l'ho capita:

PHP:
  if($progressione==$utentitot)
        {
                Fine ciclo perchè utenti è Uguale a progressivo
                echo $progressione;
        }
        else
        {      
                echo $progressione;
        }

Fai un if che però restituisce il medesimo risultato in entrambi i casi, e hai scritto un commento senza //...
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
il commento te l'ho scritto al volo e non ho messo gli apici ma nel codice non c'è quel commento.
io mi faccio un echo di progressione e poi l'idea era di mettere un if nel jquery dove se progressione è maggiore di utentimax usciva dal ciclo e finiva.
Essendo una chiamata ajax se quando finiscono gli invii mettessi un header a un'altra pagina va bene?
Alert mi restituisce sempre 3 e nel file (che dovrebbero essere le mail inviate) invia sempre le prime 3
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
prova a cambiare

PHP:
echo $progressione;

con ad esempio
PHP:
echo "20";

e vedi se ti da ancora 3 come risultato
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
È come se tutte le volte che torna alla chiamata ajax assegna alla variabile progressione il valore 0. Ma se non inizializzazione la variabile da errore.
 

Fez Vrasta

Utente Attivo
11 Mag 2013
409
0
0
Codice:
     $.ajax({
            type: "GET",
            url: "testnewsinvioeff.php",
            data: "progressione=" + progressione,
            success: function(getprogressione){
               progressione = getprogressione;
     }
    });

prova con questo ajax invece di quello di prima.. boh

e prova con questo php di prova..

PHP:
<?= echo $_GET["progressione"] + 1; ?>

per vedere se il problema è di ajax o di php
 
Ultima modifica:

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
mi dice:

Uncaught ReferenceError: progressione is not defined

Il problema è secondo me questo: Dichiarando progressione=0 lui la inizializza a 0 tutte le volte e quindi invia sempre e solo le prime 3. Come fare allora?
 
Ultima modifica:

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
il problema sta nel ciclo for perchè ora funziona però premendo manualmente il tasto e aumenta di 3 come stabilito.
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
con le modifiche effettuate ora sono riuscito a tener gtraccia di progressione ma per farlo andare avanti devo ricliccare sul pulsante e allora va avanti...
 

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Codice:
var newst = <?php echo $numutentimax; ?>;
var progressione=0;
	for (i=0;i<newst;i++)
	{
		  $('#5').html(i+' uguale a 0');
		  $.ajax({
		  type: "GET",
		  url: "testnewsinvioeff.php",
		  data: "progressione=" + progressione ,
		  dataType: "html",
		  success: function(msg)
		  {
			progressione=msg;
			$("#risultato").html(progressione);
		  },
		  error: function()
		  {
			alert("Chiamata fallita, si prega di riprovare...");
		  }
    });

Questo ciclo così come è tira fuori solo e sempre i primi 3... HELP...
 
Discussioni simili
Autore Titolo Forum Risposte Data
ecosito [WORDPRESS] Lentezza (in attesa di risposta da www.......) WordPress 18
V Loading di attesa Ajax 8
G Attesa caricamento pagina PHP 0
P Problema: visualizzare a schermo una nuova pagina durante l'attesa di caricamento PHP 1
T Tempo d'attesa per vedere la propria app pubblicata su Google Play Sviluppo app per Android 2
A Contatore per code di clienti in attesa Flash 0
T visualizzare pagina di attesa... Javascript 1
T Grande attesa redirect! Supporto Mr.Webmaster 1
G redirect....è normale tutta 'st'attesa??? Supporto Mr.Webmaster 8
S Pagina di attesa durante l'UPLOAD Classic ASP 2
B Attesa Di Approvazione Supporto Mr.Webmaster 0
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
A OOP è necessario mentre si studia PHP PHP 1
P Provare un tutorial e funziona mentre nel video sembrerebbe di si PHP 30
F registrazione utente mentre inserisce un annuncio PHP 0
P controllo dati mentre s'inseriscono nel form PHP 17
D guadagnare mentre si e' collegati....e' possibile e anche sicuro!!!!!!!!!!! Altri Annunci 1
I Aiuto! Mi Si Spegne Il Pc Mentre Faccio Lo Scan Sicurezza e Virus 1
N Win98 si blocca all'avvio, mentre parte in modalità provvisoria Windows e Software 2
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
B [PHP]la pagina php non si carica se aggiungo funzione while PHP 10
lucarpenter Carica lenta di IPad 4 Presentati al Forum 1
MarcoGrazia Come si carica un'immagine in upload? PHP 1
C carica foto da webcam su mysql tramite PHP PHP 2
S [RISOLTO]Carica pagina da evento onclick di una griglia Javascript 12
A [json+jsp+j2ee]select jsp carica valori al onchange di un altra select Java 1
E Wifi non carica le pagine Reti LAN e Wireless 2
emanuelevt script carica tardi sfondo Javascript 0
I javascript non carica funzione Javascript 0
A GUI non creata da un software che carica il mio come plugin Java 2
M non si carica la pagina sul server HTML e CSS 2
D video flash che non si carica! in locale tutto bene ma online non si carica HTML e CSS 7
C Al clik al posto dell immagine carica video youtube Javascript 0
C una pagina del mio sito non si carica correttamente HTML e CSS 2
M Slideshow quando carica la pagina Javascript 4
B refresh browser di un swf che carica un txt esterno Flash 1
S [Java] applet non carica classi importate da libreria.jar Java 1
V non carica immagini in locale Flash 3
D checkbox che non si carica Flash 4
GennyX Programma che carica on line su server Windows e Software 1
P Anomalo: non mi carica il player Flash 8
Z Sito flash on line carica solo il primo filmato Flash 1
S Carica DB... mi sono arenato !!! Classic ASP 10
cerbero javascript ke carica immagini e testo Javascript 11
peppoweb Microsoft suona la carica Discussioni Varie 0

Discussioni simili