Formulaire : checkbox envoie 1 si coché et 0 si non

Fermé
loutry - 5 sept. 2014 à 15:01
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 - 5 sept. 2014 à 16:09
Bonjour à tous,
je viens vers vous aujourd'hui pour trouver des réponses à mon problème.
Je dois réaliser un formulaire (html, Php) mais je galère avec une question qui me semble simple. Lors que l'envoie de mon formulaire, j'ai une case checkbox

<input type="checkbox" value="" name="sev1_relance" />Serveur 1

J'ai suivi un conseil et mon code a été amélioré.

  
<input type="checkbox" onclick="if (this.checked) this.value=1; else this.value=0;" name="sev1_relance" value="0" /> Serveur 1

Le problème quand je valide mon formulaire, j'ai en réponse si je ne check pas

Column 'sev1_relance' cannot be null

Ce qui veut dire que même la valeur par défaut 0 n'est pas envoyée. (En revanche, si j'ai coché, ça part sans souci.

Comment faire svp ? Le code est incomplet, il faut que je mette en place une autre variable ?
Merci par avance pour votre aide

2 réponses

CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
Modifié par CptRomaiin le 5/09/2014 à 15:44
Salut,
Le formulaire ne renvoi la variable que si la case est cochée. Tu peux utiliser ça pour vérifier en php si c'est coché ou pas :

if (isset($_POST['sev1_relance'])) {
  // La case est cochée
   
} else {
  // La case n'est pas cochée
}

Tu n'as pas besoin de javascript.
1
Coucou CptRomaiin, et merci de ta première réponse.
En réalité, j'aimerais qu'une valeur soit envoyée quoi qu'il arrive.
Si c'est coché : 1
Mais si ce n'est pas coché : 0

Pour que mon serveur distant enregistre par défaut 0, je dois du côté de ma table (Bdd) ?

Merci par avance
0
CptRomaiin Messages postés 315 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 avril 2016 58
Modifié par CptRomaiin le 5/09/2014 à 16:10
Dans ce cas tu rajoutes une variable que tu inscris dans ta base de donnée :

if (isset($_POST['sev1_relance'])) {
  $sev1_relance = 1;
} else {
  $sev1_relance = 0;
}
1