Créer un compte
Connexion

A l\'AIDE

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
nacera0123
24-04-2010 à 05:05:38
nacera0123
Membre
Bonjour a Tous , j'ai un problème qui me rend Dingue cela fait plus de 3 semaines jour et nuit
je bosse dessus et je craque, donc Merci Beaucoup pour toute l'aide que Vous pourriez m'apporter pour cooriger mon code
J'ai une Liste deroulante( fichier: sommaire.inc.php) qui permet de choisir le Type de contact ( je l'ai mis ds tous les pages ) pour le moment pas de Probleme
Puis j'accède au contact selectionné ds " fichier: contacts.php" Pour affichage c'est Tout Bon
Dans ce formulaire de contact,Là Y a des Erreurs :
1/ Verification champs vide ok pour tous sauf le dernier champ du formulaire
2/ Verification des champs invalides bug marche pas pourtant je crois que mon fichier : validation_functions.php est ok )
J'espère que vous avez compris mes Bug
Comment faire avec plusieurs variables ds un <input type="text" name="1seule$Variable" value="1seulevariable" />
Alors que ds mon cas j'ai un Tableau dans le value et le name de l' Input
Je trouve mon code sympa et utile alors corrigé il servira a plusieurs Débutantes comme moi !! Merci pour votre réponse que j'attend avec Impatience !!
PS: merci pour la correction de la protection de mes variables pour les formulaires !
// Fichier : sommaire.inc.php
$choisirContact='
<form action="Tousnoscontacts.php" method="POST" >
        <label><img src="image/tous_nos_contacts.png" title="tous nos contact" /></label>
        <select name="choixContact">
                <option value="0">Nous contacter</option>
                <option value="1">Dire à un(e) Ami(e)</option>
                <option value="3">Signaler un Abus</option>
        </select>
        <input type="submit" value="Go" />
</form>';      
?>     
<?php
// Fichier : validation_functions.php
function verifyAlphaNum ($testString) {
        return (preg_match("#^([[:alnum:]]|-|\.| |')+$#", $testString));
}      
function verifyEmail ($testString) {
        return (preg_match("#^([[:alnum:]]|_|\.|-)+@([[:alnum:]]|\.|-)+(\.)([a-z]{2,4})$#", $testString));
}
function verifyText ($testString) {
        return (preg_match("#^([[:alnum:]]|-|\.| |\?|\!|\"|')+$#", $testString));
}
function verifyPhone ($testString) {
        return (preg_match("#^([[:digit:]]| |-)+$#", $testString));
}
?>
<?php
// Fichier  :  contacts.php
require_once("validation_functions.php");
$choixContact = trim(strip_tags(@$_POST['choixContact']));
$imgTitreContact = array("nousContacterTitre.png","DireAmiTitre.png","signalerAbusTitre.png");
$listeContact = array(
        0 => array("nom" => "Votre Nom :","email"  => "Votre Email :"),
        1 => array("nom" => "Votre Nom :","nomAmi" => "Le Nom de votre Ami(e) :","email" => "Email de votre Ami(e) :"),
        2 => array("nom" => "le Nom de la Rubrique:","ville" => "la Ville de la Rubrique:","tel"  => "Le Tél. de la Rubrique:"),
        3 => array("nom" => "le Nom de la Rubrique:","ville" => "la Ville de la Rubrique:","tel"  => "Le Tél. de la Rubrique:")
);
$choixFormulaireSecu = false;
if(array_key_exists($choixContact,$listeContact)){
        $choixFormulaireSecu = true;
        $imgTitrePageContact = $imgTitreContact[$choixContact];
        if(@($_POST['valider'])){
                $msgOK     = false;
                $error_msg = array();
                $imgTitre  = trim(strip_tags(@$_POST['imgTitre']));            
                $info      = array();
                $info      = @$_POST['info'];  
                foreach($listeContact[$choixContact] as $cle => $valeur){
                        if(empty($info[$cle])){
                                $error_msg[] = "Saisir $valeur";
                    }else{
                               
                                if($cle == "nom" || "nomAmi" || "ville" ){
                                        @$valid = verifyAlphaNum($valeurInfos);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}     
                                }elseif($cle == "tel"){
                                        @$valid = verifyPhone($info[$i]);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}     
                                }elseif($cle == "email"){
                                        @$valid = verifyEmail($info[$i]);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}     
                                }      
                        }
                }
        }
        ?>
        <html>
        <head>
                <title>Formulaire de Contact</title>
                <link type="text/css" href="style.css" rel="stylesheet" />
        </head>
        <body>
        <div align=center>
        <h3><img src='<?php echo "image/$imgTitrePageContact";?>' width='360px' border=1 /></h3>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"                        
                style="background-color:#eaf4ff;width:360px;border:medium groove;">
          <input type="hidden" name="listeContact" value="<?php echo $listeContact; ?>" />  
          <input type="hidden" name="choixContact" value="<?php echo $choixContact; ?>" />  
                <?php
                /************  Si il y a des Erreurs ds le Formulaire  **************************************************************/
                if(isset($error_msg)){
                        echo'<p id="recommencer">Il y a des Erreurs , Merci de recommencer !</p>';
                        foreach($error_msg AS $err){
                                echo'<p id="afficheError"> --> '.$err.'</p>';
                        }
                        echo'<hr />';
                }else{
                        echo'<p id="renseigner">Veuillez renseigner les informations suivantes :</p>';
                }
          /**********Affichage du Formulaire Ou Réaffichage après Affichage des Erreurs de Saisies !  **********************************/
          foreach($listeContact[$choixContact] as  $cle => $valeur){
                echo"<p><label>$valeur</label>";
                ?>
                        <input type="text" name="info"
                                   value="<?php if(isset($info)){echo @$info;} ?>" />
                </p>
                <?php
                }
                ?>
                <p style="font-size:14px;">
                  <input type="submit" name="valider" class="envoyer" value="Valider" />
                </p>  
        </form>
<?php
}
?>
</div>
</body></html>


ybouane
24-04-2010 à 05:29:06
ybouane
Admin
Bonjour,
pour commencer, j'ai modifié ton message, je lui ai mis la mise en page, la prochaine fois n'oublie pas de le faire.
Peut-tu être plus précis car je n'ai pas vraiment compris ton message.
Par exemple, quand tu dis qu'il y a un bug, explique ce qui ne vas pas.

Et j'ai remarqué qu'en fin de compte, ton code ne fait que vérifier les informations sans les soumettre ni rien d'autre.

En tout cas, voici quelques modifications que j'ai faites à ton code:
contact.php
<?php
// Fichier  :  contacts.php
require_once("validation_functions.php");
$choixContact = trim(strip_tags(@$_POST['choixContact']));
$imgTitreContact = array("nousContacterTitre.png","DireAmiTitre.png","signalerAbusTitre.png");
$listeContact = array(
        0 => array("nom" => "Votre Nom :","email"  => "Votre Email :"),
        1 => array("nom" => "Votre Nom :","nomAmi" => "Le Nom de votre Ami(e) :","email" => "Email de votre Ami(e) :"),
        2 => array("nom" => "le Nom de la Rubrique:","ville" => "la Ville de la Rubrique:","tel"  => "Le Tél. de la Rubrique:"),
        3 => array("nom" => "le Nom de la Rubrique:","ville" => "la Ville de la Rubrique:","tel"  => "Le Tél. de la Rubrique:")
);
$choixFormulaireSecu = false;
$info = array();
if(array_key_exists($choixContact,$listeContact)){
        $choixFormulaireSecu = true;
        $imgTitrePageContact = $imgTitreContact[$choixContact];
        if(@($_POST['valider'])){
                $msgOK     = false;
                $error_msg = array();
                $imgTitre  = trim(strip_tags(@$_POST['imgTitre']));      
                foreach($listeContact[$choixContact] as $cle => $valeur)
                                {
                        $info[$cle] = $valeur;
                               
                                if($cle == "nom" || "nomAmi" || "ville" ){
                                        @$valid = verifyAlphaNum($valeurInfos);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}    
                                }elseif($cle == "tel"){
                                        @$valid = verifyPhone($info[$i]);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}    
                                }elseif($cle == "email"){
                                        @$valid = verifyEmail($info[$i]);
                                        if(!$valid){$error_msg[] = "<span class='tailleData'>$valeur  :Format invalid ! </span>";}    
                                }      
                }
        }
        ?>
        <html>
        <head>
                <title>Formulaire de Contact</title>
                <link type="text/css" href="style.css" rel="stylesheet" />
        </head>
        <body>
        <div align=center>
        <h3><img src='<?php echo "image/$imgTitrePageContact";?>' width='360px' border=1 /></h3>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"                        
                style="background-color:#eaf4ff;width:360px;border:medium groove;">
          <input type="hidden" name="choixContact" value="<?php echo $choixContact; ?>" />  
                <?php
                /************  Si il y a des Erreurs ds le Formulaire  **************************************************************/
                if(isset($error_msg)){
                        echo'<p id="recommencer">Il y a des Erreurs , Merci de recommencer !</p>';
                        foreach($error_msg AS $err){
                                echo'<p id="afficheError"> --> '.$err.'</p>';
                        }
                        echo'<hr />';
                }else{
                        echo'<p id="renseigner">Veuillez renseigner les informations suivantes :</p>';
                }
          /**********Affichage du Formulaire Ou Réaffichage après Affichage des Erreurs de Saisies !  **********************************/
          foreach($listeContact[$choixContact] as  $cle => $valeur){
                echo"<p><label>$valeur</label>";
                ?>
                        <input type="text" name="<?php echo $cle; ?>"
                                   value="<?php if(isset($info[$cle])){echo $info[$cle];} ?>" />
                </p>
                <?php
                }
                ?>
                <p style="font-size:14px;">
                  <input type="submit" name="valider" class="envoyer" value="Valider" />
                </p>  
        </form>
<?php
}
?>
</div>
</body></html>

Et sois plus claire s'il te plait.
Cordialement :)

Image
Pages: 1