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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Newsletter] Mailing Liste en TXT : Impossible de la modifier


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut [Newsletter] Mailing Liste en TXT : Impossible de la modifier
    Bonjour,

    Je sollicite votre aide sur un script qui me prend la tete depuis 4h !

    Je vous explique, je souhaiterai mettre en ligne un script qui permettrait aux utilisateurs de pouvoir supprimer leur adresse de la Newsletter avec un simple petit formulaire demandant l'adresse à supprimer...

    Ces adresses sont contenues dans un fichier TXT (aucune BDD pour des raisons de logistique) et sont listées les unes en dessous des autres du style :

    toto@toto.com
    nono@nono.com
    nana@nana.com
    etc....

    J'ai trouvé un script qui à priori serait capable de faire ça, mais il ne fonctionne pas... Je suis sous Linux sur serveur dédié OVH.

    Tous les fichiers du repertoire sont CHMODé en 777...

    En lancant le script, la page s'affiche bien avec une case où remplir l'email, et 2 boutons "Subscribe" et "Unsuscribe" ...

    Lorsque je teste d'ajouter ou de retirer une adresse, en cliquant sur le bouton Submit, le formulaire s'efface et rien ne s'affiche.

    Un coup sur le FTP, je regarde le fichier crée en question, ou deja existant, et aucune modification n'a été faite, aussi bien à l'ajout qu'à la suppression...

    En partant d'un fichier vide chmod 777, il reste à 0, quel que soit l'opération que j'effectue avec ce script...

    J'éspère que ca vous éclaire et que je suis assez clair

    Merci pour votre aide :-)

    Voila le script :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
     
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
     
    $vars=explode(",","pw,send,subject,message,email,action"); 
    foreach($vars as $v){ 
    if ($HTTP_GET_VARS[$v]!=""){$$v=$HTTP_GET_VARS[$v];} 
    if ($HTTP_POST_VARS[$v]!=""){$$v=$HTTP_POST_VARS[$v];} 
    } 
    # Set the password for the eMail List editor!
    $pass="libreantenne";
     
    # Where is your newsletter located? (For deletion link)
    $newsletterlocation="http://www.xxxxxxxxxxxxxxx.fr";
     
    # Name of the datafile
    $filelocation="liste.txt";
     
    # Title of the newsletter, will be displayed in the FROM field of the mailclient
    $lettername="xxxxxxxxx@xxxxxxxxxx.fr";
     
    # Your email, will be the reply-to mail, 
    $youremail="xxxxxx@xxxxx.com";
     
    # pattern for filtering out own emails
    $pattern = "xxxxx.com";
     
    $welcomemessage = "Welcome";
     
    # Sorrymessage for failed subscription, will be followed by the email!
    $sorrysignmessage = "<div class=\"warning\">Sorry, but there is already an entry for $email</div>";
     
    # Sorrymessage for blank email
    $sorryblankmailmessage = "<div class=\"warning\">Sorry, but with a blank mail I get lost in cyberspace</div>";
     
    # Sorrymessage for invalid emails
    $sorryoddmailmessage = "<div class=\"warning\">Sorry, but \"$email\" that does not look like an email to me</div>";
     
    # Sorrymessage if someone entered your own mail
    $sorryownmailmessage = "<div class=\"warning\">Sorry, but I don't really want to get my own newsletter!</div>";
     
    # Subscribemessage, will be shown when someone subscribes.
    $subscribemessage = "<div class=\"thanks\">Thank you for subscribing to the newsletter, a confirmation email is on its way!</div>";
     
    # Subscribemail, will be sent when someone subscribes.
    $subscribemail = "Thank you for subscribing to the newsletter.";
     
    # Unsubscribemessage for deletion, will be followed by the email!
    $unsubscribemessage = "<div class=\"thanks\">We deleted the email</div>";
     
    # Unsubscribemessage for failed deletion, will be followed by the email!
    $failedunsubscriptionmessage = "<div class=\"warning\">Sorry, you cannot unsubscribe as we didn't find an entry for $email</div>";
     
    if (!file_exists($filelocation)) {
    	$newfile = fopen($filelocation,"w+");
    	fclose($newfile);
    	}
    $newfile = fopen($filelocation,"r");
    $content = @fread($newfile, filesize($filelocation));
    fclose($newfile);
    $content=stripslashes($content);
    $out="";
    $lines = explode("%",$content);
    foreach($lines as $l){
    	if ($l != $email){$out .= "%".$l;}
    	else{$found=1;}
    }
    if ($action=="sign"){			
    	if ($found==1 or $email=="" or !checkmail($email) or preg_match("/".$pattern."/",$email)){
    		if ($email==""){echo $sorryblankmailmessage;}
    		else if ($found==1){echo $sorrysignmessage;}
    		else if (!checkmail($email)){echo $sorryoddmailmessage;}
    		else if (preg_match("/".$pattern."/",$email)){echo $sorryownmailmessage;}
    		$disp="yes";
    	}
    	else {
    		$disp="yes";
    		$newfile = fopen($filelocation,"a+");
    		$add = "%".$email;
    		fwrite($newfile, $add);
    		fclose($newfile);
    		echo $subscribemessage;
    		mail ($youremail,"New newsletter subscriber.",$email."\nDelete? $newsletterlocation?action=delete&email=".$email,"From: Newsletter\nReply-To: $email\n");
    		$submailheaders = "From: $lettername subscription form\n";
    		$submailheaders .= "Reply-To: $youremail\n";
    		mail ($email,$lettername." subscription",$subscribemail,$submailheaders);
    	}
    }
    if ($action=="delete"){		
    	$disp="yes";
    	if ($found == 1){
    		$newfile = fopen($filelocation,"w+");
    		fwrite($newfile, $out);
    		fclose($newfile);
    		echo $unsubscribemessage;
    		$disp="no";
    	}
    	if ($found != 1){
    		echo $failedunsubscriptionmessage;
    		$disp="YES";
    	}
    }
    if ($pw	== $pass){
    	if ($send != "yes" && $send != "test"){
    		print'<form method="post"><input type="hidden" name=pw value='.$pass.' /><input type="hidden" name="send" value="yes">
    		<br /><b>Newsletter editor:</b><br /><br />
    		Subject:<br />
    		<input type="text" class="input" name="subject" size="20"><br />
    		Message:<br />
    		<textarea cols="50" rows="10" class="input" wrap="virtual" name="message"></textarea>*
    		<input type="submit" value="send" />
    		</form>';
    	}
    	$mailheaders = "From: $lettername\n";
    	$mailheaders .= "Reply-To:$youremail\n";
     
    # If you want to send HTML mail, uncomment this line!
    //	$mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n";
    	if ($send == "yes"){
    		$message="".stripslashes($message);
    		$subject=stripslashes($subject);
    		$lines = explode("%",$content);
    		foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);}
    		print "<b>The following email has been sent!</b>";
    		print "<pre>$mailheaders\n$subject\n$message</pre>";
    	}
    }
    if ($pw != $pass && $disp != "no"){
    	print $welcomemessage;
    	print'
    	<form method="post">
    	Your email:*<input type="text" name="email" class="inputsmall" value="" size="20" />*
    	<input type="radio" name="action" value="sign" checked="checked" />subscribe 
    	<input type="radio" name="action" value="delete" />unsubscribe*
    	<input type="submit" value=" Send! " class="button" /> 
    	</form>
    	';
    }
     
    function checkmail($string){
    	return preg_match("/^[^\s()<>@,;:\"\/\[\]?=]+@\w[\w-]*(\.\w[\w-]*)*\.[a-z]{2,}$/i",$string);
    }
    ?>

  2. #2
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    EDIT :

    Dans un premier temps rajoute un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ini_set('display_errors','On');
    en début de script que tu voie si tu as un message.

    Bonjour,

    Alors pour commencer le code est pas génial du tout... Il a l'air vraiment codé à l'ancienne. Ensuite le fait que tu es une page blanche peut venir d'une erreur sur le script et du fait que tu n'affiche pas ces dernières.

    Donc je remet ton code en un peu plus lisibles et on regarde cela

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
     
    $vars=explode(",","pw,send,subject,message,email,action");
    foreach($vars as $v){
    if ($HTTP_GET_VARS[$v]!=""){$$v=$HTTP_GET_VARS[$v];}
    if ($HTTP_POST_VARS[$v]!=""){$$v=$HTTP_POST_VARS[$v];}
    }
    # Set the password for the eMail List editor!
    $pass="libreantenne";
     
    # Where is your newsletter located? (For deletion link)
    $newsletterlocation="http://www.xxxxxxxxxxxxxxx.fr";
     
    # Name of the datafile
    $filelocation="liste.txt";
     
    # Title of the newsletter, will be displayed in the FROM field of the mailclient
    $lettername="xxxxxxxxx@xxxxxxxxxx.fr";
     
    # Your email, will be the reply-to mail,
    $youremail="xxxxxx@xxxxx.com";
     
    # pattern for filtering out own emails
    $pattern = "xxxxx.com";
     
    $welcomemessage = "Welcome";
     
    # Sorrymessage for failed subscription, will be followed by the email!
    $sorrysignmessage = "<div class=\"warning\">Sorry, but there is already an entry for $email</div>";
     
    # Sorrymessage for blank email
    $sorryblankmailmessage = "<div class=\"warning\">Sorry, but with a blank mail I get lost in cyberspace</div>";
     
    # Sorrymessage for invalid emails
    $sorryoddmailmessage = "<div class=\"warning\">Sorry, but \"$email\" that does not look like an email to me</div>";
     
    # Sorrymessage if someone entered your own mail
    $sorryownmailmessage = "<div class=\"warning\">Sorry, but I don't really want to get my own newsletter!</div>";
     
    # Subscribemessage, will be shown when someone subscribes.
    $subscribemessage = "<div class=\"thanks\">Thank you for subscribing to the newsletter, a confirmation email is on its way!</div>";
     
    # Subscribemail, will be sent when someone subscribes.
    $subscribemail = "Thank you for subscribing to the newsletter.";
     
    # Unsubscribemessage for deletion, will be followed by the email!
    $unsubscribemessage = "<div class=\"thanks\">We deleted the email</div>";
     
    # Unsubscribemessage for failed deletion, will be followed by the email!
    $failedunsubscriptionmessage = "<div class=\"warning\">Sorry, you cannot unsubscribe as we didn't find an entry for $email</div>";
     
    if (!file_exists($filelocation)) {
    $newfile = fopen($filelocation,"w+");
    fclose($newfile);
    }
    $newfile = fopen($filelocation,"r");
    $content = @fread($newfile, filesize($filelocation));
    fclose($newfile);
    $content=stripslashes($content);
    $out="";
    $lines = explode("%",$content);
    foreach($lines as $l){
    if ($l != $email){$out .= "%".$l;}
    else{$found=1;}
    }
    if ($action=="sign"){
    if ($found==1 or $email=="" or !checkmail($email) or preg_match("/".$pattern."/",$email)){
    if ($email==""){echo $sorryblankmailmessage;}
    else if ($found==1){echo $sorrysignmessage;}
    else if (!checkmail($email)){echo $sorryoddmailmessage;}
    else if (preg_match("/".$pattern."/",$email)){echo $sorryownmailmessage;}
    $disp="yes";
    }
    else {
    $disp="yes";
    $newfile = fopen($filelocation,"a+");
    $add = "%".$email;
    fwrite($newfile, $add);
    fclose($newfile);
    echo $subscribemessage;
    mail ($youremail,"New newsletter subscriber.",$email."\nDelete? $newsletterlocation?action=delete&email=".$email,"From: Newsletter\nReply-To: $email\n");
    $submailheaders = "From: $lettername subscription form\n";
    $submailheaders .= "Reply-To: $youremail\n";
    mail ($email,$lettername." subscription",$subscribemail,$submailheaders);
    }
    }
    if ($action=="delete"){
    $disp="yes";
    if ($found == 1){
    $newfile = fopen($filelocation,"w+");
    fwrite($newfile, $out);
    fclose($newfile);
    echo $unsubscribemessage;
    $disp="no";
    }
    if ($found != 1){
    echo $failedunsubscriptionmessage;
    $disp="YES";
    }
    }
    if ($pw == $pass){
    if ($send != "yes" && $send != "test"){
    print'<form method="post"><input type="hidden" name=pw value='.$pass.' /><input type="hidden" name="send" value="yes">
    <br /><b>Newsletter editor:</b><br /><br />
    Subject:<br />
    <input type="text" class="input" name="subject" size="20"><br />
    Message:<br />
    <textarea cols="50" rows="10" class="input" wrap="virtual" name="message"></textarea>*
    <input type="submit" value="send" />
    </form>';
    }
    $mailheaders = "From: $lettername\n";
    $mailheaders .= "Reply-To:$youremail\n";
     
    # If you want to send HTML mail, uncomment this line!
    // $mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n";
    if ($send == "yes"){
    $message="".stripslashes($message);
    $subject=stripslashes($subject);
    $lines = explode("%",$content);
    foreach ($lines as $l){mail ($l,$subject,$message,$mailheaders);}
    print "<b>The following email has been sent!</b>";
    print "<pre>$mailheaders\n$subject\n$message</pre>";
    }
    }
    if ($pw != $pass && $disp != "no"){
    print $welcomemessage;
    print'
    <form method="post">
    Your email:*<input type="text" name="email" class="inputsmall" value="" size="20" />*
    <input type="radio" name="action" value="sign" checked="checked" />subscribe
    <input type="radio" name="action" value="delete" />unsubscribe*
    <input type="submit" value=" Send! " class="button" />
    </form>
    ';
    }
     
    function checkmail($string){
    return preg_match("/^[^\s()<>@,;:\"\/\[\]?=]+@\w[\w-]*(\.\w[\w-]*)*\.[a-z]{2,}$/i",$string);
    }
    ?>
    Cordialement,

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    1 - Ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    error_reporting(-1);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    Au début de ton script pour voir les erreurs

    2 - Ce code à l'air d'avoir été conçu pour des versions de PHP antédiluviennes (j'imagine pour PHP 4 qui est obsolète aujourd'hui). Si ça tourne sur un environnement récent (PHP 5.2~5.3) il y a de grande chances que les problèmes viennent de là

    3 - Prendre un script tout fait pour faire ça sans même le lire j'appelle cela de la paresse, ça se fait en 2 minutes. La preuve:
    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
    function remove_mail ($mail) {
      if (!file_exists('mails.txt'))
        return false;
     
      $mails = file('mails.txt', FILE_SKIP_EMPTY_LINES);
      $mails = array_unique(array_map('trim', $mails));
     
      if ($key = array_search($mail, $mails)) {
        unset($mails[$key]);
      }
      $buffer = implode("\n", $mails);
      return file_put_contents('mails.txt', $buffer);
    }
     
    var_dump(remove_mail('foo@bar.com'));

  4. #4
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses, j'ai fais ce que vous m'avez dis, voici le résultat :

    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
    16
    17
    18
    19
    20
    21
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: HTTP_GET_VARS in /var/www/html/seo/mailing/easyletter.php on line 16 
    Notice: Undefined variable: HTTP_POST_VARS in /var/www/html/seo/mailing/easyletter.php on line 17 
    Notice: Undefined variable: email in /var/www/html/seo/mailing/easyletter.php on line 40 
    Notice: Undefined variable: email in /var/www/html/seo/mailing/easyletter.php on line 46 
    Notice: Undefined variable: email in /var/www/html/seo/mailing/easyletter.php on line 61 
    Notice: Undefined variable: email in /var/www/html/seo/mailing/easyletter.php on line 74 
    Notice: Undefined variable: action in /var/www/html/seo/mailing/easyletter.php on line 77 
    Notice: Undefined variable: action in /var/www/html/seo/mailing/easyletter.php on line 98 
    Notice: Undefined variable: pw in /var/www/html/seo/mailing/easyletter.php on line 112 
    Notice: Undefined variable: pw in /var/www/html/seo/mailing/easyletter.php on line 137 
    Notice: Undefined variable: disp in

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    faut se mettre à jour, utilise $_GET ou $_POST, pas HTTP_GET_VARSle reste c'est que tes données en entré n'existe pas, donc vérifie quelles existent ...

  6. #6
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Effectivement ca marche beaucoup mieux !

    J'ai remplacé les lignes 2 et 3 pour qu'elles deviennents :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($_GET[$v]!=""){$$v=$_GET[$v];}
    if ($_POST[$v]!=""){$$v=$_POST[$v];}
    Ca marche beaucoup mieux !

    Le seul souci, c'est que je souhaiterai utiliser ce script avec un fichier texte déja existant contennant un nombre d'adresses Mail les unes sous les autres, à priori ce script parse avec un * entre chaque adresse...

    Savez-vous ce que je pourrais modifier pour qu'il puisse lire le fichier texte normalement et supprimer les adresses sans modifier le fichier et le parser ?

    A savoir que j'utiliserai ce script que dans un sens => La desinscription...

    Merci pour votre aide encore une fois :-)

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fait plutôt : if(!empty($_GET[$v]), pas besion de $$ non plus, si tu débute en PHP je te conseil d'apprendre les bases avant de te lancer dans un projet

  8. #8
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Surtout que le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $vars=explode(",","pw,send,subject,message,email,action");
    foreach($vars as $v){
    if ($HTTP_GET_VARS[$v]!=""){$$v=$HTTP_GET_VARS[$v];}
    if ($HTTP_POST_VARS[$v]!=""){$$v=$HTTP_POST_VARS[$v];}
    }
    Peut facilement être remplacé par un code plus "clair" pour un développeur débutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //-- On initialiste toutes ces variables à ''
    $pw = $send = $subject = $message = $email = $action = '';
     
    if( !empty($_GET['pw']) )
           $pw = $_GET['pw']; //-- Attention ici si tu ne traite pas les valeur il y a potentiellement une faille.
     
    /*
    et ainsi de suite pour les autres, ok ça fait x fois plus de ligne de code mais c'est clair et lisible
    */
    Ensuite pour faire ce que tu demande je le trouve un poil compliqué pour pas grand chose le script en question...

    A mon sens tu apprendra beaucoup plus si on t'aide à en recoder un de A à Z pour que tu comprenne.

    Cordialement,

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par Inazo Voir le message
    Ensuite pour faire ce que tu demande je le trouve un poil compliqué pour pas grand chose le script en question...

    A mon sens tu apprendra beaucoup plus si on t'aide à en recoder un de A à Z pour que tu comprenne.
    Tout à fait, si vous regardez mon post précédent vous verrez que ça se fait en 10 lignes de code...

  10. #10
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    :-( Rhooo vous m'avez découragé en 10 Secondes....

    Effectivement, ce script est trop compliqué, et mes bases en PHP sont restreintes, voir TRES restreintes...

    J'ai besoin de ce script assez urgemment, et j'avoue avoir pris ce qui me passait sous la main, mais je suis partant pour apprendre !

    Ce fichier texte de mails comporte environ 300 000 Adresses, et pèse 8Mo.

    Et il est déja formatté avec une adresse par lignes, à utiliser sous Sarbacane, et donc forcément à chaque envoi de mailing, je reçois de nouvelle dsinscriptions, et si à chaque mail je dois passer par WORD par exemple pour supprimer tous les % et reformatter au format SARBACANE, bah j'ai pas fini !

    Si j'arrivais à trouver le moyen de pouvoir modifier ce fichier tel qu'il est sans toutes ces complications, ca m'enleverai une ENORME épine du pied...

    Merci pour votre aide en tout cas, et si vous pouvez m'aider j'attends toutes vos aides :-)

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par reftop10 Voir le message
    J'ai besoin de ce script assez urgemment
    l’urgence n'existe pas

  12. #12
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Dans mon cas, on fera une exception car comme je m'y suis pris trop tard, j'aurai du me pencher dessus il y'a 3 mois déja, je suis trop naze :p

    Au lieu de ça je me suis penché sur le fonctionnement LINUX, les serveur dédiés, leur mise en place, et le fonctionnement de l'IP LOAD BALANCING pour faire fonctionner un site sur 2 serveurs ou plus en meme temps...

    J'attends vos conseils ou idées pour m'aider à avancer sur ce script... Thanks... ^^

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    utilise Mailchimp

  14. #14
    Candidat au Club
    Homme Profil pro
    referenceur
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : referenceur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Il est pas mal ce site... Je pourrais l'utiliser pour héberger ma liste, utiliser leur script de désabonnement et ensuite récupérer la liste modifiée par les désinscriptions, mais le probleme c'est que le seul moyen d'exporter ensuite est en format C.S.V

    Pas top pour mon logiciel SARBACANE.... :-(

Discussions similaires

  1. Envoyer des mails à parti d'une liste en .txt
    Par twister_95 dans le forum Internet
    Réponses: 5
    Dernier message: 18/07/2007, 22h16
  2. Script de mailing list tout fait ?
    Par i_shinji dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 30/05/2007, 10h17
  3. [Conception] Création d'un Mailing List via une BDD
    Par Matmax dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 12/04/2006, 14h23
  4. [Mail] Liste de diffusion en PHP
    Par Thierry8 dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2005, 10h36

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