vue Traitement d'un formulaire avec affichage de fieldsets en fonction d'un select - Page 1
Kommunauty
Connexion
Inscription

Traitement d'un formulaire avec affichage de fieldsets en fonction d'un select


Vanyali Messages : 1298

hum, essaye de mettre un else tout court après tout les else if et dedans tu fais un echo pour indiquer qu'il est passé dedans, comme ça, on pourras vérifier que l'erreur viens bien des condition et que ça rentre dans aucun if (et essaye en mettant des guillement autour de 1 ,2, 3 ... on sait jamais)

dimanche 6 mai 2012

maxredphenix Messages : 60

J'ai tenter le else mais aucun message n’apparaît. J'ai aussi tenter les guillemets mais.....non, j'ai chercher un peu sur le net mais j'ai rien trouver qui pourrait dire que ce code ne fonctionnerait pas

dimanche 6 mai 2012

maxredphenix Messages : 60

pour les guillements j'ai tenter '1' et "1"

dimanche 6 mai 2012

Vanyali Messages : 1298

je vois pas vraiment d'où le problème pourrais venir du coup, peut être commente le header() le temps de tester, et dans chaque condition, met un truc du genre echo "entre dans la condition 1"; et regarde s'il va bien au bon endroit

lundi 7 mai 2012

maxredphenix Messages : 60

Bonsoir et désolé pour le retard j'étais partis, (8 mois sans vacances un long week end à pas fait de mal )

J'ai tenter de mettre ceci:

// En simple guillemet

if($_POST["type_inter"] == '1'){
    echo "entre dans la condition 1";
}

else if($_POST["type_inter"] == '2'){
    echo "entre dans la condition 2";
}


// En double guillemet

if($_POST["type_inter"] == "1"){
     echo "entre dans la condition 1";
}
else if($_POST["type_inter"] == "2"){
    echo "entre dans la condition 2";
}


// Avec seulement else

if($_POST["type_inter"] == "1"){
     echo "entre dans la condition 1";
}
else($_POST["type_inter"] == "2"){
    echo "entre dans la condition 2";
}

Mais j'ai aucun message qui apparaît (en choisissant correctif donc choix 2) sur ma page "gest_appels" après avoir avoir cliquer sur envoyer (et idem pour les autres choix). Et comme d'habitude, enregistrement table appels ok mais le reste: NOK.

mardi 8 mai 2012

Vanyali Messages : 1298

hum, quand il y a un else, il ne faut pas mettre de condition entre parenthèse, il aurais du t'indiquer ton erreur.

en parlant d'erreur, essaye de rajouter

error_reporting(E_ALL);
au début de ton code, comme ça il devrais afficher les erreurs non bloquantes

mercredi 9 mai 2012

maxredphenix Messages : 60

Je viens de mettre ton code et il me donne une erreur à la ligne 99 soit la premiere ligne de ce code

else{
foreach($_POST as $index => $valeur){
$index = mysql_real_escape_string(trim($valeur));
}

// 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, systemes, service, local, type_inter, tps_inter_souhaite, objet_appel, commentaires)
VALUES ('','$num_appelant','$Newdate_appel','$heure_appel','$media','$nom_demandeur','$batiment','$systemes','$service','$local','$type_inter','$tps_inter_souhaite','$objet_appel','$commentaires')";

//On enregistre les champs des fieldsets correspondant au choix 1 : Fieldset audio
if($_POST["type_inter"] == '1'){
echo "entre dans la condition 1";
$sql="INSERT INTO assistance_audio(id_audio, id_appel, type_inter, date_debut_inter, heure_debut_inter, date_fin_inter, heure_fin_inter, intervenant1, intervenant2, intervenant_autre, entreprise, prestation_effectuer, commentaires)
VALUES ('','$id_appel', '$type_inter', '$date_debut_inter', '$heure_debut_inter', '$date_fin_inter', '$heure_fin_inter', '$intervenant1', '$intervenant2', '$intervenant_autre', '$entreprise', '$prestation_effectuer', '$commentaires')";
}
//On enregistre les champs des fieldsets correspondant au choix 2 : Fieldset correctif
else if($_POST["type_inter"] == '2'){
echo "entre dans la condition 2";
$sql="INSERT INTO correctif(id_correctif, id_appel, num_fim, date_appel, heure_appel, nom_demandeur, service, batiment, local, type_inter, systemes, ensemble, element, sous_element, surete, date_debut_inter, duree_inter, tps_acces_signature, date_fin_appel, heure_fin_appel, heure_cloture_panne, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, dysfonctionnement, parametre_bf, consignes_inter, commentaires)
VALUES ('','$id_appel', '$id_appel', '$num_fim', '$Newdate_appel', '$heure_appel', '$nom_demandeur', '$service', '$batiment', '$local', '$type_inter', '$systemes', '$ensemble', '$element', '$sous_element', '$surete', '$date_debut_inter', '$duree_inter', '$tps_acces_signature', '$date_fin_appel', '$heure_fin_appel', '$heure_cloture_panne', '$tps_inter_souhaite', '$intervenant1', '$intervenant2', '$intervenant_autre', '$dysfonctionnement', '$parametre_bf', '$consignes_inter', '$commentaires')";
}
//On enregistre les champs des fieldsets correspondant au choix 3 : Fieldset devis
else if($_POST["type_inter"] == '3'){
echo "entre dans la condition 3";
$sql="INSERT INTO devis(id_devis, id_appel, type_inter, commentaire)
VALUES ('','$id_appel', '$type_inter', '$commentaire')";
}
//On enregistre les champs des fieldsets correspondant au choix 4 : Fieldset exploitation
else if($_POST["type_inter"] == '4'){
$sql="INSERT INTO exploitation(id_exploitation, id_appel, type_exploitation, nom_demandeur, service, batiment, local, date_debut_inter, duree_inter, tps_acces_signature, date_fin_inter, heure_fin_inter, heure_cloture_panne, tps_inter_souhaite, intervenant1, intervenant2, intervenant_autre, type_operation, objet, prestation_effectuee)
VALUES ('','$id_appel', '$type_exploitation', '$nom_demandeur', '$service', '$batiment', '$local', '$date_debut_inter', '$duree_inter', '$tps_acces_signature', '$date_fin_inter', '$heure_fin_inter', '$heure_cloture_panne', '$tps_inter_souhaite', '$intervenant1', '$intervenant2','$intervenant_autre', '$type_operation', '$objet', '$prestation_effectuee')";
}
$res=mysql_query($sql);
if ($res) {
echo $msg_ok;
// Redirection vers la page appels_tableau
header('Location: gest_appels_tableau.php?i=1');
} else {
echo mysql_error();
}
}
mercredi 9 mai 2012

Vanyali Messages : 1298

et c'est quoi l'erreur ?

jeudi 10 mai 2012

maxredphenix Messages : 60

Je viens de changer mon code parce que les variables étaient mal placées et empêchaient la boucle else de fonctionner correctement.

Je viens de retenter l'envoie avec pour choix dans le select: correctif et je suis donc revenu à l'étape d'avant, soit un enregistrement correct dans la table appel (sauf le choix du select qui ne s'enregistre pas dans son champ) mais sinon aucun enregistrement dans les autres tables.

Je te donne la page php, ça sera plus lisible que sur le site:

http://dl.dropbox.com/u/31901874/erreur%20traitement.php/traitement_appels.php

Encore merci

jeudi 10 mai 2012

Vanyali Messages : 1298

j'ai peut être trouvé :


foreach($_POST as $index => $valeur){
$index = mysql_real_escape_string(trim($valeur));
}

tu remplace l'index par la valeur, donc en gros tu aura des truc du genre

$_POST["0607080910"] = "0607080910" ce qui est un peu bête

le code, ce serais plutôt


foreach($_POST as $index => $valeur){
$valeur = mysql_real_escape_string(trim($valeur));
}

je pense

ensuite, les déclaration de variables... pourquoi il y a rien ? juste


$_POST['num_appelant'];
$_POST['heure_appel'];
...

tu voulais pas faire :


$num_appelant = $_POST['num_appelant'];
$heure_appel = $_POST['heure_appel'];
...

a vrai dire, je ne comprend pas comment ça a pu enregistrer dans la table appel

vendredi 11 mai 2012

Page suivante »