Créer un formulaire de contact PHP, MySQL, PDO
Posté : 05 avr. 2013, 12:26
Bonjour,
Voici mon problème. Je suis récemment passé de mysql_ à la PDO, pour des raisons de sécurité (et de modernité du code utilisé). J'ai réussi à créer une page de connexion PDO :
Merci pour votre attention et de votre aide.
Sincèrement.
Voici mon problème. Je suis récemment passé de mysql_ à la PDO, pour des raisons de sécurité (et de modernité du code utilisé). J'ai réussi à créer une page de connexion PDO :
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=nom_de_name;charset=utf8', 'login', 'mot de passe', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'/*, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION*/));
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
J'essaye actuellement d'adapter mon formulaire de contact à la pdo, voici ma page contact : <div id="formulairecontact">
<p class="texte3">Formulaire de contact</p>
<form id="formcontact" method="post" action="contact.php" enctype="multipart/form-data">
<p class="texte3"><label for="pseudo">Votre pseudo</label> : <br /><input type "text" name="pseudo" id="pseudo" placeholder="20 caractères maximum" size="30" maxlength="20" /></p>
<p class="texte3">
<label for"email" class"texte4">Votre E-mail : </label><br />
<input type="email" name="email" id="email" /></p>
<p class="texte3">
<label for="objet">Objet du message ?</label><br />
<select name="objet" id="objet">
<option value="apdsite">A propos du site</option>
<option value="demandedessin">Demande de Dessin</option>
<option value="dprofessionelle">Demande professionelle</option>
<option value="autre">Autre...</option>
</select>
</p>
<p class="texte3">
<label for="ameliorer" class="texte3">Votre message : </label><br />
<textarea name="message" id="message" row="10" clols="50"></textarea></p>
<p class="texte3"><input type="submit" value="Envoyer" /></p>
</form>
<?php
if(isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else $pseudo="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['objet'])) $objet=$_POST['objet'];
else $objet="";
if(isset($_POST['message'])) $message=$_POST['message'];
else $message="";
if(empty($pseudo) OR empty($email) OR empty($objet) OR empty($message))
{
echo '<font color="red"><b><center>Attention, vous devez remplir tous les champs</center></b></font>';
}
else
{
// connexion à la base
$db = mysql_connect('localhost', 'login', 'mot de passe') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('nom_base_de_donnée',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO recu(id, pseudo, email, objet, message) VALUES('','$pseudo','$email','$objet','$message')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo '<font color="green"><b><center>Votre message à bien été envoyé !</center></b></font>';
mysql_close(); // on ferme la connexion
}
?>
</div>
</div>
<?php include("footer.inc.php"); ?>
</div>
</body>
</html>
J'aurais besoin d'un petit coup de pouce pour m'aider a rédiger ce code et surtout à le comprendre :/Merci pour votre attention et de votre aide.
Sincèrement.