Vous n'êtes pas identifié(e).
"Enlèves la virgule que tu ajoutes devant $email1. ^^" ou ? num de la ligne ? tu parle de la ligne 55 ? c'est pas email1 mais email que tu voulais dire ?
"Donc je soupçonne le champ qui n'a pas été remplie d'être remplie quelque part dans ton script." mum... euh je pense pas j'ai regardé je vois pas trop a quel moment dans le script ?
c'est a dire une "variable locale" ?^^
Hors ligne
pb ligne 48
#
$email = "";
#
if (!empty($email1)) $email .= ','.$email1; <= y aune virgule devant email 1 donc forcement y auar ,truc@machin.fr etc
#
if (!empty($email2)) $email .= ','.$email2;
#
if (!empty($email3)) $email .= ','.$email3;
#
if (!empty($email4)) $email .= ','.$email4;
#
if (!empty($email5)) $email .= ','.$email5;
#
if (!empty($email6)) $email .= ','.$email6;
pourquoi tu ne construit pas $email au fur et a mesure du 1er test d'existantce des variables ? tu fait deux ou trois fois le même test (empty) !
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Tant que tu n'auras pas testé si ta variable est réellement vide en l'affichant avec ma méthode de debug tu ne le sauras pas david7.
Sinon tu n'aurais aucun bug dans ton script et tu ne serais pas venu demander de l'aide. ^^
$_GET = une variable qui est globale pour PHP
Elle est accessible dans n'importe quelle fonction ou classe.
$maVar = variable locale. Elle n'est accessible que dans le bloc où je la déclare, donc si tu la mets dans une fonction elle ne sera accessible que dans la fonction et pas en dehors par exemple.
Hors ligne
ca marcheeeeeeeee !!! j'ai retiré la virgule j'ai testé super ! enfin MERCI A XTG ET AUSSI A MOOGLI
"pourquoi tu ne construit pas $email au fur et a mesure du 1er test d'existantce des variables ? tu fait deux ou trois fois le même test (empty) !"
oui bonne idée mais de quelle façon ?
comme ceci ?
xtg : oui je vois ton idée pour les messages d'erreurs c'est interessant c'est surtout plus propre je vais voir comment faire
Hors ligne
a non pardon je voulais dire comme ceci :
non ?
Dernière modification par david7 (02-02-2010 13:23:50)
Hors ligne
Hors ligne
? c'est à dire ? tu pourrais me faire voir un model stp ?
Hors ligne
Hors ligne
pouh.. j'ai testé, je reçois plus aucun email !
voici la derniere version de la page :
include("../inc/conf.php");
include("../inc/fonctions.php");
include("verif.php");
if (isset($_POST["action"]) && $_POST["action"] == "send")
{
$email1 = postInput($_POST["email1"]);
$email2 = postInput($_POST["email2"]);
$email3 = postInput($_POST["email3"]);
$email4 = postInput($_POST["email4"]);
$email5 = postInput($_POST["email5"]);
$email6 = postInput($_POST["email6"]);
$message = postTextarea($_POST["message"]);
$email = "";
if (!empty($email1) && !EmailOK($email1))
{
$_GET["msg"] = "email1 est invalide";
}
if (!empty($email2) && !EmailOK($email2))
{
$_GET["msg"] = "email2 est invalide";
}
else
{
$email .= ','.$email2;
}
if (!empty($email3) && !EmailOK($email3))
{
$_GET["msg"] = "email3 est invalide";
}
else
{
$email .= ','.$email3;
}
if (!empty($email4) && !EmailOK($email4))
{
$_GET["msg"] = "email4 est invalide";
}
else
{
$email .= ','.$email4;
}
if (!empty($email5) && !EmailOK($email5))
{
$_GET["msg"] = "email5 est invalide";
}
else
{
$email .= ','.$email5;
}
if (!empty($email6) && !EmailOK($email6))
{
$_GET["msg"] = "email6 est invalide";
}
else
{
$email .= ','.$email6;
}
if (empty($_GET["msg"]))
{
$message = addslashes($message);
$dateheure = date("Y-m-d H:i:s");
mail($email,"[NomSite] Invitation","Bonjour,
[url]http://www.nomsite.fr/membres/inscription.php[/url]
$message
Cordialement, NomSite
-----
Ceci est un message automatique
Merci de ne pas répondre","From: ".$config["noreply"]);
header("location: inviter.php?msg=OK");
exit();
}
}
else
{
$email1 = "";
$email2 = "";
$email3 = "";
$email4 = "";
$email5 = "";
$email6 = "";
$message = "";
}
include("../inc/header.php");
?>
<h1>Parrainez ici vos amis !</h1>
<?php
if (!empty($_GET["msg"]))
{
$msg = str_replace("+"," ",$_GET["msg"]);
$msg = stripslashes($msg);
echo("$msg<br /><br />");
}
?>
<form action="inviter.php" method="post">
<input type="hidden" name="action" value="send" />
<table border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="2">Emails de vos amis :<br />(Vous pouvez recommander 6 amis maximum).</td>
</tr>
<tr>
<td>1.<input type="text" name="email1" size="30" value="<?php echo($email1); ?>" maxlength="155" /></td>
<td>2.<input type="text" name="email2" size="30" value="<?php echo($email2); ?>" maxlength="155" /></td>
</tr>
<tr>
<td>3.<input type="text" name="email3" size="30" value="<?php echo($email3); ?>" maxlength="155" /></td>
<td>4.<input type="text" name="email4" size="30" value="<?php echo($email4); ?>" maxlength="155" /></td>
</tr>
<tr>
<td>5.<input type="text" name="email5" size="30" value="<?php echo($email5); ?>" maxlength="155" /></td>
<td>6.<input type="text" name="email6" size="30" value="<?php echo($email6); ?>" maxlength="155" /></td>
</tr>
<tr>
<td colspan="2">Message personnalisé (optionnel) :</td>
</tr>
<tr>
<td colspan="2"><textarea name="message" cols="40" rows="5"><?php echo($message); ?></textarea></td>
</tr>
</table>
<br />
<input type="submit" value="Valider" />
</form>
<?php
include("../inc/footer.php");
?>
Hors ligne
comme ceci ?
j'ai testé je recois !
tu as d'autre suggestion pour l'amélioration du code ?
Dernière modification par david7 (02-02-2010 17:49:09)
Hors ligne
j'ai rempli qu'un seul email je recois rien ! puis quand je rempli les 6 ca marche, pourquoi ?
Hors ligne
Essayes sur cette base pour la vérification :
Car auparavant ça remplissait avec des emails vides.
Dernière modification par xTG (02-02-2010 22:00:24)
Hors ligne
il manque pas un { } avant/aprés ton else ?
Hors ligne
Si tu n'as qu'une instruction qui suit tu peux t'en passer.
Exemple :
if( ... )
mon action
else
mon action 2
mon action faite quelque soit le résultat du if
Hors ligne
toujours la meme chose ! je reçois rien si je rempli pas les 6.
une fois que je rempli les 6 emails, je les recois bien mais dans le mail il y a les 6 destinataires, comment faire pour en avoir qu'un ?
Hors ligne
bon aprés plus de 45 posts j'arrete, j'abandonne ! je vais finalement faire un simple textarea
trop de temps de perdu (presque une semaine pour une page)
je voulais faire un ajoute de recommandation a mon espace membre mais bon.. un textarea c'est bien aussi ! sauf pour la vérif de chaque emails ca va pas être facile.... peut etre un nouveau post sur le forum trés bientot^^ lol
merci xTG
Hors ligne
merci je prend note pour l'instant je remplace les verif de toutes mes pages par des empty
Hors ligne