maxredphenix Messages : 60
|
J'ai tenter mais cela ne fonctionne pas. Du coup j'ai tenter autre chose après quelques recherches: $res=mysql_query($sql); $res1=mysql_query($sql1); if($res && $res1) { echo $msg_ok; // Redirection vers la page appels_tableau header('Location: ../formulaires_tableau/gest_appels_tableau.php'); } else { echo mysql_error(); } Avec le premier : $sql pour la table appel et l'autre $sql1 pour les autres tables mais idem cela ne fonctionne pas. je suis revenu à une erreur au premier else if: ( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\Monsite\php\formulaires_traitement\traitement_appels.php on line 94 Entre temps il y a eu quelques changement (j'ai fait une demo à mes collègues et le type d'inter assistance audio à été supprimer) mais le test a été fait sur l'ancien fichier php. Voila le code actuel avec la modif sur le mysql_query (et il n'y a pas d'erreur sur la déclaration dans les $sql, j'ai tout relu ligne par ligne , donc pas de fautes d'orthographe, de lettres oubliées etc...) <?php // Connexion à la base de donnée pour WAMP $host = "localhost"; $user = "root"; $passwd = ""; $database = "gestspie"; $link = @mysql_connect($host, $user,$passwd);
// Code de debbugage --> affichage des erreurs error_reporting(E_ALL);
// Affichage de l'erreur en cas d'erreur de connexion à la bdd if(!$link){die('Erreur de connexion au serveur');} $select_db = @mysql_select_db($database); if(!$select_db){die('Erreur de connexion à la base');}
// Déclaration des variables $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Enregistrement reussi"; $message = $msg_erreur;
// Enregistrement des champs non remplis // Utilisation la fonction PHP empty() qui retourne: // -> "vrai" si la variable passée en paramètre est vide // -> "faux" dans le cas contraire. if (empty($_POST['num_appelant']))$message .= "Le numéro de l'appelant";
// Si le contenu de la variable $message et plus grand que celui de la variable $msg_erreur, // c'est que nous venons d'ajouter des champs non remplis donc on affiche un message d'erreur if (strlen($message) > strlen($msg_erreur)) {echo $message;}
// Si les champs sont bien remplis, on peut insérer leurs valeurs dans la base de données MySQL. // Utilisation de mysql_real_escape_string() qui protège les données avant insertion et notamment // les apostrophes, guillemets, etc... pour protéger des attaques par injection SQL. // La boucle foreach() va passer toutes la variables $_POST envoyées par le formulaire en revue. // Pour chacune d'elle nous allons créer une variable spécifique avec $$index, nettoyer sa valeur avec trim() // (en enlevant notamment les espaces de fin) et sécuriser sa valeur avec mysql_real_escape_string(). else{ foreach($_POST as $index => $valeur){ $valeur = mysql_real_escape_string(trim($valeur)); } //Déclaration date_appel + Regex qui permet d'inverser l'année avec le jour pour un enregistrement correct dans mysql if(isset($_POST['date_appel'])) $date_appel = $_POST['date_appel']; $Newdate_appel = ereg_replace('^([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})$', '\\3-\\2-\\1', $date_appel); // Verif de l'existance de $_POST['xxx'] if (isset($_POST[''])){ //Déclaration des variables pour les fieldsets de base pour la table "appels" $_POST['num_appelant']; $_POST['heure_appel']; $_POST['num_appelant']; $_POST['heure_appel']; $_POST['media']; $_POST['nom_demandeur']; $_POST['batiment']; $_POST['systeme']; $_POST['service']; $_POST['local']; $_POST['type_inter']; $_POST['tps_inter_souhaite']; $_POST['objet_appel']; $_POST['objet']; //Déclaration des variables pour les autres fieldsets //On ne reprend pas les variables appels car déjà créer au-dessus $_POST['ensemble']; $_POST['element']; $_POST['sous_element']; $_POST['surete']; $_POST['debut_inter']; $_POST['fin_inter']; $_POST['debut_impo_acces']; $_POST['fin_impo_acces']; $_POST['tps_acces_signature']; $_POST['intervenant1']; $_POST['intervenant2']; $_POST['intervenant_autre']; $_POST['entreprise']; $_POST['prestation_effectuee']; $_POST['num_fim']; $_POST['type_inter_correctif']; $_POST['dysfonctionnement']; $_POST['parametre_bf']; $_POST['consignes_inter']; $_POST['type_operation']; } // Insérer les données dans la table "appels" avec une requête sql de type "INSERT" et la fonction mysql_query(). // Vérification que la requête s'est bien effectuée avec la valeur de retour $res // Si c'est le cas, on affiche $msg_ok, sinon on affiche l'erreur qui a eu lieu dans MySQL // Le premier "" dans values correspont dans la table à l'ID qui est automatiquement incrémenté $sql="INSERT INTO appels(id, num_appelant, date_appel, heure_appel, media, nom_demandeur, batiment, systeme, service, local, type_inter, tps_inter_souhaite, objet_appel, commentaires) VALUES ('','".$_POST['num_appelant']."','$Newdate_appel','".$_POST['heure_appel']."','".$_POST['media']."','".$_POST['nom_demandeur']."','".$_POST['batiment']."','".$_POST['systeme']."','".$_POST['service']."','".$_POST['local']."','".$_POST['type_inter']."','".$_POST['tps_inter_souhaite']."', '".$_POST['objet_appel']."', '".$_POST['objet']."')"; //On enregistre les champs des fieldsets correspondant au choix 1 : Fieldset correctif else if($_POST["type_inter"] == '1'){ $sql1="INSERT INTO correctif(id, id_appel, num_fim, date_appel, heure_appel, nom_demandeur, service, batiment, local, type_inter_correctif, systeme, ensemble, element, sous_element, surete, debut_inter, tps_acces_signature, debut_impo_acces, fin_impo_acces, fin_inter, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, dysfonctionnement, parametre_bf, consignes_inter, commentaires) VALUES ('','".$_POST['id_appel']."', '".$_POST['num_fim']."', '$Newdate_appel', '".$_POST['heure_appel']."', '".$_POST['nom_demandeur']."', '".$_POST['service']."', '".$_POST['batiment']."', '".$_POST['local']."', '".$_POST['type_inter_correctif']."', '".$_POST['systeme']."', '".$_POST['ensemble']."', '".$_POST['element']."', '".$_POST['sous_element']."', '".$_POST['surete']."', '".$_POST['debut_inter']."', '".$_POST['tps_acces_signature']."', '".$_POST['debut_impo_acces']."', '".$_POST['fin_impo_acces']."', '".$_POST['fin_inter']."', '".$_POST['tps_inter_souhaite']."', '".$_POST['intervenant1']."', '".$_POST['intervenant2']."', '".$_POST['intervenant_autre']."', '".$_POST['dysfonctionnement']."', '".$_POST['parametre_bf']."', '".$_POST['consignes_inter']."', '".$_POST['objet']."')"; } //On enregistre les champs des fieldsets correspondant au choix 2 : Fieldset exploitation else if($_POST["type_inter"] == '2'){ $sql1="INSERT INTO exploitation(id, id_appel, type_exploitation, nom_demandeur, service, batiment, local, debut_inter, tps_acces_signature, debut_impo_acces, fin_impo_acces, fin_inter, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, type_operation, objet, prestation_effectuee) VALUES ('','".$_POST['id_appel']."', '".$_POST['type_exploitation']."', '".$_POST['nom_demandeur']."', '".$_POST['service']."', '".$_POST['batiment']."', '".$_POST['local']."', '".$_POST['debut_inter']."', '".$_POST['tps_acces_signature']."', '".$_POST['debut_impo_acces']."', '".$_POST['fin_impo_acces']."', '".$_POST['fin_inter']."', '".$_POST['tps_inter_souhaite']."', '".$_POST['intervenant1']."', '".$_POST['intervenant2']."','".$_POST['intervenant_autre']."', '".$_POST['type_operation']."', '".$_POST['objet']."', '".$_POST['prestation_effectuee']."')"; } //On enregistre les champs des fieldsets correspondant au choix 3 : Fieldset devis //else if($_POST["type_inter"] == '3'){ //$sql1="INSERT INTO devis(id, id_appel, commentaires) //VALUES ('','".$_POST['id_appel']."', '".$_POST['objet']."')"; //} $res=mysql_query($sql); $res1=mysql_query($sql1); if($res && $res1) { echo $msg_ok; // Redirection vers la page appels_tableau header('Location: ../formulaires_tableau/gest_appels_tableau.php'); } else { echo mysql_error(); } } ?> Encore merci de ton aide |