Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1651 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  verification formulaire avant enregistrement Mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

verification formulaire avant enregistrement Mysql

n°1338811
jedebute75
Posté le 04-04-2006 à 15:14:49  profilanswer
 

bonjour,
 
je precise bien que j'ai fait une recherche avant de poster  :)  
 
j'ai un formulaire qui marche nikel, avec enregistrement des réponses dans ma base!!!
sauf que je veux verifier que les champs sont bien rempli avant d'envoyer à la base... j'ai utilisé un script javascript classique du genre :
 
function verif() {  
if (document.formulaire.nom.value=="" ) alert("Merci de fournir votre nom !" );  
if (document.forms[0].elements[0].value=="" ) {  
document.forms[0].elements[1].focus();  
return false;}  
 et j'ajoute mon traditionnelle onsubmit=" return verif()" bla bla bla
 
mais quand je test, ça me mais une page blanche avec ecrit column 'nom' cannot be null.
sans la verif javascript, ça m'enregistre dans ma base et le champs nom reste vide donc!!!
 
du coup j'ai essayé autrement, un test en php:  if(empty($nom)) echo 'vous n'avez pas rempli le champs nom';
 
probleme : quand j'ouvre la page, il m'écrit d'office que j'ai pas rempli le champs 'nom', forcément puisqu'a l'ouverture de la page, le champs nom est vide :-(((.
j'ai donc placé le scripte if(empty($nom)) juste avant l'enregistrement dans la base de donnée, là ça marche mais il m'ouvre une page blanche avec ecrit "vous n'avez pas rempli le champs nom", mais mon formulaire dans tout ça???
 
Je veux juste tester les champs et si tout est pas rempli, il m'écrit ça sur la même page ou ya mon formulaire et l'utilisateur rempli les champs qu'il a oublié c tout.
 
HELP!!

mood
Publicité
Posté le 04-04-2006 à 15:14:49  profilanswer
 

n°1338859
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 15:49:35  profilanswer
 

Je crois qu'il y a une erreur dans ton javascript
if (document.formulaire.nom.value==""; )
 
Rien ne te gene ? :)


Message édité par Berceker United le 04-04-2006 à 15:49:54
n°1338869
jedebute75
Posté le 04-04-2006 à 16:00:09  profilanswer
 

hummm, je pense au point virgule non???
donc je viens de faire un test sans donc ceci :  
if (document.formulaire.nom.value=="" )  
mais idem j'ai en retour la page blanche avec :
column 'nom' cannot be null   !!! ça m'enerve!!!

n°1338881
jedebute75
Posté le 04-04-2006 à 16:07:15  profilanswer
 

aaaarggg je rêve mais oui ça marche sans le point virgul!!!
ooh la j'ai été un nul la je reconnais. MEEERRRCCIIIII
 
t'as une idée maintenant pour la verif coté serveur ?

n°1338885
jedebute75
Posté le 04-04-2006 à 16:08:56  profilanswer
 

aaah non, ça marche pas, donc le javascript s'execute mais après le code php aussi mais il faut pas!!! comment lui dir que si le champs est vide, faut stopper l'execution du scripte php ??

n°1338888
jedebute75
Posté le 04-04-2006 à 16:12:54  profilanswer
 

grenouille : en fait dans ma base, j'ai definis les champs en NOT NULL donc quand les champs sont pas rempli il m'affiche ça je pense sinon quand tout les champs sont rempli, tout fonctionne nikel et l'enregistrement dans la base se fait. mais au cas ou un utilisateur aurait désactivé le javascript, j'aimerais 1 : faire aussi une verif coté serveur  
2 : stopper l'execution du php si le javascript décèle un champs vide
 
pfff, j'ai toujours la possibilité de définir les champs de ma table en NULL par defaut mais je veux pas puisqu'il faut absolument qu'ils repondent.

n°1338892
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:17:14  profilanswer
 

tu controles la longueur du champs
Exemple:

Code :
  1. if(isset($_POST['mon_champs'])){
  2.   if(str_len($_POST['mon_champs'])){
  3.     $arrError['mon_champs'] = true;
  4.   }else{
  5.     $arrError['mon_champs'] = false;
  6.   }
  7. }


Tu controle le tableau $arrError et ainsi tu connais les champs ayant une erreur ou non.
Autre chose. Php et javascript ne communique pas directement. Ton controle coté client (javascript) controle du coté client mais ton controle coté serveur ne sert seulement si le client desactive le javascript.  
Si tu veux donner l'impression que le controle c'est effectué du coté client mais que tu veux le faire du coté client utilise Ajax c'est la bombe de balle.
 

Spoiler :


Non c'est pas ça ! :o
http://blog.labnotes.org/wp-content/uploads/ajax.jpg


Message édité par Berceker United le 04-04-2006 à 16:20:58
n°1338896
jedebute75
Posté le 04-04-2006 à 16:19:32  profilanswer
 

merci je teste ça de suite

n°1338900
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:21:06  profilanswer
 

edit

n°1338903
jedebute75
Posté le 04-04-2006 à 16:24:55  profilanswer
 

ajax c quoi??? je fais une recherche

mood
Publicité
Posté le 04-04-2006 à 16:24:55  profilanswer
 

n°1338912
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:32:13  profilanswer
 

blablagerezkljrez a écrit :

Berceker
Ca suffit je pense :

Code :
  1. if($_POST['champs'] == FALSE)
  2.     {
  3.     $ta_requete = ...
  4.     }
  5.     else
  6.     {
  7.     echo '<script>alert('Erreur')</script>';
  8.     }


 
 
Non?


Non parce que là il va y avoir plein d'alert à la suite et les alert sur le web (selon le public visé) n'est plus conseillé en terme d'image. Trop agressif.
Ce qui est modeu c'est de placer les indications à coté du champs en question en une seule fois.
Regle : Evité de faire cliquer trop souvent l'internaute. Si vous avez un gros kéke qui à commis toute les erreurs il va trop cliquer, ça va l'enerver il taille ailleur.

n°1338915
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:33:10  profilanswer
 

jedebute75 a écrit :

ajax c quoi??? je fais une recherche


Myto  :o
http://siddh.developpez.com/articles/ajax/


Message édité par Berceker United le 04-04-2006 à 16:33:45
n°1338922
jedebute75
Posté le 04-04-2006 à 16:39:16  profilanswer
 

ah ouais, ça a l'air trop bon ajax vais tester ça surtout que tout ce que je fais plante alors...
 
sinon oui j'ai bien un return false. voilà mon code :  
function valide(){  
 
if(document.form1.nom.value == "" ) {
   alert("Veuillez entrer votre nom!" );
   document.form1.nom.focus();
   return false;
  }
}  
 
mais me gonfle, il me met bien l'alerte 'veuillez entrer votre nom' et quand je fais ok, execute quand même le php et donc me renvoie l'eternel  colunm 'nom' cannot be null
 
arrrg, avant de faire le test coté serveur si o moins ça marchait côté client.  
sinon le test php pour verifier si la variable est vide, faut que je le place ou?

n°1338928
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:41:36  profilanswer
 

Ha ha ha :lol: si tu place le return apres que t'ai fais le submit c'est un peut normal non ?  [:chewyy]  
 
Un conseil, fait un petit tour parce que tu as du avoir trop le nez dedans, va t'aérer la tête ;)

Code :
  1. //javascript
  2. if(document.getElementById('mon_champs').value.length==0){
  3.   alert('Veuillez remplir le champs xxxx');
  4.   document.getElementById('mon_champs').focus();
  5.   return false;
  6. }else document.getElmentById('mon_form').submit();


 
Edit :  Excuse moi j'ai confondu focus de submit  [:ciler]  je pense que je vais faire un tour
[:tang]


Message édité par Berceker United le 04-04-2006 à 16:54:13
n°1338939
jedebute75
Posté le 04-04-2006 à 16:51:45  profilanswer
 

aaahhhh ben t'étais pas loin!!! je coince toujours tu vois!!! bah alors il est pas nikel mon javascript sniiiiif pkoi il execute mon php bouhhhhhh

n°1338941
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 16:54:50  profilanswer
 

si tu test avec firefox et que tu regarde dans la consol javascript il va t'indiquer l'erreur.

n°1338968
jedebute75
Posté le 04-04-2006 à 17:06:10  profilanswer
 

MERCI 1000 fois grenouille mais c dingue keskiclochait dans mon code??!!!

n°1338981
Berceker U​nited
PSN : berceker_united
Posté le 04-04-2006 à 17:16:05  profilanswer
 

ha ouais mais il faut dire que tu as mis un type submit sur ton bouton au lieu d'u type="button" :/

n°1338997
jedebute75
Posté le 04-04-2006 à 17:30:52  profilanswer
 

pfffffffffffff mais oui mais oui!!!! c bête tout ce temps perdu hein!!!
merci encore pour l'aide.
je vais enfin pouvoir faire mes tests coté serveur youpiiiii


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  verification formulaire avant enregistrement Mysql

 

Sujets relatifs
[EasyPhp] Gros problème de lenteur avec MySQLConnexion base mysql
Requete MySQL avec des variables ? [PROBLEME] Mise a jour de MySQL ( 5.0.15 )
Requete mysql complexeFormulaire avec gtkmm ??
probleme avec mysqlsaisie persistante dans un formulaire
vérification de caractèresformulaire perte des données de l'url avec methode get
Plus de sujets relatifs à : verification formulaire avant enregistrement Mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR