|
|
|
|
Bonjour,
je travaille sur mon site internet et j'ai creer un formulaire pour que les personnes inscrite recoivent une newsletter, cependant je n'arrive pas a l'ajouter dans la base de donnée l'email, c'est un peu bizarre vu que mes autres formulaires fonctionnent.
je vous envoie le code peut etre vous pourrez m'aider
merci
CONTENU DU FORMULAIRE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Newsletter</title>
<link href="stylearial.css" rel="stylesheet" type="text/css">
</head>
<form method= post action= "confirmation_newsletter.php">
<table width="54%" height="128" border="0" align="center">
<tr>
<td width="47%" height="58" class="Style2">Entrez votre adresse email</td>
<td width="53%"><p>
<input type="text" name="Titre"/></p> </td>
</tr>
<tr>
<td height="64" align="right"><p>
</p>
<p>
<input type="reset" value="Annuler" />
</p></td>
<td><p>
</p>
<p>
<input type="submit" value="Envoyer" />
</p></td>
</tr>
</table>
</form>
</body>
</html>
CONTENU DE LA PAGE D AJOUT EN PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Confirmation</title>
</head>
<style type="text/css">
<!--
.Style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 22px;
color: #FFFFFF;
}
-->
</style>
<body>
<p><br />
TEST<br />
<?php
// ouvrir une connexion au seveur mysql en s'identifiant
$connexion = mysql_connect("localhost","root","");
// Si la connexion au SGBD à reussi
if ($connexion)
{
// sélectionner la base de donnée
mysql_select_db("startheatre",$connexion);
// créer la requete d'ajout
$requete="INSERT INTO newsletter(email)
VALUE('".$_POST["email"]."');";
echo $requete;
// lancer la requete d'ajout
$ok=mysql_query($requete,$connexion) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
//si la requete
if($ok)
{
echo "<p>Votre inscription à bien été prise en compte</p>";
}
else
{
echo "inscription echoué !!!";
}
}
else
{
echo "probleme à la connexion<br/>";
}
// fermer la connexion
mysql_close($connexion);
?>
</p>
</body>
</html>
ensuite quand je fais le test d'ajout on me met ca
Notice: Undefined index: email in C:\Program Files\EasyPHP 2.0b1\www\startheatre\confirmation_newsletter.php on line 40
INSERT INTO newsletter(email) VALUE('');
Notice: Undefined variable: sql in C:\Program Files\EasyPHP 2.0b1\www\startheatre\confirmation_newsletter.php on line 44
Erreur SQL !
Duplicata du champ '' pour la clef 1
voila je vous remercie
Configuration: Windows XP Internet Explorer 7.0
Bien dans ton attribut name de ta balise input texte tu as le mot titre et tu essaye d'avoir la variable $_POSTE['email'] <<< la met titre ou alors change le name de ta balise input
|
Bonjour,
function is_mail($mail)
{
return preg_match("/^(w|-|\.)+@((\w|-)+\.)+[a-z]{2,6}$/i",$m);
}
function verifie_email($email)
{
list($compte,$domaine)=split("@",$email,2);
if(!checkdnsrr($domaine,"MX") && ! checkdnsrr($domaine,"A"))
{
return "domaine non valide n'accepte pas les mails";
}
return $email;
}
Voila j'espère que cela t'aidera Tim |