Ajouter un commentaire php formulaire envoie
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:
merci d'avance de vos réponses .
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
-
ModérateurBonjour,
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