[PHP] <?php //La classe du formulaire pour ajouter le contenu include 'class.forms.php'; $iforms = new forms(); ?> <form id="forms-message" method="post" action="<?php $_SERVER['PHP_SELF'];?>" style="margin-left:10px;"> <?php print $iforms->msg_constructor();?> <fieldset> <table> <tr> <td class="label"><label for="subject">Sujet(*) :</label></td> </tr> <tr> <td><input type="text" id="subject" name="subject" class="ui-widget-content ui-corner-all" value="" size="50" /></td> </tr> <tr> <td class="label"><label for="contentmsg" class="inlinelabel">Contenu (*):</label></td> </tr> <tr> <td><textarea name="content" id="contentmsg" class="ui-widget-content ui-corner-all" cols="50" rows="10"></textarea></td> </tr> </table> </fieldset> <div style="margin:5px;"> <input type="submit" class="ui-state-default ui-corner-all" name="submit"value="Enregistrer" /> </div> </form>
Ensuite créer un fichier nommé class.forms.php
[PHP] <?php class forms{ /** * subject * @var string */ public $subject; /** * contentmsg * @var string */ public $content; /** * Instance db * @var void */ private $db; /** * Constructor */ function __construct(){ /** * Le sujet de notre message */ if(isset($_POST['subject'])){ $this->subject = magixcjquery_form_helpersforms::inputCleanQuote($_POST['subject']); } /** * Le contenu de notre message */ if(isset($_POST['content'])){ //Nettoyage du contenu (voir helpers forms) $this->content = magixcjquery_form_helpersforms::inputClean($_POST['content']); } /** * test pour vérifier si la classe existe bien ;) */ if(class_exists('db_forms')){ $this->db = new db_forms(); } } /** * Insertion d'une nouveau message * @access public */ public function msg_constructor(){ /** * On test les variables */ if(isset($this->subject) AND isset($this->content)){ /** * Si les champs sont vide, on retourne un message d'erreur */ if(empty($this->subject) OR empty($this->content)){ $fetch = '<div class="ui-state-error ui-corner-all" style="font-weight:bold;width:500px;padding:5px;">Les champs ne sont pas tous rempli</div>'; }else{ /** * On insert et retourne un message */ $this->db->i_message( $this->subject, $this->content ); $fetch = '<div class="ui-state-highlight ui-corner-all" style="font-weight:bold;width:500px;padding:5px;">Le message à été enregistré avec succès</div>'; } return $fetch; } } } /*La classe de nos fonctions pour interagir sur la base de donnée*/ class db_forms{ /** * * @var void */ protected $layer; //Constructor function __construct(){ //Appel de magix DB $this->layer = new magixcjquery_magixdb_layer(); } /** * ######################## New Message #################### */ public function i_message($subject,$content){ // Notre requête SQL avec nos deux paramètres $sql = 'INSERT INTO message (subject, content) VALUE (:subject, :content)'; $this->layer->insert($sql, array( ':subject'=> $subject, ':content'=> $content )); } } ?>
ps: Correctif ce 23 Avril 2010 avec l'insertion d'un pack complet