Comment connecter base de donné à un formulaire de contact

samdepanam Messages postés 21 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour, je créee actuellement mon Premier site internet en PHP, HTML et je voudrais savoir comment relier mon formulaire de contact à ma base de données afin de pouvoir récupérer les données sur la base.

merci d'avance pour votre aide

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples

    https://www.commentcamarche.net/contents/793-php-recuperation-de-donnees

    https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
    0
    1. samdepanam Messages postés 21 Statut Membre
       
      rebonjour voilà ce que j'ai fait pouvez vous me dire ceux qui n'est pas correct car ça ne fonctionne toujours pas
      <?php 
      if(isset ($_POST['submit']))
       {
       {
      
      $connect = mysql_connect('localhost','root','root');
      mysql_select_db(portfolio); 
      }
      
      $NOM = addslashes(mysql_real_escape_string($_POST['NOM']));
      $PRENOM = addslashes(mysql_escape_string($_POST['PRENOM']));
      $EMAIL = mysql_escape_string($_POST['EMAIL']);
      $N°TELEPHONE = mysql_escape_string($_POST['N°TELEPHONE']);
      $MESSAGE = mysql_escape_string($_POST['MESSAGE']);
      mysql_query("INSERT INTO "contacts" VALUES('', '" . $NOM . "', '" . $PRENOM . "', '" . $EMAIL . "', '".$N°TELEPHONE."', '" .$MESSAGE."')");
      
       
      
      $NOM =htmlentities(trim($_POST['NOM']));
      $PRENOM =htmlentities(trim($_POST['PRENOM']));
      $EMAIL =htmlentities(trim($_POST['EMAIL']));
      $N°TELEPHONE =htmlentities(trim($_POST['N°TELEPHONE']));
      $SUJET =htmlentities(trim($_POST['SUJET']));
      $MESSAGE =htmlentities(trim($_POST['MESSAGE']));
      }
      
      ?>


      merci
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > samdepanam Messages postés 21 Statut Membre
       
      Déjà .. tu n'as pas regardé TOUS les liens que je t'ai donné...
      Tu utilises l'extension Mysql_ ... alors que dans le troisième lien il est expliqué qu'il faut désormais éviter...
      Je te conseilles d'utiliser la PDO.

      Quoi qu'il en soit.. dans ton code actuel... tu as oublié de mettre le nom de ta BDD entre quotes...
      mysql_select_db("portfolio"); 
      


      ... mais j'insiste... passes à la PDO



      En PDO pour se connecter à une BDD Mysql :
      <?php
      //variables :
      $host = "localhost";
      $dbName="portfolio";
      $user = "root";
      $password = "root";
      
      //connexion
      try{
       $dsn = "mysql:host=$host;dbname=$dbName";
       $options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' );
       $dbh = new PDO($dsn, $user, $password, $options);
       $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      } catch (PDOException $e) {
          echo "Échec lors de la connexion : " . $e->getMessage();
      }
      ?>
      

      Bien sûr .. il faut modifier ton code pour utiliser cette nouvelle connexion...
      par exemple.. pour faire une requête SELECT..
      $sql = "INSERT INTO contacts
                 VALUES('', '$NOM','$PRENOM','$EMAIL','$Num_TELEPHONE','$MESSAGE')";
      $dbh->exec($sql);
      
      


      PS: Evites de mettre des caractères spéciaux dans le nom de tes variables ... N°TELEPHONE risque de ne pas passer !


      EDIT : correction de la variable $dsn (avec des " " au lieu des ' ' )
      0