bonjour,
un textarea ma fait rager depuis des heures :p
je vous montre mon code et je vous explique.

try{
$DB = new PDO('mysql:host=localhost;dbname=astocope_mail','root','');}
catch(PDOException $e){
echo"<article style='color:red; font-size:30px;'>une erreur s'est produite lors de l'envoie merci de nous prevenir du probleme pour que nous le resoulions sur : <article style='color:green;'>dschandene@gmail.com</article></article><br><br>";
}
if (!empty($_POST'prenom']) && !empty($_POST'nom']) && !empty($_POST'mail']) && !empty($_POST'msg']) ){
$req = $DB->prepare('INSERT INTO mail (prenom,nom,mail,msg) VALUE ( ? , ? , ? , ?)');
        $d = array($_POST'prenom'],$_POST'nom'],$_POST'mail'],$_POST'msg']);
        $req->execute($d);
        $db = null; 
}else{echo"<article style='color:red; font-size:30px;'>une erreur s'est produite lors de l'inscription merci de nous prevenir du probleme pour que nous le resoulions sur : <article style='color:green;'>(vous n'aurez pas mon mail :p)</article></article><br><br>";
}

<form action="" method="POST">

                        <input type="text" name="prenom" id="" placeholder="prenom" required class="input_contact"><br>
                        <input type="text" name="nom" id="" placeholder="nom" required class="input_contact"><br>
                        <input type="email" name="mail" id="" placeholder="e-mail" required class="input_contact"><br>
                        <textarea name="msg" id="" cols="30" rows="10" placeholder="votre texte ici" required class="input_contact" ></textarea><br>
                        <input type="submit" value="envoyer" class="submit_contact">

                    </form>

quand j'enleve les textarea au niveau php et html la requete s'execute mais quand je le remet voila se que sa m'affiche : Notice: Undefined index: msg in D:site_astocope (1.5)\pages\contact.php on line 77

alors que msg existe bien.

help me !

1 réponse


Carouge10
Réponse acceptée

Bonjour,

Remplace:

$d = array($_POST'prenom'],$_POST'nom'],$_POST'mail'],$_POST'msg']);

Par :

$d = array($_POST'prenom'],$_POST'nom'],$_POST'mail'],addslashes($_POST'msg']));

htmlspecialchars(); permet de remplacer le " et ' qui peuvent interféré avec les requêtes.