Vous n'êtes pas identifié(e).
tu peux me dire pourquoi stp ? j'apprend en meme temps^^ enfin pour la premiere suggestion tu pourrais me faire un model car comment "rejoindre" les 2 en 1 ? ![]()
pour ta 2eme remarque, ok mais pourquoi ?
salut a tous ![]()
j'aimerais savoir si vous avez des suggestions pour mon code...
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
</head>
<body>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
merci je prend note pour l'instant je remplace les verif de toutes mes pages par des empty
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 ![]()
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 ?
il manque pas un { } avant/aprés ton else ?
j'ai rempli qu'un seul email je recois rien ! puis quand je rempli les 6 ca marche, pourquoi ?
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");
?>
? c'est à dire ? tu pourrais me faire voir un model stp ?
a non pardon je voulais dire comme ceci :
non ? ![]()
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
"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" ?^^
Remplace toujours les != "" par la fonction !empty() cela ferra déjà bien plus propre.
Ensuite un petit test pour voir si la variable est effectivement vide ou non : tu rajoutes un caractère devant et un derrière.
Et tu l'affiches.$maVar = 'a'.$maVar.'b';
celui ci ? mais.. explique moi pourquoi (je dormirais avec plus de connaissance ce soir^^) car pour moi si le visiteur rempli un champ email c'est pas vide !
a mon avis le probleme c'est que le script rajoute toujours une virgule MEME s'il y a pas les 6 emails de rempli par le visiteur.
sinon j'ai modifié la page comme ceci :
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"]);
if (!empty($email1) && !EmailOK($email1))
{
$_GET["msg"] = "email1 est invalide";
}
if (!empty($email2) && !EmailOK($email2))
{
$_GET["msg"] = "email2 est invalide";
}
if (!empty($email3) && !EmailOK($email3))
{
$_GET["msg"] = "email3 est invalide";
}
if (!empty($email4) && !EmailOK($email4))
{
$_GET["msg"] = "email4 est invalide";
}
if (!empty($email5) && !EmailOK($email5))
{
$_GET["msg"] = "email5 est invalide";
}
if (!empty($email6) && !EmailOK($email6))
{
$_GET["msg"] = "email6 est invalide";
}
if (empty($_GET["msg"]))
{
$message = addslashes($message);
$dateheure = date("Y-m-d H:i:s");
$email = "";
if (!empty($email1)) $email .= ','.$email1;
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;
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");
?>
c'est déjà mieu avec ta methode pour les vérif en haut.. ![]()
oui en effet
euh.. je te montre ma page entierement pour que tu m'explique comment faire (ou me fasse exceptionnellement mais je réve biensur^^) la voici :
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 = postInput($_POST["message"]);
if ($email1 != "")
{
if (!EmailOK($email1))
{
$_GET["msg"] = "email1 est invalide";
}
}
if ($email2 != "")
{
if (!EmailOK($email2))
{
$_GET["msg"] = "email2 est invalide";
}
}
if ($email3 != "")
{
if (!EmailOK($email3))
{
$_GET["msg"] = "email3 est invalide";
}
}
if ($email4 != "")
{
if (!EmailOK($email4))
{
$_GET["msg"] = "email4 est invalide";
}
}
if ($email5 != "")
{
if (!EmailOK($email5))
{
$_GET["msg"] = "email5 est invalide";
}
}
if ($email6 != "")
{
if (!EmailOK($email6))
{
$_GET["msg"] = "email6 est invalide";
}
}
if (empty($_GET["msg"]))
{
$message = addslashes($message);
$dateheure = date("Y-m-d H:i:s");
$email = "";
if (!empty($email1)) $email .= ','.$email1;
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;
//$email = $email1.','.$email2.','.$email3.','.$email4.','.$email5.','.$email6;
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");
?>
merci pour le conseil avec le !empty() je vais voir..
sinon pour le script avec les 6 champs etc.. j'abandonne je comprend de moin en moin j'y arrive pas.
(mais merci pour ton coup de main c'est cool de ta part)
je vais faire un textarea a la place, le visiteur tapera les emails de ces amis avec des virgules lui meme... c'est plus simple ! t'en pense quoi ?
c'est pourtant pas super difficile Nouipoz. cherche dans les tutos du site, c'est claire en plus les tutos que propose phpdebutant.
entierement daccord avec xtg.
cela ne fonctionne pas ![]()
merci pour ton aide ![]()
donc je test ton code comme ceci :
//$email = $email1.','.$email2.','.$email3.','.$email4.','.$email5.','.$email6;
mail($email,"[NomSite] Invitation","Bonjour,
sinon pour info voici ma fonction :
c'est pas un probleme avec ma fonction je pense.
je vais voir avec ton code tout de suite..
oui dsl je réexplique :
la, si je rempli les 6 champs email d'ami1, email d'ami2 etc jusqu'a 6 dans mon formulaire tout marche bien le message OK s'affiche ! aucun probleme ! ![]()
mais si je rempli pas les 6 champs (par exemple si j'en rempli un seul), le message OK s'affiche mais mes amis reçoivtn aucun mail... rien du tout ![]()
donc le probleme c'est qu'il faut remplir les 6 champs donc tapé 6 emails d'amis pour que sa fonctionne
pourquoi ?
![]()
![]()
euh non!! c'est pas possible la ligne 58 ! car une fois que je clic sur valider le message "OK" s'affiche donc c'est pas un probleme de : if (empty($_GET["msg"]))
donc si j'ai bien conpris je retire la ligne 58, 59, 74 ??
c'est pas plutot la ligne 60 ? car a la base c'est prévu pour 6 mails, donc s'il y en a moin : bug ! non ?
voici ma page :
include("inc/conf.php");
include("inc/fonctions.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 = postInput($_POST["message"]);
if ($email1 != "")
{
if (!EmailOK($email1))
{
$_GET["msg"] = "email1 est invalide";
}
}
if ($email2 != "")
{
if (!EmailOK($email2))
{
$_GET["msg"] = "email2 est invalide";
}
}
if ($email3 != "")
{
if (!EmailOK($email3))
{
$_GET["msg"] = "email3 est invalide";
}
}
if ($email4 != "")
{
if (!EmailOK($email4))
{
$_GET["msg"] = "email4 est invalide";
}
}
if ($email5 != "")
{
if (!EmailOK($email5))
{
$_GET["msg"] = "email5 est invalide";
}
}
if ($email6 != "")
{
if (!EmailOK($email6))
{
$_GET["msg"] = "email6 est invalide";
}
}
if (empty($_GET["msg"]))
{
$email = $email1.','.$email2.','.$email3.','.$email4.','.$email5.','.$email6;
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");
?>