Erreur lors d'un champs vide

Résolu
Thetcha -  
 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

gautier019 Messages postés 140 Date d'inscription   Statut Membre Dernière intervention   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à ;)
0
Thetcha
 
Merci :)
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
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.
0
Thetcha
 
Salut ThEBiShOp,
J'ai retiré l'attribut 'type' de la balise input mais ca ne change rien j'ai toujours l'erreur qui apparait !
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Tu peux remontrer ta balise ?

L'erreur apparaît où ? On peut avoir un screen qui serait un peu plus explicite ?
0
Thetcha
 
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
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
type="int"

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