par
daemonastre » 26 août 2008, 08:27
bonjour,
voilà j'ai écouté ryle pour ces solutions et je lui en remerci mais moi étant débutant il me trouve une erreur:Warning: preg_match() expects parameter 1 to be string, resource given in C:\Logiciels\site web\Wamp\wamp\www\Site\nlettersrecevoir.php on line 50
de plus le message envoyé et toujours email invalide et je ne peux rentrer d'email dans ma BDD.
En faite j'ai modifier et j'ai aussi utiliser le preg_match dont je ne sais à quoi il sert trop comme dans le function verifieradresseemail. Si non, j'ai essayé ça qui ne marche pas aussi mais il rentre l'email dans la BDD et pas de message d'erreur mais ca évite pas les doublons:
Code : Tout sélectionner
$info = mysql_query("SELECT count(*) FROM nletters");
$emailbis = mysql_fetch_array($info);
if($_POST['email'] != $info['email'])
{
...
je vous redonne mon script modifier:
Code : Tout sélectionner
<p>
Insérer votre email pour s'abonner au newsletters du Site.<br />
<div class="nlettersend">
<form action="nlettersrecevoir.php" method="post">
<input type="text" style="width:125px;height:16px;" name="email" class="nlettersrec" />
<input type="image" name="img_nletters" src="img-nletters/bouton-ok.png" />
</p>
</form>
</div>
<?php
mysql_connect("localhost","root","");
mysql_select_db("coursphp");
$retour = mysql_query("SELECT COUNT(*) AS nbre_abonnes FROM nletters");
$nombre = mysql_fetch_array($retour);
?>
<p class="default"><?php echo$nombre['nbre_abonnes'];?> Newbies abonnés</p>
<?php
if(isset($_POST['email']))
{
if(!empty($_POST['email']))
{
$email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
function emaildoublon($email)
{
$info = mysql_query("SELECT count(*) FROM nletters");
$emailbis = mysql_fetch_array($info);
if(preg_match($info,$email))
return true;
else
return false;
}
function VerifierAdresseMail($email)
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$email))
return true;
else
return false;
}
if(VerifierAdresseMail($email) && emaildoublon($email))
{
mysql_query("INSERT INTO nletters VALUES('','$email')");
?>
<p class="cadre">
<img src="img-nletters/right.png" alt="" class="rectif"/>
Vous êtes bien abonné !
</p>
<?php
}
else
{
?>
<p class="cadre">
<img src="img-nletters/wrong4.png" alt="" class="rectif"/>
L'email rentrer n'est pas valide !
</p>
<?php
}
}
elseif(empty($_POST['email']))
{
?>
<p class="cadre">
<img src="img-nletters/wrong4.png" alt="" class="rectif"/>
Vous n'avez pas rempli le champ e-mail !
</p>
<?php
}
}
$titre="Newsletters The Newbie's Site.fr";
$resultat = mysql_query("SELECT email FROM nletters");
while( $donnees = mysql_fetch_array($resultat) or die(mysql_error()))
{
$email=$donnees['email'];
$contenu="CA MARCHE OU PO?";
$from = "From: hello <[email protected]>\nMime-Version:";
$from .= " 1.0\nContent-Type: text/html; charset=ISO-8859-1\n";
mail($email,$titre,$contenu,$from);
}
mysql_close();
?>
merci de bien revouloir m'aider.
bonjour,
voilà j'ai écouté ryle pour ces solutions et je lui en remerci mais moi étant débutant il me trouve une erreur:Warning: preg_match() expects parameter 1 to be string, resource given in C:\Logiciels\site web\Wamp\wamp\www\Site\nlettersrecevoir.php on line 50
de plus le message envoyé et toujours email invalide et je ne peux rentrer d'email dans ma BDD.
En faite j'ai modifier et j'ai aussi utiliser le preg_match dont je ne sais à quoi il sert trop comme dans le function verifieradresseemail. Si non, j'ai essayé ça qui ne marche pas aussi mais il rentre l'email dans la BDD et pas de message d'erreur mais ca évite pas les doublons:
[code]
$info = mysql_query("SELECT count(*) FROM nletters");
$emailbis = mysql_fetch_array($info);
if($_POST['email'] != $info['email'])
{
...
[/code]
je vous redonne mon script modifier:
[code]
<p>
Insérer votre email pour s'abonner au newsletters du Site.<br />
<div class="nlettersend">
<form action="nlettersrecevoir.php" method="post">
<input type="text" style="width:125px;height:16px;" name="email" class="nlettersrec" />
<input type="image" name="img_nletters" src="img-nletters/bouton-ok.png" />
</p>
</form>
</div>
<?php
mysql_connect("localhost","root","");
mysql_select_db("coursphp");
$retour = mysql_query("SELECT COUNT(*) AS nbre_abonnes FROM nletters");
$nombre = mysql_fetch_array($retour);
?>
<p class="default"><?php echo$nombre['nbre_abonnes'];?> Newbies abonnés</p>
<?php
if(isset($_POST['email']))
{
if(!empty($_POST['email']))
{
$email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
function emaildoublon($email)
{
$info = mysql_query("SELECT count(*) FROM nletters");
$emailbis = mysql_fetch_array($info);
if(preg_match($info,$email))
return true;
else
return false;
}
function VerifierAdresseMail($email)
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$email))
return true;
else
return false;
}
if(VerifierAdresseMail($email) && emaildoublon($email))
{
mysql_query("INSERT INTO nletters VALUES('','$email')");
?>
<p class="cadre">
<img src="img-nletters/right.png" alt="" class="rectif"/>
Vous êtes bien abonné !
</p>
<?php
}
else
{
?>
<p class="cadre">
<img src="img-nletters/wrong4.png" alt="" class="rectif"/>
L'email rentrer n'est pas valide !
</p>
<?php
}
}
elseif(empty($_POST['email']))
{
?>
<p class="cadre">
<img src="img-nletters/wrong4.png" alt="" class="rectif"/>
Vous n'avez pas rempli le champ e-mail !
</p>
<?php
}
}
$titre="Newsletters The Newbie's Site.fr";
$resultat = mysql_query("SELECT email FROM nletters");
while( $donnees = mysql_fetch_array($resultat) or die(mysql_error()))
{
$email=$donnees['email'];
$contenu="CA MARCHE OU PO?";
$from = "From: hello <
[email protected]>\nMime-Version:";
$from .= " 1.0\nContent-Type: text/html; charset=ISO-8859-1\n";
mail($email,$titre,$contenu,$from);
}
mysql_close();
?>
merci de bien revouloir m'aider.
[/code]