Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    scusate ma non riesco a creare questa benedetta pagina che mi visualizza le e-mail che si stanno spedendo.
    questo è il mio cod di invio:
    codice:
    $getemail = mysql_query("SELECT email, header FROM sub_mail") or die(mysql_error());
    $conta = mysql_num_rows($getemail);
    $numero=0;
    while($data=mysql_fetch_array($getemail))
     {
    echo $numero." - ".$conta;
    $numero++;
    $type=$data["header"];
    $email=$data["email"];
    if($type == "H") {
    $header = "From: $return_email\nReply-To: $return_email\nContent-Type: text/html; charset=iso-8859-1";
    
    
    mail("$email", "$title", "$body \n\nPer non ricevere più questo servizio di newsletters segui il link: <a href=\"http://www.magazzinipd.com/newsletters/add_unsub.php?f=unsub_email&email=$email\">Cancellami</a></div>
    	</div>
    </div>
    </body>
    </html>", "$header");
    }

    ho inserito un contatore totale e uno che cresce ad ogni invio mail. purtroppo però mi stampa tutti i risultati, io vorrei che aggiornasse le cifre. devo usare flush per farlo?? tipo vorrei che venisse fuori

    5-30000 dopo 5 secondi 35-3000 e via così. e soprattutto se chioudo la finestra la spedizione deve continuare.

    cosa dite???

  2. #12
    si devi usare flush

    cmq ti consiglio di fare una cosa un po più pulita...ovvero di fare una cosa tipo questa...

    Inserisci un div nell'html e dopo di che via javascript accedi al div ed imposti del testo...tipo

    100 email di 35000 inviate, percentuale: 35.67%

    inoltre ti conviene aggiornare una volta ogni 5 secondi, per evitare di far impazzire tutto

    magari, anche meno, però fai dei tests

    codice:
    <?php
    
    .
    .
    .
    
    $conta = mysql_num_rows($getemail);
    $tmpINT_NumberOfEmailSended = 0;
    $tmpINT_NextSend = 0;
    
    echo <<< EOF_HTML
    <div id="progressMeter">
      0 emails inviate di {$conta} - Percentuale: 0%
    </div>
    
    <script type="text/javascript">
      function getElement(obj) {
        
        var element;
        
        if(document.all)
          element = document.all[obj];
        else
          element = document.getElementById(obj);
        
        return element;
        
      }
      
      var obj = getElement('progressMeter');
      
    </script>
    EOF_HTML;
    
    while($data=mysql_fetch_array($getemail)) {
    	
    	$tmpINT_NumberOfEmailSended++;
    	
    	if (time() > $tmpINT_NextSend) {
    		
        	$tmpFLT_Perc = sprintf('%01.2f', (float) ((float) $tmpINT_NumberOfEmailSended) / ((float) $conta) * 100);
        	
    		echo <<< EOF_JS
    <script type="text/javascript">
      obj.innerHTML = "{$tmpINT_NumberOfEmailSended} emails inviate di {$conta} - Percentuale: {$tmpFLT_Perc}%";
    </script>
    EOF_JS;
    
    		flush();
    		$tmpINT_NextSend = time() + 1;
    	}
    	
    .
    .
    .
    }
    
    echo <<< EOF_JS
    <script type="text/javascript">
      obj.innerHTML = "Sono state inviate tutte le {$tmpINT_NumberOfEmailSended} emails.";
    </script>
    EOF_JS;
    
    flush();
    
    .
    .
    .
    
    ?>
    PS: se usi la gestione del output buffer non va bene flush

    PS2: verifica se non rimbecillisce tutto per i troppi dati

    PS3: non ti assicuro che su IE funzioni, perché se non ha finito di caricare la pagina potrebbe dare qualche rognetta, almeno a me le ha date, anche se in ambiti abbastanza diversi

    il codice non l'ho minimamente provato, quindi se hai errori posta che si risolvono ^^

    ---

    edit, l'ho provato...e va una meraviglia
    se vuoi perderci un po di tempo, con pochissimo lavoro lo puoi personalizzare, metterci anche una progress bar stile cacca winzoz e mettere, sempre in tempo reale, il numero di email inviate con successo e le email di cui è fallito l'invio



    ---

    potresti anche mettere il numero di invii al secondo... 6.15 invii al secondo o qualcosa del genere
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #13
    Ciao ragazzi questo è il codice per l'invio di una email dal mio sito,
    volevo sapere come posso fargli fare un controllo dei campi vuoti e avvisare di compilarli?? sono nuovo su php sto iniziando adesso,
    grazie in anticipo..


    <?php

    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "tecnicorocco@tiscali.it";

    // IL SOGGETTO DELLA MAIL
    $subject = "Informazioni dal Sito";

    // COSTRUIAMO IL CORPO DEL MESSAGGIO
    $body = "Contenuto del modulo:\n\n";
    $body .= "Nome: " . trim(stripslashes($_POST["Nome"])) . "\n";
    $body .= "Azienda: " . trim(stripslashes($_POST["Azienda"])) . "\n";
    $body .= "Città: " . trim(stripslashes($_POST["City"])) . "\n";
    $body .= "Indirizzo: " . trim(stripslashes($_POST["Address"])) . "\n";
    $body .= "Tel: " . trim(stripslashes($_POST["Tel"])) . "\n";
    $body .= "Fax: " . trim(stripslashes($_POST["Fax"])) . "\n";
    $body .= "E_mail: " . trim(stripslashes($_POST["E_mail"])) . "\n";
    $body .= "Note: " . trim(stripslashes($_POST["Note"])) . "\n";

    // INTESTAZIONI SUPPLEMENTARI
    $headers = "From: Modulo utenti<tecnicorocco@tiscali.it>";

    // INVIO DELLA MAIL
    if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

    echo "La mail è stata inoltrata con successo.";

    } else {// ALTRIMENTI...

    echo "Si sono verificati dei problemi nell'invio della mail.";

    }

    ?>

  4. #14
    dovresti fare un controllo su ogni campo con degli if...else...

    oppure se hai voglia di studiare puoi dare un'occhiata qui http://freephp.html.it/articoli/view...olo.asp?id=139 (consigliato)

    ah, poi ti conviene aprire un'altra discussione perché quello che hai chiesto centra ben poco con questa...

    ciao

  5. #15
    Grazie Pugia darò un'occhiata alla lezione..
    ciao

  6. #16
    Originariamente inviato da daniele_dll
    si devi usare flush

    cmq ti consiglio di fare una cosa un po più pulita...ovvero di fare una cosa tipo questa...

    Inserisci un div nell'html e dopo di che via javascript accedi al div ed imposti del testo...tipo

    100 email di 35000 inviate, percentuale: 35.67%

    inoltre ti conviene aggiornare una volta ogni 5 secondi, per evitare di far impazzire tutto

    magari, anche meno, però fai dei tests

    codice:
    <?php
    
    .
    .
    .
    
    $conta = mysql_num_rows($getemail);
    $tmpINT_NumberOfEmailSended = 0;
    $tmpINT_NextSend = 0;
    
    echo <<< EOF_HTML
    <div id="progressMeter">
      0 emails inviate di {$conta} - Percentuale: 0%
    </div>
    
    <script type="text/javascript">
      function getElement(obj) {
        
        var element;
        
        if(document.all)
          element = document.all[obj];
        else
          element = document.getElementById(obj);
        
        return element;
        
      }
      
      var obj = getElement('progressMeter');
      
    </script>
    EOF_HTML;
    
    while($data=mysql_fetch_array($getemail)) {
    	
    	$tmpINT_NumberOfEmailSended++;
    	
    	if (time() > $tmpINT_NextSend) {
    		
        	$tmpFLT_Perc = sprintf('%01.2f', (float) ((float) $tmpINT_NumberOfEmailSended) / ((float) $conta) * 100);
        	
    		echo <<< EOF_JS
    <script type="text/javascript">
      obj.innerHTML = "{$tmpINT_NumberOfEmailSended} emails inviate di {$conta} - Percentuale: {$tmpFLT_Perc}%";
    </script>
    EOF_JS;
    
    		flush();
    		$tmpINT_NextSend = time() + 1;
    	}
    	
    .
    .
    .
    }
    
    echo <<< EOF_JS
    <script type="text/javascript">
      obj.innerHTML = "Sono state inviate tutte le {$tmpINT_NumberOfEmailSended} emails.";
    </script>
    EOF_JS;
    
    flush();
    
    .
    .
    .
    
    ?>
    PS: se usi la gestione del output buffer non va bene flush

    PS2: verifica se non rimbecillisce tutto per i troppi dati

    PS3: non ti assicuro che su IE funzioni, perché se non ha finito di caricare la pagina potrebbe dare qualche rognetta, almeno a me le ha date, anche se in ambiti abbastanza diversi

    il codice non l'ho minimamente provato, quindi se hai errori posta che si risolvono ^^

    ---

    edit, l'ho provato...e va una meraviglia
    se vuoi perderci un po di tempo, con pochissimo lavoro lo puoi personalizzare, metterci anche una progress bar stile cacca winzoz e mettere, sempre in tempo reale, il numero di email inviate con successo e le email di cui è fallito l'invio



    ---

    potresti anche mettere il numero di invii al secondo... 6.15 invii al secondo o qualcosa del genere

    ok non ne vengo fuori.......
    ho provato a fare la progress bar in tempo reale ma non so come cavolo farla. Con lo stesso metodo posso fare il preload di una pagina immagino, ma vorrei una vera barra di caricamento con la % e i bite caricati della pagina. E' possibile farlo?

    ciaooo


    p.s L'invio di e-mail mi è riuscito aggiornando la pagina ogni 5 secondi.Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.