Bonjour,
J'aimerai avoir un retour ajax de la réussite ou non de l'insertion en bdd.
Le formulaire
Le php
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <FORM id="new_mess_form" enctype="multipart/form-data" action="test1.php" method="POST"> <INPUT id="id_expediteur" name="id_expediteur" type="hidden" value="<?php echo $_SESSION['auth_id'] ?>" /> <SELECT name="id_destinataire" > <OPTION value="0">Destinataire</OPTION> <?php $req = Cnx::connectCnx()->prepare('SELECT equipe.id, equipe.nom, equipe.prenom FROM equipe WHERE id_societe=:id AND id<>:id AND activate=1 ORDER BY nom'); $req->execute(array('id' => $Auth->user('id'))); while($user=$req->fetch(PDO::FETCH_OBJ)) { echo '<OPTION name="destinataire" value="'.$user->id.'">'.ucfirst($user->nom). ' ' .ucfirst($user->prenom).'</OPTION>'; } ?> </SELECT> <br /> <INPUT id="titre_mess" name="titre_mess" type="text" value="<?php if(!empty($_POST['titre_mess'])) : echo htmlspecialchars($_POST['titre_mess'], ENT_QUOTES); endif; ?>" placeholder="Titre *" maxlength="35"><br /> <TEXTAREA name="message" value="<?php if(!empty($_POST['message'])) : echo htmlspecialchars($_POST['message'], ENT_QUOTES); endif; ?>" placeholder="Votre message"></TEXTAREA><br /> <INPUT type="hidden" name="MAX_FILE_SIZE" value="2097152"> <INPUT type="file" name="piece_jointe"><br> <INPUT type="submit" name="new_mess" value="Envoyer"/> </FORM>
Le JS
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 //verification des champs $erreur = verifMess(); // pas d'erreur if(empty($erreur)){ try { $resultat = Cnx::connectCnx()->prepare('INSERT INTO messagerie (id_expediteur, id_destinataire, titre_mess, message, piece_jointe, date_mess) VALUES(:id_expediteur, :id_destinataire, :titre_mess, :message, :piece_jointe, :date_mess)'); $resultat->bindValue(':id_expediteur', $_POST['id_expediteur']); $resultat->bindValue(':id_destinataire', $_POST['id_destinataire']); $resultat->bindParam(':titre_mess', $_POST['titre_mess']); $resultat->bindValue(':message', $message); $resultat->bindParam(':piece_jointe', $fichier); $resultat->bindValue(':date_mess', date('Y-m-d H:i:s'),PDO::PARAM_STR); $resultat->execute(); echo'ok'; } catch (PDOException $e) { echo '<div class="error">Erreur SQL : ' . $e->getMessage().'</div>'; } } else { echo '<div class="new_mess_erreur">'; foreach ($erreur as $e) { echo '<p>'.$e, '</p>'; } echo '</div>'; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $(function(){ $('form#new_mess_form').submit( function(e) { e.preventDefault(); var data = $(this).serialize(); $.ajax({ type: $(this).attr('method'), url: $(this).attr('action'), data: data, success: function(){ if(data=!'ok'){ alert('non') } else{ alert('ok') } } }); return false; }); });
Partager