debe

Inscris le 14/05/2009 à 10:06
  • Signature
    debe
  • Site web
  • Nombre de sujets
    2
  • Nombre de messages
    7
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

debe
le 17/05/2009 à 16:34
problème avec if ?
oups,
désolé
à revoir mon code, je me suis aperçu que j'envoyais 2 mail :
un controlé par le if et donc qui ne pars pas
1 autre sans ce contrôle (en dehors de la boucle) et c'est celkui ci que je reçois

désolé pour ce post inutile
debe
debe
le 14/05/2009 à 22:20
controle chaine caractere
comme je le disais, si il n'y a pas de virgule à la fin de ma chaine, la dernière adresse est testée comme mauvaise

je ne veux pas forcément en mettre, juste pouvoir tester mes adresses
debe
debe
le 14/05/2009 à 17:51
problème avec if ?
bonjour,
encore un autre problème que je ne vois pas.
avec le code ci dessous, si j'entre une adresse non valide, il m'écris bien mon echo adresse pas valide mais il envoie quand même le mail
<?php
// script pour mel1
if (!empty($mel1))
{
if (verifmail ($mel1) == '1')
{
//script envoie email petition mel1
if ($mel1 != '')
{
$recipient= $mel1;
$subject= "de la part de $nom_exp $prenom_exp";
$message1= "$message <p>
Vous pouvez participer à l'action $nom_action à cette adresse :<p>
<a href='http://www.cyberacteurs.org/actions/action.php?id=$id'>http://www.cyberacteurs.org/actions/action.php?id=$id</a> <p>
*********************** <br>
Cyber acteurs vous permet de signer ses cyber_actions à cette adresse :<p>
<A HREF='http://www.cyberacteurs.org/actions'>http://www.cyberacteurs.org/actions</A><p>
Merci<br> A Bientôt";
$headers .= "From: $mel_exp <$mel_exp> \n";
$headers .= "X-Sender: <$mel_exp>\n"; $headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 3\n";
$headers .= "Return-Path: <$mel_exp> \n"; // Chemin de retour pour les erreurs
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
if(mail($recipient, $subject, $message1, $headers));
echo "<b>Votre 1° adresse :</b> $mel1 <br>";
}
else
{}
}
else
{
echo '<font color="#FF0000">L\'adresse mel de votre premier correspondant n\'est pas valide.<br>Veuillez la remplir correctement dans la page précédente.</font>';
}
}
// script mel1
?>
debe
debe
le 14/05/2009 à 17:33
controle chaine caractere
désolé de revenir à la charge, mais j'ai un autre souci sur mon test
http://www.cyberacteurs.org/test/
<?php
include_once('../fonctions/verifmail.inc.php');

$mel = $_POST['mel6'];
$mel2 = explode(",", $mel);
for($i=0;$i<sizeof($mel2);$i++) // tant que $i est inferieur au nombre d'éléments du tableau...
{

if (verifmail ($mel2[$i]) == '1')
{
echo $mel2[$i];
echo " l'adresse est ok<p>";
}
else
{
echo $mel2[$i];
echo " l'adresse n'st pas bonne<p>";
}
}
?>


si il n'y a pas de virgule à la fin de ma chaine, la dernière adresse est testée comme mauvaise

Or, les personnes risquent de ne pas mettre cette virgule de fin
debe
debe
le 14/05/2009 à 10:55
controle chaine caractere
Par contre, à mon avis, tu te compliques la vie pour tester tes emails.

peux tu me mettre sur un piste sur le pourquoi je me complique ?
le champ va me renvoyer des adresses séparées par une virgule, peux être avec un espace entre chaque ou pas (cela dépend d'une personne, d'ou risque d'erreurs.

comment procèderais-tu ?
debe
debe
le 14/05/2009 à 10:36
controle chaine caractere
bonjour,
j'ai un champ "textarea" dans lequel je demande aux internautes de remplir des adresses mel afin de recommander mon sites à leurs amis, en les séparant par une virgule.
je sais envoyer le mail à toute la liste car séparé par une virgule, cela marche

mais je voudrais contrôler
1) l'adresse email
2) que la séparation est bien une virgule

j'ai trouvé cette fonction
<?php
function extraireMotsDUnePhrase($phrase)
{
/* caractères que l'on va remplacer (tout ce qui sépare les mots, en fait) */
$aremplacer = array(",",".",";",":","!","?","(",")","[","]","{","}",""","'"," ");
/* ... on va les remplacer par un espace, il n'y aura donc plus dans $phrase que des mots et des espaces */
$enremplacement = " ";

/* on fait le remplacement (comme dit ci-avant), puis on supprime les espaces de début et de fin de chaîne (trim) */
$sansponctuation = trim(str_replace($aremplacer, $enremplacement, $phrase));

/* on coupe la chaîne en fonction d'un séparateur, et chaque élément est une valeur d'un tableau */
$separateur = "[ ]+"; // 1 ou plusieurs espaces
$mots = split($separateur, $sansponctuation);

return $mots;
}
?>

mais cela me renvoie tous les mots, comment séparer chacun de ces mot pour les tester ?
debe
LoadingChargement en cours