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

  FORUM HardWare.fr
  Programmation

  [PHP] Vérifier si les champs d'un form sont remplis...pb (code inside)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Vérifier si les champs d'un form sont remplis...pb (code inside)

n°115614
dirakocha
Posté le 21-03-2002 à 14:26:58  profilanswer
 

Bon ben le pb c que j'ai un formulaire d'inscription qui se trouve sur une page inscriptions.php, pour l'afficher je passe par le biais de pseudo frame et donc le lien est le suivant "clan.php?cat=inscriptions" là g un include de la page d'inscription. Jusque là no pb ca rulez. Non le pb c pour vérifier si les champs du formulaire sont bien remplis(enfin certains champs sont plus important que d'autre so...)
Pour se faire j'utilise une fonction filled_out dont voici le code:
 
function filled_out ($nom, $passwd, $conf_pass, $mail, $ville, $motivations)
    {
        if (!isset ($nom) || $nom == "" ){
           return 0;
       }
 
 
        if (!isset ($passwd) || $pass == "" ){
            return 0;
        }
 
 
        if (!isset ($conf_pass) || $conf_pass == "" ){
            return 0;
        }
 
        if (!isset ($ville) || $ville == "" ){
            return 0;
        }
 
        if (!isset ($mail) || $mail == "" ){
            return 0;
        }
 
        if (!isset ($motivations) || $motivations == "" ){
            return 0;
        }
        return 1;
    }
 
Ds ma page principale je fais ça :
 
if($insc->filled_out($nom, $passwd, $conf_pass, $mail, $ville, $motivations)){
                           $insc->inscript($nom, $passwd, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville, $motivations, $commentaires);
                       }
                       else{
                           echo "<script language=javascript>\n";
                           echo "alert(\"Veuillez remplir tous les champs svp.\" );\n";
                           echo "history.back();\n";
                           echo "</script>";
                       }
 
Donc en toute logique il devrait me mettre un message uniquement ds le cas où un des champs spécifiés plus haut n'est pas rempli non ??
Et ben c la que le bug se trouve !!
 
So si qlq1 a réussi à saisir tout ce que j'ai dit et qu'il a une solution et ben je suis preneur :)
 
@+


---------------
Q.G Tutoriaux ici
mood
Publicité
Posté le 21-03-2002 à 14:26:58  profilanswer
 

n°115703
dirakocha
Posté le 21-03-2002 à 16:31:57  profilanswer
 

Bon je vais faire plus simple car je viens de relire le post et c po tres clair tout ca :p
 
Alors disons que j'ai un formulaire "inscriptions.php", une page principale "clan.php". Sur cette page principale j'utilise des pseudo frame donc pour afficher mon formulaire j'ai le lien <a href="clan.php?inscriptions">Inscriptions</a>
 
Là j'ai bien mon formulaire qui s'affiche no souci.
 
Pour gérer le traitement des données du dit formulaire, j'utilise une class Inscription, qui contient 2 méthodes, inscript et filled_out. La première est chargée de traiter les données, c à d rentrer les infos ds une base MySQL. La deuxième méthode est censer vérifier que certains qui sont obligatoires, soient remplis par l'utilisateur.
 
Quand je clique sur le bouton "Submit" je crée une instance de la class Inscription, j'utilise la fonction filled_out pour vérifier si les champs sont biens remplis puis je traite les données avec inscript.
 
Comme j'utilise des pseudo frame, ces 2 actoins s'executent sur ma page principale, seulement le pb est que la fonction filled_out bug et je me retrouve avec un message qui me dit que je n'ai pas remplis les champs du formulaire.(cf code)
Je fais un if(filled_out...) et ds le else j'ai ma fonction inscript pour traiter les données. Donc si les champs sont bien remplis je devrais soumettre les données pour traitement non ??
 
Bon voici le code des fonctions si vous trouvez des erreurs plizz :)
 
@+
 
CODE
---------------------
ds la page principale j'ai ça:
 
   <?
   include ($header);
   include($page);
   switch($act)
   {
       case "inser"  : $admin_news = new news;
                       $admin_news->inser($titre,$contenu,$auteur,$mail,$site);
                       echo "<meta http-equiv=\"refresh\" content=\"0; url=http://clanwto.free.fr/clan.php?cat=a1\">\n";
            break;
 
       case "suppr"  : $admin_news= new news;
                       $admin_news->efface($id);
                      echo "<meta http-equiv=\"refresh\" content=\"0; url=http://clanwto.free.fr/clan.php?cat=a1&menu=del\">\n";
            break;
             
       case "submit" : $insc = new Inscriptions;
                       if($insc->filled_out($nom, $passwd, $conf_pass, $mail, $ville, $motivations)){
                           $insc->inscript($nom, $passwd, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville, $motivations, $commentaires);
                       }
                       else{
                           echo "<script language=javascript>\n";
                           echo "alert(\"Veuillez remplir tous les champs svp.\" );\n";
                           echo "history.back();\n";
                           echo "</script>";
                       }
            break;
   }
   include ($footer);
   ?>
 
Les  fonctions de la class Inscription:
class Inscriptions{
 
    function dbconnect()
    {
        global $host;
        global $user;
        global $pass;
        global $bdd;
 
        // Connexion à la Base de données
        $id_connect = mysql_connect($host, $user, $pass);
        if(!$id_connect)
         echo 'Connexion impossible !<br>' ;
 
        // Selection de la base de données
        $my_db = mysql_select_db($bdd);
 
        if(!$my_db)
         echo 'Sélection de la base impossible' ;
    }
 
 
    function filled_out ($nom, $passwd, $conf_pass, $mail, $ville, $motivations)
    {
        if (!isset ($nom) || $nom == "" ){
           return 0;
       }
 
 
        if (!isset ($passwd) || $pass == "" ){
            return 0;
        }
 
 
        if (!isset ($conf_pass) || $conf_pass == "" ){
            return 0;
        }
 
        if (!isset ($ville) || $ville == "" ){
            return 0;
        }
 
        if (!isset ($mail) || $mail == "" ){
            return 0;
        }
 
        if (!isset ($motivations) || $motivations == "" ){
            return 0;
        }
        return 1;
    }
     
     
    function inscript ($nom, $pass, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville ,$motivations, $commentaires)
    {
        $pass = md5 ($pass);
        $conf_pass = md5 ($conf_pass);
 
        // connexion à la base de données
        dbconnect ();
 
        $sql = "SELECT * FROM membres WHERE m_pseudo = '$nom'";
        $result = mysql_query($sql);
 
        $ligne=mysql_fetch_array($result);
 
        if($ligne["m_pseudo"] == $nom){
            //Le pseudo existe déjà
            echo "<script language=javascript>\n";
            echo "alert(\"Le pseudo existe déjà. Veuillez saisir un nouveau pseudo svp.\" );\n";
            echo "</script>";
         
        }
        else{
            $motivations = nl2br ($motivations);
            $commentaires = nl2br ($commentaires);
            $temps  = date("Y-m-d" );
            $nom    = htmlspecialchars ($nom);
            $mail   = htmlspecialchars ($mail);
            $site   = htmlspecialchars ($site);
            $icq    = htmlspecialchars ($icq);
            $armes  = htmlspecialchars ($armes);
            $maps   = htmlspecialchars ($maps);
            $ville  = htmlspecialchars ($ville);
            $config = htmlspecialchars ($config);
 
            $sql  = "Insert into membres (m_pseudo, m_pass, m_mail, m_icq, m_date_insc, m_ville, m_config, m_commentaires, m_motivations)";
            $sql .= "values ('$nom', '$pass', '$mail', '$icq', '$temps', '$ville', '$config', '$commentaires', '$motivations';)";
             
            $result = mysql_query ($sql);
 
            if($result==false){
                mysql_close();
                echo "Problème";
                return 1;
            }
 
            else {
                mysql_close();
                return 0;
            }
        }
   }
 
}


---------------
Q.G Tutoriaux ici
n°115710
Cherrytree
cn=?
Posté le 21-03-2002 à 16:44:39  profilanswer
 

C'est bô ! Mais en JavaScript, c'est beaucoup plus simple. Seulment c'est vrai que ça s'exécute côté client et que le client est maître chez lui.

n°115719
dirakocha
Posté le 21-03-2002 à 16:54:35  profilanswer
 

Le truc c que je remplisse tt les champs ou po et ben ils s'en fout et me renvoie le msg comme koi je n'ai po rempli les champs et ce même apres les avoir re-remplis a nouvo !!


---------------
Q.G Tutoriaux ici
n°115723
Je@nb
Kindly give dime
Posté le 21-03-2002 à 17:02:11  profilanswer
 

pourkoi tu mettrai pas return false ou true selon le cas ? comme ça dans la condition ça marcherai je pense, non ?  :hello:  
sinon on peut savoir pour quel jeu c ? et si on peut voir à koi ressemble ton site ?

n°115732
m@nou
vu z&#039;avais pas vu
Posté le 21-03-2002 à 17:11:24  profilanswer
 

salut,
 
j'ai regardé dans ce que je faisais
 
j'ai trouvé çà
 
if ($submit) {
 if (empty($type_vente)) {
  print_Erreur($dieTypeVente);
 }
 else if (empty($marque)) {
  print_Erreur($dieMarque);
 }
 else if (empty($modele)) {
  print_Erreur($dieModele);
 }
 else if (empty($annee)) {
  print_Erreur($dieAnnee);
 }
 else if (empty($cylindree)) {
  print_Erreur($dieCylindree);
 }
 else if (empty($kilometrage)) {
  print_Erreur($dieKilometrage);
 }
 else if (empty($couleur)) {
  print_Erreur($dieCouleur);
 }
 else if (empty($prix) || empty($prix_euro) ) {
  print_Erreur($diePrix);
 }
.......
 
dans une page affichant un formulaire avec un bouton nommé "submit" d'où le $submit en premier test.
 
si çà peut t'aider ;)

n°115734
dirakocha
Posté le 21-03-2002 à 17:12:48  profilanswer
 

ah ah le petit curieux ;) Ben c pour mon futur clan CS :p sorry pour ceux qui trouvent que ce jeu est dépassé mais qu'est-ce que vous voulez j'adore :D
 
Sinon pour le false ou true c a kel nivo ? ds la page principale ?  
 
Allez voilà l'adresse mais bon ya encore aucun graphisme, la charte graphique n'est pas figée et peu encore bouger :p et pi ya po encore le logo :lol:
www.clan-wto.fr.st après je te laisse chercher là ou tu peux avoir le reste, mais je pense que c po trop dur de trouver vu le code que j'ai mis ci-dessus ;)


---------------
Q.G Tutoriaux ici
n°115739
dirakocha
Posté le 21-03-2002 à 17:16:33  profilanswer
 

Merci M@nou je vais voir ça :)


---------------
Q.G Tutoriaux ici
n°115754
dirakocha
Posté le 21-03-2002 à 17:28:01  profilanswer
 

Waaaaooouuuuuuuhhhhhhh M@nouuuuuu ca roxxxxx mortel merci :) :) :) :) :) :)
 
C cool  :jap:  :jap:


---------------
Q.G Tutoriaux ici
n°115824
Je@nb
Kindly give dime
Posté le 21-03-2002 à 19:04:29  profilanswer
 

dirakocha a écrit a écrit :

ah ah le petit curieux ;) Ben c pour mon futur clan CS :p sorry pour ceux qui trouvent que ce jeu est dépassé mais qu'est-ce que vous voulez j'adore :D
 
Sinon pour le false ou true c a kel nivo ? ds la page principale ?  
 
Allez voilà l'adresse mais bon ya encore aucun graphisme, la charte graphique n'est pas figée et peu encore bouger :p et pi ya po encore le logo :lol:
www.clan-wto.fr.st après je te laisse chercher là ou tu peux avoir le reste, mais je pense que c po trop dur de trouver vu le code que j'ai mis ci-dessus ;)  




 
En fait je demandais ça car je suis entrain moi aussi de faire le site de mon clan CS  [:yes papa !!!]  [:yes papa !!!]  
Il est en construction encore, je fais la partie membre en ce moment.
URL : http://lesf.jeanb.d2g.com (hébergé ché moi donc c un peu lent)

mood
Publicité
Posté le 21-03-2002 à 19:04:29  profilanswer
 

n°115825
Je@nb
Kindly give dime
Posté le 21-03-2002 à 19:06:24  profilanswer
 

dirakocha a écrit a écrit :

 
function filled_out ($nom, $passwd, $conf_pass, $mail, $ville, $motivations)
    {
        if (!isset ($nom) || $nom == "" ){
           return false;
       }
 
 
        if (!isset ($passwd) || $pass == "" ){
            return false;
        }
 
 
        if (!isset ($conf_pass) || $conf_pass == "" ){
            return false;
        }
 
        if (!isset ($ville) || $ville == "" ){
            return false;
        }
 
        if (!isset ($mail) || $mail == "" ){
            return false;
        }
 
        if (!isset ($motivations) || $motivations == "" ){
            return false;
        }
        return true;
    }
 
Ds ma page principale je fais ça :
 
if($insc->filled_out($nom, $passwd, $conf_pass, $mail, $ville, $motivations)){
                           $insc->inscript($nom, $passwd, $conf_pass, $mail, $site, $icq, $armes, $maps, $ville, $motivations, $commentaires);
                       }
                       else{
                           echo "<script language=javascript>\n";
                           echo "alert(\"Veuillez remplir tous les champs svp.\" );\n";
                           echo "history.back();\n";
                           echo "</script>";
                       }
 
Donc en toute logique il devrait me mettre un message uniquement ds le cas où un des champs spécifiés plus haut n'est pas rempli non ??
Et ben c la que le bug se trouve !!
 
So si qlq1 a réussi à saisir tout ce que j'ai dit et qu'il a une solution et ben je suis preneur :)
 
@+  




 
voila à koi je pensais

n°115992
Sh@rdar
Ex-PhPéteur
Posté le 21-03-2002 à 22:42:45  profilanswer
 

moi je penserais à ça :
 
function filled_out ($Form)
  while (list($FieldName,$FieldValue) = each($Form)) {
  if (!isset($FieldValue) || $FieldValue == '';) return FALSE;
  else return TRUE;
}
 
tu passes en argument la tableau $HTTP_POST_VARs[], ça devrait le faire non ?

 

[jfdsdjhfuetppo]--Message édité par Sh@rdar--[/jfdsdjhfuetppo]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°116606
dirakocha
Posté le 23-03-2002 à 19:54:16  profilanswer
 

Sh@rdar a écrit a écrit :

moi je penserais à ça :
 
function filled_out ($Form)
  while (list($FieldName,$FieldValue) = each($Form)) {
  if (!isset($FieldValue) || $FieldValue == '';) return FALSE;
  else return TRUE;
}
 
tu passes en argument la tableau $HTTP_POST_VARs[], ça devrait le faire non ?  
 
 




 
Ben en fait c ce que je faisais o départ mais comme ça ne fonctionnait po j'ai laissé tomber mais le truc tout con de M@nou avec le empty() ça fonctionne très bien :) so...
 
Mais merci pour vos réponse les gars, je ne suis po très expérimenté en php mais j'essaie plein de truc pour apprendre ;)
genre le site en php avec pseudo frame + class on aurait pu faire bcp plus basic mais moi j'aime bien faire compliqué :lol:
 
Je@nb >> On pourra peut-être organiser un match ds le futur ;) mais bon comme pour le moment on est que 2 ça va être short :p
 
Allez @+ et encore merci  :jap:


---------------
Q.G Tutoriaux ici
n°116609
Je@nb
Kindly give dime
Posté le 23-03-2002 à 20:16:01  profilanswer
 

Nous on est 25  :D  :D  :D  
mais on est nul  :D  :D  :D  
J'ai fait ce site pour eux mais surtout pour m'amuser, parce c fou ce kon s'emmerde pdt les vacances  :pt1cable:  :pt1cable:  :pt1cable:

n°117099
dirakocha
Posté le 25-03-2002 à 11:26:38  profilanswer
 

lol :lol: :lol: :lol: :lol: :lol: :lol:


---------------
Q.G Tutoriaux ici

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

  [PHP] Vérifier si les champs d'un form sont remplis...pb (code inside)

 

Sujets relatifs
[PHP]Compilation sous windows[PHP]lien html?
[Easy PHP] comment gérer le fait que l'on travaille en local ???Integration de code assembleur dans du C avec mingw32
[PHP] Comment ne plus vous poser de question de newbies ?[PHP] sécurité
[PHP]Inclure un saut a la ligne dans une variable ![PHP] - Sécurité des informations
[Very Difficult Isinde]PHP et AS400[PHP + MySQL] Prendre la plus grande valeur...
Plus de sujets relatifs à : [PHP] Vérifier si les champs d'un form sont remplis...pb (code inside)


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