Probléme d'intégration dans la base de donnée
Résolu
salimdrame
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
oliver.55 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
oliver.55 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je programme actuellement un script en php sensé intégrer une adresse e-mail dans une base de donnée après l'avoir vérifié.
Au niveau du script tout va bien mais au niveau de la base de donnée, l'adresse e-mail n'est pas enregistrée.
Voici mon code :
*****************************************************************************
***Le formulaire***
<form action="inscription.php" method="post">
<label>Newsletter :</label>
<input size="20" name="mail" type="text">
<input name="send" type="submit" value="S'inscrire" />
</form>
***Le script PHP***
<?php
//On se connecte à la base de donnée
mysql_connect("server", "base", "mdp");
mysql_select_db("nom_base");
//On vérifie si le formulaire a bien été remplie
if (isset($_POST['mail']) && !empty($_POST['mail']))
{
// on teste la validite de l'adresse mail
if (!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", $_POST["mail"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
//Sinon on vérifie si l'adresse e-mail existe dans la base
else{
$sql = 'SELECT count(*) FROM mail WHERE mail="'.$_POST['mail'].'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] != 0)
{
$message = "Cette adresse existe déja dans la base de données.";
}
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
$sql = 'INSERT INTO mail VALUES ("", "'.$_POST['mail'].'")';
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
}
}
else
{
$message = "Veuillez entrer votre adresse e-mail SVP!";
}
mysql_close();
?>
************************************************************************
Ma base quand à elle comprend 2 champs (id et mail).
Je vous remercie d'avance pour vos solutions
Je programme actuellement un script en php sensé intégrer une adresse e-mail dans une base de donnée après l'avoir vérifié.
Au niveau du script tout va bien mais au niveau de la base de donnée, l'adresse e-mail n'est pas enregistrée.
Voici mon code :
*****************************************************************************
***Le formulaire***
<form action="inscription.php" method="post">
<label>Newsletter :</label>
<input size="20" name="mail" type="text">
<input name="send" type="submit" value="S'inscrire" />
</form>
***Le script PHP***
<?php
//On se connecte à la base de donnée
mysql_connect("server", "base", "mdp");
mysql_select_db("nom_base");
//On vérifie si le formulaire a bien été remplie
if (isset($_POST['mail']) && !empty($_POST['mail']))
{
// on teste la validite de l'adresse mail
if (!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", $_POST["mail"]))
{
$message = "Votre adresse e-mail n'est pas valide";
}
//Sinon on vérifie si l'adresse e-mail existe dans la base
else{
$sql = 'SELECT count(*) FROM mail WHERE mail="'.$_POST['mail'].'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] != 0)
{
$message = "Cette adresse existe déja dans la base de données.";
}
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
$sql = 'INSERT INTO mail VALUES ("", "'.$_POST['mail'].'")';
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
}
}
else
{
$message = "Veuillez entrer votre adresse e-mail SVP!";
}
mysql_close();
?>
************************************************************************
Ma base quand à elle comprend 2 champs (id et mail).
Je vous remercie d'avance pour vos solutions
A voir également:
- Probléme d'intégration dans la base de donnée
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Intégrer une vidéo dans un powerpoint - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Formules excel de base - Guide
6 réponses
je viens d'essayer avec :
*******************
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
mysql_query("INSERT INTO mail VALUES ("", "$_POST['mail']")")
OR DIE('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
*************************
mais ça me donne une réponse du genre
*************************
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/content/d/y/m/dymaconfection/html/inscription.php on line 28
*************************
*******************
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
mysql_query("INSERT INTO mail VALUES ("", "$_POST['mail']")")
OR DIE('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
*************************
mais ça me donne une réponse du genre
*************************
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/content/d/y/m/dymaconfection/html/inscription.php on line 28
*************************
Tu as des problèmes dans les paires de guillemets. Essaye :
le paramètre de die est étrange : qu'est-ce-que c'est que $sql ?
mysql_query( "INSERT INTO mail VALUES ( '', '" . $_POST['mail'] . "')" ) OR DIE('Erreur SQL !<br />' . $sql . '<br />' . mysql_error() );
le paramètre de die est étrange : qu'est-ce-que c'est que $sql ?
Merci de votre aide elle m'a été précieuse je viens de trouver la solution grâce à vous
il fallait mettre :
***********************************
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
mysql_query("INSERT INTO mail VALUES ('', '$mail')")
OR DIE('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
*****************************
Et tout marche encore une fois Merci
il fallait mettre :
***********************************
//Si l'adresse e-mail est valide et n'existe pas encore alors on l'insére dans la base
else{
mysql_query("INSERT INTO mail VALUES ('', '$mail')")
OR DIE('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$message = "Votre mail a bien été enregistré. Merci de vous être inscrit à la newsletter.";
}
*****************************
Et tout marche encore une fois Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question