fonction de filtrage d'entrer de formulaire

Mammouth du PHP | 843 Messages

15 mars 2006, 21:00

bon ce petit cours était très instrucif :) Merci Cyrano de prendre autant de tant pour m'expliquer car sa devient tout de suite plus claire :wink:


voila la partie du code une fois modifier:
    /* filtrage des entrées du formulaire */
    /* fonction de verification */
    $security = false;
    
    function filtre_security ($_champ)
    {
        $invalid_insert_security = "!([<>#$%&])|(SELECT)|(UPDATE)|(INSERT)|(DELETE)|(REVOKE)|(GRANT)|(UNION)|(CREATE)|(ALTER)|(DROP)|((\" {1,}\")|(\"\"{1,})|(\"\"))|((\' {1,}\')|(\'\'{1,})|(\'\')|(\"\')|(\'\"))!";
        $security = filtre_security($_POST['pseudo']);
        if ((preg_match($invalid_insert_security, $_champ)))
        {
            /* si injections de code */
            $security = true;
        }
        return $security;
    }
     /* analyse champs par champs du formulaire par l'analyse du tableau $_POST*/
     $champ = array_map("filtre_security", $_POST);

    /**
     * Traitement de vérification des champs vides ou invalides (phone, date, postal et/ou email)
     * Conditions de mauvaises réponses (champ vide par exemple)
     */
    if ($security == true||$pseudo == '' || $pass == '' || $passverif == '' || $prenom == '' || $nom == '' || $email == '' || $phone == '' || $adresse == '' || $postal == '' || $ville == '' || $datenaiss == '' || !(preg_match($valid_phone,$phone)) || $email == '' || !(preg_match($valid_mail, $email)) || !(preg_match($valid_postal, $postal)) || !(preg_match($valid_format_datenaiss,$datenaiss)) || (($datenaiss) && (preg_match($valid_format_datenaiss,$datenaiss)) && (checkdate($mois, $jour, $annee) == false)))
    {
        /* Action à adopter */
?>
                <p class="titre">Informations incomplètes</p>
                <p>Un (ou plusieurs) champ(s) obligatoire(s) n'a(ont) pas été correctement rempli(s).</p>

<?php
        if ($security == true)
        {
        /* si caractere invalide */
             print "<p class='error'>ALERTE DE SECURITE:<br />Vous avez utilis&eacute;s des caract&egrave;res interdits</p>\n";
        }

/*ETC.............*/
par contre, maintenant plus rien ne fonctionne (même si champs vide) :oops:

mais aucun message d'erreur :-k

en plus de ce problème, je ne voit pas l'utilité de array_map :-k
il faut pourtant bien que je verifie tout les champs les un apres les autre donc je sait plus trop quoi faire :(

de plus $security doit rester à true et ne pas revenir à false suite à l'analise d'un autre champ suivant :?

je m'en remet une fois de plus à vos conseil :pouce:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 19672 Messages

15 mars 2006, 21:44

ça fait quoi ça dans ta fonction ?
$security = filtre_security($_POST['pseudo']);
À part faire tourner la fonction en boucle récursive, je vois pas bien :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

16 mars 2006, 02:47

ooops j'ai pas dut relire le message car c'est un ancien essai :oops:

voila ma fonction à jour:
    function filtre_security ($_champ)
    {
        $invalid_insert_security = "!([<>#$%&])|(SELECT)|(UPDATE)|(INSERT)|(DELETE)|(REVOKE)|(GRANT)|(UNION)|(CREATE)|(ALTER)|(DROP)|((\" {1,}\")|(\"\"{1,})|(\"\"))|((\' {1,}\')|(\'\'{1,})|(\'\')|(\"\')|(\'\"))!";
        if ((preg_match($invalid_insert_security, $_champ)))
        {
            /* si injections de code */
            $security = true;
        }
        return $security;
    }
     /* analyse champs par champs du formulaire par l'analyse du tableau $_POST*/

     $champ = $_POST['pseudo'];
     echo(filtre_security($champ));
par contre j'ai deux point que je saisi encore mal:

1°) comment recuperer avec dans variable le resultat de la fonction si je peut pas fairececi :-k
if ($security == true)
2°) est on obliger d'appeler la fonction avec un echo? :-k
parce que ça m'affiche le resultat à l'ecran :?
(d'ailleur ici sa m'affiche 1 et pas true :-k)

pour les autres points en suspent de ma fonction, je met en stand by pour le moment car il faut que je comprenne ce que je fait avant tout :roll:

BeRoots, première fonction en php et grosse galère. ](*,) Va falloir faire plus de test sur des cas simple pour bien comprendre je pense :|
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

17 mars 2006, 00:11

bon, j'ai repris la fonction depuis le debut histoire de faire exactement ce que voulu.

normalement l'objectif est de faire une fonction qui va soumettre chaque champs de formulaire choisi à un filtre de securité :wink:

voila ce que ça donne:
    /* fonction de filtrage */
    function filtre_security ($_cle)
    {
        $invalid_insert_security = "!([<>#$%&])|(SELECT)|(UPDATE)|(INSERT)|(DELETE)|(REVOKE)|(GRANT)|(UNION)|(CREATE)|(ALTER)|(DROP)|((\" {1,}\")|(\"\"{1,})|(\"\"))|((\' {1,}\')|(\'\'{1,})|(\'\')|(\"\')|(\'\"))!";

         foreach ( $_POST as [$cle =>] $val) /*ICI LE MESSAGE D'ERREUR*/
         {
                 if ((preg_match($invalid_insert_security, $_val)))
                 {
                   $tableau_result[$cle] = true;
                 }else
                 {
                   $tableau_result[$cle] = false;
                 }
         }
         return $tableau_result;
    }
    
    /* tableau des champs a filtrer*/
    $tableau_cle = array(1 => "pseudo", "pass", "passverif", "prenom", "nom", "adresse", "ville");
    
    /* sous-fonction de filtrage pour associer les cles de $_POST choisies à la fonction de filtrage */
    function start_filtre_security ($cle2)
    {
          foreach ( $tableau_cle as [$cle2 =>] $val_2)
         {
           filtre_security ($val_2);
         }
    }

    /* lancement du filtrage */
    start_filtre_security ($cle2);

    /* affichage du tableau des resultats */
    while(list($cle3,$val_3) = each($tableau_result))
    {
    echo "$cle3 : $val_3<br />";
    }
par contre j'ai l'erreur suivante et je n'arrive pas à savoir pourquoi :-k
Parse error: parse error, expecting `T_VARIABLE' or `'$'' à la ligne que j'ai commenté
si quelqu'un peut eclairer mes lanternes :pouce:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

17 mars 2006, 11:51

Pas de crochets dans un foreach :
foreach ( $_POST as $cle = $val) { }

Mammouth du PHP | 843 Messages

17 mars 2006, 21:44

Pas de crochets dans un foreach :
foreach ( $_POST as $cle = $val) { }
tu avait oublié le > il me semble :-k

de toute façon j'ai été submergé d'erreur et apres moulte modif, j'ai laiser tomber cette methode qui ne me plaisait pas vraiment :?

j'ai encore tout refais pour essayer de faire ça avec une boucle :wink:

voila ce que ça donne (je remet tout le code au cas où, mais commenter pour mieux sibler la boucle):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<html>

<head>

<title>:: Formulaire d'inscription ::</title>
<style type="text/css">
/* <![CDATA[ */
body {
text-align: center;
background-color: white;
}
#page {
width : 525px;
margin-left: auto;
margin-right: auto;
color: black;
background-color: gray;
border: 1px solid black;
text-align: center;
padding: 10px;
}
.titre {
font-family: verdana, helvetica, sans-serif; 
font-size: 1.4em;
font-weight: bold;
text-decoration: underline;
text-align: center;
margin: 0;
padding: 0;
color: red;
}
p {
font-family: verdana, helvetica, sans-serif;
font-size: 10pt;
font-weight: bold;
text-align: left;
color: black;
}
label {
float: left;
font-family: verdana, helvetica, sans-serif;
font-size: 10pt;
font-weight: bold;
}
fieldset {
width: 500px;
padding: 10px;
text-align: right;
border: 3px double #FF8C00;
margin: 0;
clear: left;
background-color: navy;
}
input {
border: 1px solid #066; 
background-color: #ff9; 
color: black;
}
input.cases {
width: 200px;
margin-top: 3px;
}
input.verif  {
width: 150px;
height: 30px;
background-color: blue;
font-weight : bold;
padding: 0;
margin: 0;
border: 0;
cursor: pointer;
}
input.verif:hover {
background-color: cyan;
}
div.c3 {
text-align:center;
margin-top: 1em;
}
.etoile {
color: red;
font-size: 1.3em;
font-weight: normal;
vertical-align: middle;
margin-right: 5px;
}
.legend {
background-color: red;
border: 3px double #FF8C00;
margin-top: 10px;
margin-bottom: 5px;
float: left;
}
.error {
text-align: left;
color: red !important;
}
.info {
font-family: verdana, helvetica, sans-serif;
font-size: 14pt;
font-style: italic;
font-weight: normal;
text-decoration: none;
cursor: help;
color: black ;
}
.info:hover {
color: gray;
}
/* ]]> */
</style>

</head>
<body>
<div id="page">
<?php
/**
* On commence par vérifier si le bouton soumettant le formulaire a été
* cliqué, "envoi" étant l'attribut "name" du bouton "submit"
* Sinon, on saute à la ligne 220 de ce code.
*/
if(isset($_POST['envoi']))
{
    /* Récupération des données du formulaire */
    $pseudo    = isset($_POST['pseudo'])    ? trim($_POST['pseudo'])    : "";
    $pass      = isset($_POST['pass'])      ? trim($_POST['pass'])      : "";
    $passverif = isset($_POST['passverif']) ? trim($_POST['passverif']) : "";
    $prenom    = isset($_POST['prenom'])    ? trim($_POST['prenom'])    : "";
    $nom       = isset($_POST['nom'])       ? trim($_POST['nom'])       : "";
    $phone     = isset($_POST['phone'])     ? trim($_POST['phone'])     : "";
    $email     = isset($_POST['email'])     ? trim($_POST['email'])     : "";
    $adresse   = isset($_POST['adresse'])   ? trim($_POST['adresse'])   : "";
    $postal    = isset($_POST['postal'])    ? trim($_POST['postal'])    : "";
    $ville     = isset($_POST['ville'])     ? trim($_POST['ville'])     : "";
    $datenaiss = isset($_POST['datenaiss']) ? trim($_POST['datenaiss']) : "";


    /**
     * Définition des variables servant au traitement de l'adresse électronique et du numéro de
     * téléphone: on utilise ici des expressions régulières.
     */
    $valid_mail = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#";
    $valid_phone = "#^\d{10}$#";
    $valid_postal = "#^\d{5}$#";
    $valid_format_datenaiss = "#(\d{2})/(\d{2})/(\d{4})$#";

    /* Définition des variables de verification de la validité de la date */
    $jour = substr($datenaiss, 0, 2);
    $mois = substr($datenaiss, 3, 2);
    $annee = substr($datenaiss, 6, 4);

    /*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx*/
    /*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX MA BOUCLE EST ICI XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx*/

    /* boucle de filtrage */
      $cle = 1;
      while ( $cle <= 7 )  /* car je ne filtre que 7 champs */
      {
          $tableau = array(1 => "$pseudo", "$pass", "$passverif", "$prenom", "$nom", "$adresse", "$ville");
          $invalid_insert_security = "!([<>#$%&])|(SELECT)|(UPDATE)|(INSERT)|(DELETE)|(REVOKE)|(GRANT)|(UNION)|(CREATE)|(ALTER)|(DROP)|((" {1,}")|(""{1,})|(""))|((\' {1,}\')|(\'\'{1,})|(\'\')|("\')|(\'"))!";
          $string = $tableau[$cle];
                 if ((preg_match($invalid_insert_security, $string)))
                 {
                   $tableau_result[$cle] = true;
                 }else
                 {
                   $tableau_result[$cle] = false;
                 }
      $cle++;
      }
      return $tableau_result;

/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/ /*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/

    /**
     * Traitement de vérification des champs vides ou invalides (phone, date, postal et/ou email)
     * Conditions de mauvaises réponses (champ vide par exemple)
     */
    if (in_array (true, $tableau_result)||$pseudo == '' || $pass == '' || $passverif == '' || $prenom == '' || $nom == '' || $email == '' || $phone == '' || $adresse == '' || $postal == '' || $ville == '' || $datenaiss == '' || !(preg_match($valid_phone,$phone)) || $email == '' || !(preg_match($valid_mail, $email)) || !(preg_match($valid_postal, $postal)) || !(preg_match($valid_format_datenaiss,$datenaiss)) || (($datenaiss) && (preg_match($valid_format_datenaiss,$datenaiss)) && (checkdate($mois, $jour, $annee) == false)))
    {
        /* Action à adopter */
?>
                <p class="titre">Informations incomplètes</p>
                <p>Un (ou plusieurs) champ(s) obligatoire(s) n'a(ont) pas été correctement rempli(s).</p>

<?php
        if (in_array (true, $tableau_result))
        {
        /* si caractere invalide */
             print "<p class='error'>ALERTE DE SECURITE:<br />Vous avez utilis&eacute;s des caract&egrave;res interdits</p>\n";
        }
        if ($pseudo == '')
        {
            /* Si le champ pseudo est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre pseudo</p>\n";
        }
        if ($pass == '')
        {
            /* Si le champ pass est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre mot de pass</p>\n";
        }
        if ($passverif == '')
        {
            /* Si le champ pass est vide, */
            print "<p class='error'>Vous n'avez pas reprécisé votre mot de pass</p>\n";
        }
        if ($passverif != $pass)
        {
            /* Si le champ pass et passverif sont different */
            print "<p class='error'>Veuillez repréciser votre mot de pass !</p>\n";
        }
        if ($prenom == '')
        {
            /* Si le champ prenom est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre prénom</p>\n";
        }
        if ($nom == '')
        {
            /* Si le champ nom est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre nom</p>\n";
        }
        if ($phone == '')
        {
            /* Si le champ phone est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre numéro de téléphone</p>\n";
        }
        if (($phone) && !(preg_match($valid_phone,$phone)))
        {
            print "<p class='error'>Le numéro de téléphone doit comporter seulement des chiffres, de 6 à 10 chiffres sans espaces ni tirets !</p>\n";
        }
        if(!$email)
        {
            /* Si le champ email est vide, */
            print "<p class='error'>Vous avez omis de mentionner une adresse électronique</p>\n";
        }
        if(($email) && !(preg_match($valid_mail, $email))) /* Si il y a une adresse inscrite mais invalide */
        {
            /* On vérifie LES DEUX conditions réunies (avec le sugne "&&"): si on ne vérifie que la validité, en ne
            mettant pas d'adresse dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à
            ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */
            print "<p class='error'>L'adresse électronique saisie est invalide !</p>\n";
        }
        if(!$adresse)
        {
            /* Si le champ adresse est vide, */
            print "<p class='error'>Vous avez omis de mentionner votre adresse</p>\n";
        }
        if(!$postal)
        {
            /* Si le champ code postal est vide, */
            print "<p class='error'>Vous avez omis de mentionner votre code postal</p>\n";
        }
        if(($postal) && !(preg_match($valid_postal, $postal)))
        {
            /* Si il y a un code postal inscrit mais invalide */
            print "<p class='error'>Le code postal saisie est invalide !</p>\n";
        }
        if ($ville == '')
        {
            /* Si le champ ville est vide, */
            print "<p class='error'>Vous n'avez pas précisé votre ville</p>\n";
        }
        if(!$datenaiss)
        {
            /* Si le champ datenaiss est vide, */
            print "<p class='error'>Vous avez omis de mentionner votre date de naissance</p>\n";
        }
        if(($datenaiss) && !(preg_match($valid_format_datenaiss, $datenaiss)))
        {
            /* Si il y a une date inscrite mais invalide */
            print "<p class='error'>Le format de la date de naissance saisie est invalide !</p>\n";
        }
        /* Si il y a une date inscrite, au bon format, mais invalide */
         if (($datenaiss) && (preg_match($valid_format_datenaiss,$datenaiss)) && (checkdate($mois, $jour, $annee) == false))
         {
            print "<p class='error'>La date de naissance saisie est invalide !</p>\n";
         }

        /**
         * Si les vérifications ont généré des erreurs, affichage du formulaire
         * contenant les données déjà saisies.
         */
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
  <p class="legend"><b>&nbsp;Donn&eacute;es de connexion&nbsp;</b></p>
  <fieldset>
  <label for="label_pseudo">Votre pseudo :</label><span class="etoile">*</span><input type="text" id="label_pseudo" name="pseudo" maxlength="20" class="cases" value="<?php echo $pseudo ?>" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  <label for="label_pass">Votre mot de pass :</label><span class="etoile">*</span><input type="password" id="label_pass" name="pass" maxlength="20" class="cases" value="" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  <label for="label_passverif">Confirmation mot de pass :</label><span class="etoile">*</span><input type="password" id="label_passverif" name="passverif" maxlength="20" class="cases" value="" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  </fieldset>
  <p class="legend"><b>&nbsp;Donn&eacute;es personnelles&nbsp;</b></p>
  <fieldset>
  <label for="label_prenom">Votre pr&eacute;nom :</label><span class="etoile">*</span><input type="text" id="label_prenom" name="prenom" maxlength="40" class="cases" value="<?php echo $prenom ?>" /><a href="#" class="info" title="Lettres uniquement !">?</a><br />
  <label for="label_nom">Votre Nom de famille :</label><span class="etoile">*</span><input type="text" id="label_nom" name="nom" maxlength="40" class="cases" value="<?php echo $nom ?>" /><a href="#" class="info" title="Lettres uniquement !">?</a><br />
  <label for="label_phone">Votre numéro de t&eacute;l&eacute;phone :</span></label><span class="etoile">*</span><input type="text" id="label_phone" name="phone" maxlength="10" class="cases" value="<?php echo $phone ?>" /><a href="#" class="info" title="10 chiffres uniquement !">?</a><br />
  <label for="label_email">Votre adresse &eacute;lectronique :</span></label><span class="etoile">*</span><input type="text" id="label_email" name="email" maxlength="40" class="cases" value="<?php echo $email ?>" /><a href="#" class="info" title="Protection contre le spam assurer">?</a><br />
  <label for="label_adresse">Votre adresse :</label><input type="text" id="label_adresse" name="adresse" maxlength="40" class="cases" value="<?php echo $adresse ?>" /><a href="#" class="info" title="Les caract&egrave;res spéciaux sont interdits (sauf &minus; et &rsquo; ) !">?</a><br />
  <label for="label_postal">Votre code postal :</span></label><input type="text" id="label_postal" name="postal" maxlength="5" class="cases" value="<?php echo $postal ?>" /><a href="#" class="info" title="Chiffres uniquement !">?</a><br />
  <label for="label_ville">Votre ville :</label><input type="text" id="label_ville" name="ville" maxlength="40" class="cases" value="<?php echo $ville ?>" /><a href="#" class="info" title="Les caract&egrave;res spéciaux sont interdits (sauf &minus; et &rsquo; )!">?</a><br />
  <label for="label_datenaiss">Votre date de naissance :</label><input type="text" id="label_datenaiss" name="datenaiss" maxlength="10" class="cases" value="<?php echo $datenaiss ?>" /><a href="#" class="info" title="Format JJ/MM/AAAA !">?</a><br />
  <div class="c3">
  <input type="submit" class="verif" name="envoi" value="Envoyer" />&nbsp;<input type="reset" class="verif" value="Recommencer" />
  </div>
  </fieldset>
</form>
<?php
    }
    else
    {
        /**
         * Si aucun des champs obligatoire n'est vide et les données sont valides:
         * Traitement des données
         */
        print "TOUT DOIT ETRE CORRECT DANS LES ENTREE DU FORMULAIRE, MERCI DU COUP DE MAIN\n";
      print("<p>Retour vers le formulaire de base, cliquez <a href="". $_SERVER['PHP_SELF'] ."" title="Retour vers le formulaire">ICI</a></p>");
    }
}
/**
* Si cette page s'ouvre pour la première fois sans que le bouton soumettant le formulaire n'ait
* été cliqué, alors on affiche le formulaire normalement
*/
else
{
?>
<p class="titre">Complétez les informations pour ajouter votre nom à la liste des membres</p>
<p>Notez que les champs précédés d'une <span class="etoile">*</span>doivent obligatoirement être remplis.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
  <p class="legend"><b>&nbsp;Donn&eacute;es de connexion&nbsp;</b></p><br /><br />
  <fieldset>
  <label for="label_pseudo">Votre pseudo :</label><span class="etoile">*</span><input type="text" id="label_pseudo" name="pseudo" maxlength="20" class="cases" tabindex="1" value="" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  <label for="label_pass">Votre mot de pass :</label><span class="etoile">*</span><input type="password" id="label_pass" name="pass" maxlength="20" class="cases" tabindex="2" value="" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  <label for="label_passverif">Confirmation mot de pass :</label><span class="etoile">*</span><input type="password" id="label_passverif" name="passverif" maxlength="20" class="cases" tabindex="3" value="" /><a href="#" class="info" title="Chiffres et lettre uniquement !">?</a><br />
  </fieldset>
  <p class="legend"><b>&nbsp;Donn&eacute;es personnelles&nbsp;</b></p>
  <fieldset>
  <label for="label_prenom">Votre pr&eacute;nom :</label><span class="etoile">*</span><input type="text" id="label_prenom" name="prenom" maxlength="40" class="cases" tabindex="4" value="" /><a href="#" class="info" title="Lettres uniquement !">?</a><br />
  <label for="label_nom">Votre Nom de famille :</label><span class="etoile">*</span><input type="text" id="label_nom" name="nom" maxlength="40" class="cases" tabindex="5" value="" /><a href="#" class="info" title="Lettres uniquement !">?</a><br />
  <label for="label_phone">Votre numéro de t&eacute;l&eacute;phone :</span></label><span class="etoile">*</span><input type="text" id="label_phone" name="phone" maxlength="10" class="cases" tabindex="6" value="" /><a href="#" class="info" title="10 chiffres uniquement !">?</a><br />
  <label for="label_email">Votre adresse &eacute;lectronique :</span></label><span class="etoile">*</span><input type="text" id="label_email" name="email" maxlength="40" class="cases" tabindex="7" value="" /><a href="#" class="info" title="Protection contre le spam assurer">?</a><br />
  <label for="label_adresse">Votre adresse :</label><input type="text" id="label_adresse" name="adresse" maxlength="40" class="cases" tabindex="8" value="" /><a href="#" class="info" title="Les caract&egrave;res spéciaux sont interdits (sauf &minus; et &rsquo; ) !">?</a><br />
  <label for="label_postal">Votre code postal :</span></label><input type="text" id="label_postal" name="postal" maxlength="5" class="cases" tabindex="9" value="" /><a href="#" class="info" title="Chiffres uniquement !">?</a><br />
  <label for="label_ville">Votre ville :</label><input type="text" id="label_ville" name="ville" maxlength="40" class="cases" tabindex="10" value="" /><a href="#" class="info" title="Les caract&egrave;res spéciaux sont interdits (sauf &minus; et &rsquo; )!">?</a><br />
  <label for="label_datenaiss">Votre date de naissance :</label><input type="text" id="label_datenaiss" name="datenaiss" maxlength="10" class="cases" tabindex="11" value="" /><a href="#" class="info" title="Format JJ/MM/AAAA !">?</a><br />
  <div class="c3">
  <input type="submit" class="verif" name="envoi" tabindex="12" value="Envoyer" />&nbsp;<input type="reset" class="verif" tabindex="13" value="Recommencer" />
  </div>
  </fieldset>
</form>
<?php
}
?>
</div>
</body>
</html>
je n'est aucun message d'erreur mais le script ne se poursuit pas apparament :-k

quelqu'un voit il pourquoi ça bug?
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

18 mars 2006, 15:06

j'ai fait un echo de $string et j'ai bien les chaines de mes champs de formulaire :)

par contre c'est surement au niveau de ma façon de renseigner les resultats dans un tableau qui ne va pas:
if ((preg_match($invalid_insert_security, $string)))
                 {
                   $tableau_result[$cle] = true;
                 }else
                 {
                   $tableau_result[$cle] = false;
                 } 
si quequ'un peut m'aider :wink:

MERCI D'AVANCE :pouce:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 843 Messages

18 mars 2006, 16:10

EUREKA \:D/

j'avait juste un petit oublie de guillemet sur les ligne d'insertion au tableau autour de value ;)

merci à tous pour votre aide =D>

sujet resolu :pouce:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non: