Erreur formulaire champ facultatif

hola
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 09:26

Bonjour à vous et merci à ceux qui m'aideront ; )

J'ai réalisé un formulaire d'ajout de contact pour mon espace administrateur.
Il faut à la fin cocher un bouton radio : soit le contact travaille au siège, et si c'est le cas une sous question s'affiche pour connaitre son service.
S'il travaille en agence, la question du bas ne s'affiche pas.
Lors du traitement des réponses, s'il s'agit d'un salarié du siège, il n'y a aucune erreur par contre pour un salarié d'agence si : Notice: Undefined index: service

Pourtant ce champs est facultatif...
Pouvez vous m'aider svp

Mammouth du PHP | 2278 Messages

06 mai 2014, 10:03

Bjr,
Comment procèdes-tu pour acher/montrer le champ de saisie facultatif?
- une div cachée que javascript montrerait
ou
- le formulaire est rechargé avec le champ facultatif quand le bouton est coché
ou
- autre solution choisie pa rtoi.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

hola
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 10:07

Bonjour merci de te réponse ; )

Oui je l'ai fais en js, avec un champ caché ; )

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 mai 2014, 10:11

salut,

a priori tu utilise un champ de $_POST qui n'existe pas.

Il est impératif de tester l'existence de ces champs avant de la utiliser (pour éviter le problème que tu indique).

pour cela utilise empty ou isset.


@+
Il en faut peu pour être heureux ......

hola
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 10:13

J'utilise un champ $POST qui n'e'xiste pas mais pour les autres ca fonctionnent je dois faire comment du coup? :priere:

Mammouth du PHP | 2278 Messages

06 mai 2014, 12:26

Est-ce que ce champ se trouve bien avant le bouton envoyer et avant </form> y compris quand il est caché?
il faut qu'il soit type = 'hidden' mais pas disabled....
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

hola
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 14:15

Oui, il se trouve bien avant : ( par contre je n'ai pas utilise hidden mais :
j'ai mis un onClick="cacher(); pour les champs qui n'affichetn pas la question et un onClick="afficher(); pour l'autre.

Et voici le script que j'utilise

<script type="text/javascript">
document.getElementById("champ_cache").style.display = "none";

function afficher()
{
document.getElementById("champ_cache").style.display = "block";
}

function cacher()
{
document.getElementById("champ_cache").style.display = "none";
}
</script>

Mammouth du PHP | 737 Messages

06 mai 2014, 14:25

Salut,

mets ce champ en style visibility hidden comme suggéré par sira, ca devrait marcher ;)

Mega
;)
Dyslexics are teople poo

Invité
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 14:28

Merci ; ) tu parles de quel champs?

Invité
Invité n'ayant pas de compte PHPfrance

06 mai 2014, 14:43

En fait le pb vient du php puisque je n'ai pas de pb pour récupérer les infos lorsqu'il s'agit de la case à cocher qui affiche la question...
C'est qu'en fait lorsque je coche l'autre, donc celle qui n'affiche pas la question mais valide directement, il manque une donnée par rapport à ma requete et à mes déclarations de variables.. Et là forcément celle ci reste vide... Pourtant je ne l'ai pas déclaré obligatoire dans php myadmin

Mammouth du PHP | 2278 Messages

06 mai 2014, 20:20

Il suffit quand même de tester ce champ dans le script de réception:
entre isset isnull et Compagnie, il ya de quoi faire...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 mai 2014, 10:27

le plus simple c'est d'ajouter un var_dump($_POST) tu verra bien ce que $_POST contient.

ensuite php fournit tout les champs du formulaire, s'il manque un champ c'est que tu ne l'envoie pas.

sans le code du formulaire on ne peux que rester dans le flou.

@+
Il en faut peu pour être heureux ......