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

 


Dernière réponse
Sujet : [PHP] Vérifier si les champs d'un form sont remplis...pb (code inside)
dirakocha lol :lol: :lol: :lol: :lol: :lol: :lol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
dirakocha lol :lol: :lol: :lol: :lol: :lol: :lol:
Je@nb 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:
dirakocha

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:

Sh@rdar 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]

Je@nb

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

Je@nb

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)

dirakocha Waaaaooouuuuuuuhhhhhhh M@nouuuuuu ca roxxxxx mortel merci :) :) :) :) :) :)
 
C cool  :jap:  :jap:
dirakocha Merci M@nou je vais voir ça :)
dirakocha 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 ;)
m@nou 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 ;)
Je@nb 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 ?
dirakocha 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 !!
Cherrytree 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.
dirakocha 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;
            }
        }
   }
 
}
dirakocha 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 :)
 
@+

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