Bonjour.
Je dois avoir un problème de syntaxe quelque part mais je n'arrive à trouver.
fichier fonctions.phpfichier dossier_candidature.php
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
21
22
23
24
25
26
27
28
29 function enregistrer_action($id_etablist, $date_depot, $intitule, $mots_cles, $resume, $date_debut, $date_fin, $lieu, $action, $public, $nombre, $choix, $choix_personne, $choix_autre, $concertation, $concert_partenaires, $concert_forme, $evaluation, $eval_forme, $eval_precis, $detail_action) { $id_etablist = mysql_real_escape_string($id_etablist); $date_depot = mysql_real_escape_string($date_depot); $intitule = mysql_real_escape_string($intitule); $mots_cles = mysql_real_escape_string($mots_cles); $resume = mysql_real_escape_string($resume); $date_debut = mysql_real_escape_string($date_debut); $date_fin = mysql_real_escape_string($date_fin); $lieu = mysql_real_escape_string($lieu); $action = mysql_real_escape_string($action); $public = mysql_real_escape_string($public); $nombre = mysql_real_escape_string($nombre); $choix = mysql_real_escape_string($choix); $choix_personne = mysql_real_escape_string($choix_personne); $choix_autre = mysql_real_escape_string($choix_autre); $concertation = mysql_real_escape_string($concertation); $concert_partenaires = mysql_real_escape_string($concert_partenaires); $concert_forme = mysql_real_escape_string($concert_forme); $evaluation = mysql_real_escape_string($evaluation); $eval_forme = mysql_real_escape_string($eval_forme); $eval_precis = mysql_real_escape_string($eval_precis); $detail_action = mysql_real_escape_string($detail_action); $sql = "INSERT INTO actions(id_action, id_etablist, date_depot, intitule, mots_cles, resume, date_debut, date_fin, lieu, type_action, public, nombre, choix, choix_personne, choix_autre, concertation, concert_partenaires, concert_forme, evaluation, eval_forme, eval_precis, detail_action) VALUES('', '$id_etablist', '$date_depot', '$intitule', '$mots_cles', '$resume', '$date_debut', '$date_fin', '$lieu', '$action', '$public', '$nombre', '$choix', '$choix_personne', '$choix_autre', '$concertation', '$concert_partenaires', '$concert_forme', '$evaluation', '$eval_forme', '$eval_precis', '$detail_action')"; // insertion du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); }fichier formulaire_candidature.php
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 $lieu = ""; if (isset($_POST['lieu'])) $lieu = $_POST['lieu']; else $lieu = ""; if (empty($lieu)) $message30 = "Page 2, merci d'indiquer le lieu où c'est déroulée l'action."; //clic sur le bouton "valider le dossier" if (isset($_POST['valider'])){ enregistrer_action($id_etablist, $date_depot, $intitule, $mots_cles, $resume, $date_debut, $date_fin, $lieu, $action, $public, $nombre, $choix, $choix_personne, $choix_autre, $concertation, $concert_partenaires, $concert_forme, $evaluation, $eval_forme, $eval_precis, $detail_action); $id_action = mysql_insert_id(); echo "Le dossier est enregistré"; $fonction = ""; } //clic sur le bouton "valider les modifications" if (isset($_POST['modifier'])){ $sql = "UPDATE actions SET id_etablist = '$id_etablissement', date_depot = '$date_depot' , intitule = '$intitule' , mots_cles = '$mots_cles' , resume = '$resume' , date_debut = '$date_debut' , date_fin = '$date_fin' , lieu = '$lieu' , type_action = '$action' , public = '$public' , nombre = '$nombre' , choix = '$choix' , choix_personne = '$choix_personne' , choix_autre = '$choix_autre' , concertation = '$concertation' , concert_partenaires = '$concert_partenaires' , concert_forme = '$concert_forme' , evaluation = '$evaluation' , eval_forme = '$eval_forme' , eval_precis = '$eval_precis' , detail_action = '$detail_action' WHERE id_etablist = $id_etablissement"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } //récupération des données insérées if (isset($id_etablist)){ //récupération de l'action $sql = mysql_query("SELECT * FROM actions WHERE id_etablist = $id_etablist"); if (mysql_num_rows($sql) > 0) { $res = mysql_fetch_array($sql); $id_action = $res['id_action']; $dateDebut = $res['date_debut']; $dateDebut = explode("-", $dateDebut); $ansd = $dateDebut[0]; $moisd = $dateDebut[1]; $dateFin = $res['date_fin']; $dateFin = explode("-", $dateFin); $ansf = $dateFin[0]; $moisf = $dateFin[1]; $lieu = $res['lieu']; $action = $res['type_action']; $action = explode(",",$action); $public = $res['public']; $public = explode(",",$public); $nombre = $res['nombre']; $choix = $res['choix']; $choix_personne = $res['choix_personne']; $choix_personne = explode(",",$choix_personne); $choix_autre = $res['choix_autre']; $concertation = $res['concertation']; $concert_partenaires = stripslashes(nl2br(htmlentities(trim($res['concert_partenaires'])))); $concert_partenaires = str_replace("<br />",'',$concert_partenaires); $concert_forme = stripslashes(nl2br(htmlentities(trim($res['concert_forme'])))); $concert_forme = str_replace("<br />",'',$concert_forme); $evaluation = stripslashes(htmlentities(trim($res['evaluation']))); $evaluation = explode(",",$evaluation); $eval_forme = stripslashes(nl2br(htmlentities(trim($res['eval_forme'])))); $eval_forme = str_replace("<br />",'',$eval_forme); $eval_precis = stripslashes(nl2br(htmlentities(trim($res['eval_precis'])))); $eval_precis = str_replace("<br />",'',$eval_precis); $intitule = stripslashes(nl2br(htmlentities(trim($res['intitule'])))); $intitule = str_replace("<br />",'',$intitule); $mots_cles = stripslashes(nl2br(htmlentities(trim($res['mots_cles'])))); $mots_cles = str_replace("<br />",'',$mots_cles); $resume = stripslashes(nl2br(htmlentities(trim($res['resume'])))); $resume = str_replace("<br />",'',$resume); $detailTab = stripslashes(nl2br(htmlentities(trim($res['detail_action'])))); $detailTab = str_replace("<br />",'',$detailTab); $detailTab = explode("couper_ici ",$detailTab); $nb = count($detailTab); $detailTab = str_replace("couper_ici ",'',$detailTab); if ($nb==1){ $detail1 = $detailTab[0]; } else if ($nb == 2) { $detail1 = $detailTab[0]; $detail2 = $detailTab[1]; } else if ($nb == 3) { $detail1 = $detailTab[0]; $detail2 = $detailTab[1]; $detail3 = $detailTab[2]; } } } include 'formulaire_candidature.php';Si <input type="text" name="lieu" ....> je saisi "dans entreprise", l'insertion et la modification se font sans problème.
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 <div id="div1" class="visible"> <form name="dossier" method="POST" action="index.php?page=dossier"> <table> ... <br /> <span style="margin-left:20px">- Lieu du déroulement de l'action * : <input type="text" name="lieu" value="<?php echo stripslashes(htmlentities(trim($lieu))); ?>" style="width:410px; font-size:13px" /></span> <br /><br /> </table> <?php if (!empty($id_etablissement)){ echo '<p align="center"><input type="submit" name="modifier" value="Valider les modifications"></p>'; } else { echo '<p align="center"><input type="submit" name="valider" value="Valider le dossier"></p>'; } ?> </form> </div>
Par contre si je saisi "dans l'entreprise", j'ai un message d'erreur de syntaxej'ai beau regarder je ne vois pas où est l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Erreur SQL !UPDATE actions SET id_etablist = '1', date_depot = '2008-07-09' , intitule = '' , mots_cles = '' , resume = '' , date_debut = '2005-02-01' , date_fin = '2006-10-01' , lieu = 'dans l'entreprise' , type_action = '' , public = '' , nombre = '' , choix = '' , choix_personne = '' , choix_autre = '' , concertation = '' , concert_partenaires = '' , concert_forme = '' , evaluation = '' , eval_forme = '' , eval_precis = '' , detail_action = '' WHERE id_etablist = 1 Erreur de syntaxe près de 'entreprise' , type_action = '' , public = '' , nombre = '' , cho' à la ligne 1
Un oeil neuf verra certainement le problème.
Merci d'avance
Partager