Ajouter un commentaire php formulaire envoie

flo39400 Messages postés 659 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour j'ai un petit soucis avec le formulaire pour posté un commentaire
aucun textes ne s'enregistre au niveau de la base de donner voici le code:

<?php
$base = mysql_connect ('192.168.1.22', '', '');
mysql_select_db ('test', $base);
$sql = 'INSERT INTO coms VALUES ('.$_POST["post"].')';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

?>

<form action="index.php" method="post" onsubmit="self.close()">
<p>Votre commentaire:</p><br/>
<textarea name="commentaire" style="width:500px;height:200px;"><?=$post;?></textarea><br/>
<input type="submit" name="Poster" value="Poster"></form>


merci d'avance de vos réponses .

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,
    Déjà.... passes à la PDO....
    explications disponibles ici : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

    Ensuite....
    Vérifies toujours.. avant de les utiliser... que tes variables existent bien via la commande ISSET

    Et enfin... la variable que tu cherches à insérer en BDD ... n'existe pas dans ton formulaire !

    bref
    <?php
    //connexion à la BDD
    // a placer dans un fichier à part
    // que tu appelles lorsque tu en as besoin
    // ---- bddCnx.php ----
    
    //variables :
    $host = "localhost";
    $dbName="test";
    $user = "root";
    $password = "";
    
    //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();
    }
    ?>
    


    <?php
    //Connexion à la BDD
    require_once 'bddCnx.php';
    
     //Traitement du POST
    if(isset($_POST)){
      $commentaire = isset($_POST['commentaire'])?$_POST['commentaire']:"";
      $sql = "INSERT INTO coms 
                 VALUES ('$commentaire')";
      $dbh->exec($sql);
    }
    ?>
    


    Cordialement,
    Jordane
    0