Probléme d'intégration dans la base de donnée

Résolu
salimdrame Messages postés 71 Statut Membre -  
oliver.55 Messages postés 84 Statut Membre -
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
Configuration: Windows XP
Firefox 2.0.0.13

6 réponses

  1. oliver.55 Messages postés 84 Statut Membre 12
     
    Il faudrait que tu exécute ta requête d'insertion : mysql_query(de ta requete) or die ...
    0
  2. salimdrame Messages postés 71 Statut Membre 1
     
    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

    *************************
    0
  3. oliver.55 Messages postés 84 Statut Membre 12
     
    C'est laquelle la ligne 28 ?
    0
    1. salimdrame Messages postés 71 Statut Membre 1
       
      En effet c'est la ligne 28
      0
  4. croy Messages postés 457 Statut Membre 114
     
    Tu as des problèmes dans les paires de guillemets. Essaye :
    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 ?
    0
    1. salimdrame Messages postés 71 Statut Membre 1
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. oliver.55 Messages postés 84 Statut Membre 12
     
    Pense à mettre ton problème en résolu merci !
    0
    1. salimdrame Messages postés 71 Statut Membre 1
       
      C'est déjà fait

      A bientôt et encore une fois merci
      0
  7. oliver.55 Messages postés 84 Statut Membre 12
     
    Désolé quand je l'ai écris ce n'a l'était pas encore jusqu'à ce que je revienne sur la page !
    0