Erreur lors d'un champs vide [Résolu/Fermé]

Signaler
-
 Thetcha -
Bonjour,
Je suis en train de développer un formulaire en saisie et je suis bloqué.
Mon problème est que lorsque je ne rentre pas l'age de la personne, j'ai cette ligne qui apparait :

Incorrect integer value: '' for column 'Age' at row 1

Je ne vois pas ce qui pose problème !

La ligne HTML correspond à cette ligne est la suivante :

     </tr>
         <tr>
          <td>Age :</td>
          <td><input type="int" name="Age" size="12"></td>
      </tr>


Merci d'avance

3 réponses

Messages postés
140
Date d'inscription
samedi 19 mai 2012
Statut
Membre
Dernière intervention
12 juin 2017
17
Si c'est le problème d'un champ vide il faut vérifier que ton champs n'est pas vide avant d'exécuter la suite du formulaire :

<form method="post">
Nom : <input type="text" name="nom">
<br>Prénom : <input type="text" name="prenom">
<br>Age : <input type="int" name="age" size="12">
</form>


Coté php tu met (plus haut dans la page ou si tu as défini form action, dans une autre page)

if($_POST) {
if(!empty($_POST['nom']) AND !empty($_POST['prenom']) AND !empty($_POST['age'])) {
//Ce que tu souhaite faire...
} else {
Echo '<div style="color:red"><strong>Il reste un/plusiers champs incomplet</strong></div>';
}
}


Voilà ;)
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 428
Le problème vient probablement de l'attribut type de ta balise input.

Cet attribut n'est pas reconnu par tous les navigateurs, tu devrais l'enlever et vérifier ta valeur côté php.

Tu as cette erreur parce que tu dois avoir une valeur entière dans ton input, or une valeur vide n'est pas un entier.

Bref, retire l'attribut type, ça va te causer plus de problèmes qu'autre chose.
Salut ThEBiShOp,
J'ai retiré l'attribut 'type' de la balise input mais ca ne change rien j'ai toujours l'erreur qui apparait !
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 428
Tu peux remontrer ta balise ?

L'erreur apparaît où ? On peut avoir un screen qui serait un peu plus explicite ?
Voici l'erreur :

Incorrect integer value: '' for column 'Age' at row 1

Elle apparait au niveau de l'age et essentiellement à ce niveau.
La ligne HTML correspond à cette ligne est la suivante :


</tr>
<tr>
<td>Age :</td>
<td><input type="int" name="Age" size="12"></td>
</tr>

Merci
Messages postés
8319
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
18 juillet 2018
1 428
type="int"

tu es sûr que tu l'as retiré ? On dirait pas ;)