IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

faire une pause dans envoi mails en masse


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut faire une pause dans envoi mails en masse
    Hello,
    J'envoie 400 mails. (newsletter)
    je fais donc une boucle et ça marche très bien.
    Mais je voudrais marquer une pause tous les 30 mails (ou autre chiffre) avec un lien "Continuer" par exemple.
    J'arrive à faire un break, mais je ne sais pas comment poursuivre.
    Je fais une boucle while
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php 
    $fichier=lire_fichier('mails.txt'); // fonction perso
    $tableau=explode(';',$fichier);
    echo sizeof($tableau).'<br />';
    $i=0;
    while ($i<=sizeof($tableau))
    {
    echo trim($tableau[$i]).'<br />';$i++;
    // envoi du mail
    if ($i>sizeof($tableau)/10)
     {
    echo '<a href="index.php?suite=1">Continuer</a><br />';break;
    }
    }
    ?>
    Après, je ne sais pas

    Merci de vos lumières
    j'aurai bientôt plus de 1000 mails à expédier !
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu as 1000 mails et que tu dois cliquer, tous les 30 ca va etre pénible.
    Tu peux utiliser sleep() pour temporiser ton script.

    Au passage, ça c'est affreux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i=0;
    while ($i<=sizeof($tableau))
    {
    echo trim($tableau[$i]).'<br />';$i++;
    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $max = count($tableau);
    for ($i = 0; $i < $max; $i++) {
    echo trim($tableau[$i]).'<br />';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 349
    Points : 109
    Points
    109
    Par défaut Résolu
    STOOOP

    J'ai trouvé.
    Bidouille en passant par la saisie en post de l'index de départ et l'index de fin
    Petit travail manuel, m'enfin ce n'est pas pénible !

    Voici le script (non corrigé !)
    => red() = fonction perso qui fait un span en rouge !
    idem pou blue()
    <?php include 'fonctions+.php';?>

    <form action="#" method="post">
    Index 1 <input type="text" name="index1" value="<?php echo $_POST['index1'];?>"/><br />
    Index 2 <input type="text" name="index2" value="<?php echo $_POST['index2'];?>"/><br />
    <input type="submit" name="submit"/>
    </form>
    <br />
    <?php

    $index1="";
    $index2="";
    $index1=intval($_POST['index1']);
    $index2=intval($_POST['index2']);

    red ($index1.' => '.$index2.'<br /><br />');
    $fichier=lire_fichier('mails.txt');
    $tableau=explode(';',$fichier);
    blue ((sizeof($tableau)-1).' Mails<br />');
    $i=$index1;

    while (($i<=$index2) && (isset($_POST['submit'])) )
    {
    echo $i.' - '.trim($tableau[$i]).'<br />';$i++;
    if ($index2>sizeof($tableau)-1) { red('valeur dépassée');exit;}
    // SCRIPT ENVOI MAIL
    }
    ?>
    Si çà peut aider...

    Bon PHP à toutes et tous
    Quand on a mesuré l'étendue de ce qu'il nous reste à apprendre, on parle moins vite de ce que l'on croit savoir...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [jboss]faire une pause dans run.bat
    Par pouss dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 29/12/2006, 15h28
  2. [FLASH MX] Faire une pause dans l'animation
    Par transistor49 dans le forum Flash
    Réponses: 9
    Dernier message: 13/06/2006, 18h55
  3. [java.util.logging]Faire une pause dans le logging
    Par anthyme dans le forum Logging
    Réponses: 6
    Dernier message: 08/03/2006, 10h43
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo