[RESOLU] comment récupéré les valeurs de balise input hidden

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] comment récupéré les valeurs de balise input hidden

Re: comment récupéré les valeurs de balise input hidden

par le loup solitaire » 07 avr. 2016, 09:04

merci pour les réponses, j'ai essayé toutes les solutions possible en occurrence la votre 'spol', le souci est que j'aéi aucun retour de correction, message "veuillez cochez toutes les cases" donc pas de reconnaissance des valeurs ecrite, hors que normalement la correction devrai se faire, la je suis perplexe, je ne vois pas d'ou cela vient....

merci d'avance si vous trouvé l'erreur.

Re: comment récupéré les valeurs de balise input hidden

par Spols » 07 avr. 2016, 08:03

$options = array ('douche', 'poubelle', 'souris', 'soupe', 'couteau', 'tournevis', 'journal', 'rouge');
		
	
				$select = "";
						
						foreach ($options as $key => $option) {
							
							if(isset($select)){
								
							$select .= "<td><input type='text' name='$choix' /></td>";
							
							}	
							
						}
						return $select;
					}
Et simplement ne pas mentionner l'attribut value, ca te suffit pas ?

Re: comment récupéré les valeurs de balise input hidden

par le loup solitaire » 06 avr. 2016, 17:00

merci pour les réponse, je m'explique un peu mieux, j'ai 8 images et sous chaque images un champs text pour marqué la réponse..
j ai oublier de mettre tous le code.j ai deux fonction une pour la sélection et une autre pour les réponses qui calcule les bonnes et mauvaise réponses...
function displaySelectReponse($choix)
    {

		
		$options = array ('douche', 'poubelle', 'souris', 'soupe', 'couteau', 'tournevis', 'journal', 'rouge');
		
	
				$select = "";
						
						foreach ($options as $key => $option) {
							
							if(isset($select)){
								
							$select .= "<td><input type='text' name='$choix' value='$option'/></td>";
							
							}	
							
						}
						return $select;
					}
function displayReponse($choix)
    {
    global $errors, $reponses;
    $mot = $reponses[$choix]['mot'];
    $reponse_class = 'ok';
    $resultat = '';
    if (array_key_exists($choix, $errors))
        {
        $reponse_class = 'error';
        $resultat = " => " . $reponses[$choix]['reponse'];
        }

    $reponse = '<li class="' . $reponse_class . '">';
    $reponse.= '<span style="font-size:1.3em;" class="reponse">' . htmlspecialchars($_POST[$choix]) . '</span>
            <span style="margin-left:1%;font-size:1.3em;"">' . $mot . '</span>';
    $reponse.= ' <span style="color:red;font-size:1.3em;margin-left:5%;"" class="resultat">' . $resultat . '</span> ';
    $reponse.= '</li>';
    return $reponse;
    }

$form_ok = false;
$reponses = array(
    'chx_0' => array(
        'mot' => 'une',
        'reponse' => 'douche',
        'image' => 'img/douche.gif'
    ) ,
    'chx_1' => array(
        'mot' => 'une',
        'reponse' => 'poubelle',
        'image' => 'img/poubelle.gif'
    ) ,
    'chx_2' => array(
        'mot' => 'une',
        'reponse' => 'souris',
        'image' => 'img/souris.gif'
    ) ,
    'chx_3' => array(
        'mot' => 'une',
        'reponse' => 'soupe',
        'image' => 'img/soupe.gif'
    ) ,
    'chx_4' => array(
        'mot' => 'un',
        'reponse' => 'couteau',
        'image' => 'img/couteau.gif'
    ) ,
    'chx_5' => array(
        'mot' => 'un',
        'reponse' => 'tournevis',
        'image' => 'img/tournevis.gif'
    ) ,
    'chx_6' => array(
        'mot' => 'un',
        'reponse' => 'journal',
        'image' => 'img/journal.gif'
    ) ,
    'chx_7' => array(
        'mot' => 'une',
        'reponse' => 'rouge',
        'image' => 'img/carré-rouge.gif'
    )
);

if (isset($_POST['correction']) && $_POST['correction'] === 'correction')
    {
    $empty = false;
    foreach($reponses as $key => $value)
        {
        if (empty($_POST[$key]))
            {
            $empty = true;
            }
        }

    if ($empty)
        {
        $msg = '<p>Veuillez cochez toutes les cases !</p>';
        echo $msg;
        }
      else
        {
        $form_ok = true;
        $errors = array();
		echo"</pre>";
        foreach($reponses as $key => $value)
            {
            if ($_POST[$key] == $value['reponse'])
                {
                $errors[$key] = htmlspecialchars($_POST[$key]);
                }
            }
        }
    }

?>
    <?php

if (!$form_ok)
    { ?>
            <form action="" method="POST" />
            
   <?php
    $images = array(
        '0' => array(
            'pronom' => 'une',
            'image' => 'img/douche.gif'
        ) ,
        '1' => array(
            'pronom' => 'une',
            'image' => 'img/poubelle.gif'
        ) ,
        '3' => array(
            'pronom' => 'une',
            'image' => 'img/souris.gif'
        ) ,
        '4' => array(
            'pronom' => 'une',
            'image' => 'img/soupe.gif'
        ) ,
        '5' => array(
            'pronom' => 'un',
            'image' => 'img/couteau.gif'
        ) ,
        '6' => array(
            'pronom' => 'un',
            'image' => 'img/tournevis.gif'
        ) ,
        '7' => array(
            'pronom' => 'un',
            'image' => 'img/journal.gif'
        ) ,
        '8' => array(
            'pronom' => 'un',
            'image' => 'img/rouge.gif'
        )
    );
    foreach($images as $key => $image)
        {
        foreach($reponses as $choix => $reponse)
            {
            if ($choix !== $reponse OR $image !== $reponse)
                {
                echo '<article class="content_img"><figure>';
                echo '<img src="' . $image['image'] . '" width="75" height="75" alt="" />';
                echo '</figure><p>' . $image['pronom'] . '</p>';
                echo displaySelectReponse($choix, $reponse['mot']);
                echo '</article>';
                break;
                }
            }
        }

?>         
            <input class="correction_center" type="submit" name="correction" value="correction"/>
            </form>
           
            
          
            <?php
    }
  else
    { ?>
            <p style="text-align:center;padding:4% 0 0 0;font-size:1.6em;font-weight:bold;display:block;" >Corrigé de l'exercice :</p>
            <div class="blc_reponses">
              <ol style="text-align:left;" class="reponses">
                <?php
    foreach($reponses as $choix => $value)
        {
        echo displayReponse($choix);
        } ?>
              </ol>
              <h2 style="display:inline-block;">Bonnes réponses :</h2>
              <p><?php
    echo count($reponses) - count($errors); ?> / <?php
    echo count($reponses); ?></p>
            </div>
            <div class="main_sec" style="text-align:center;margin-left:-10px;"> <span><a href="exo_ou_1.php">REFAIRE L'EXERCICE</a></span> <span><a href="exo_ou_2.php">EXERCICE SUIVANT</a></span> </div>
            <?php
    } ?>

Re: comment récupéré les valeurs de balise input hidden

par @rthur » 06 avr. 2016, 16:29

Bonjour,

Si tu mets un type="password" alors ça va masquer par des étoiles le texte qui est contenu dans l'input.
Autre solution, en CSS, appliquer un couleur blanche pour la police de caractère et le background et ainsi quand tu taperas du texte on ne verra rien, mais si l'utilisateur surligne le texte il pourra le voir

Re: comment récupéré les valeurs de balise input hidden

par Spols » 06 avr. 2016, 16:06

Je suis pas sur de comprendre, mais je te conseillerai de faire un input de chaque
Un Text pour l'utilisateur qui inscrit ce qu'il veut
Un pour toi comme valeur de référence que tu récupèreras au traitement

Mais attention, les petit malin pourront toujours aller voir le code source de tes balises hidden pour en découvrir le contenu
Si cela pose problème, il te faut plutot passer par des SESSION

De plus si tes input sont dans une boucle, tu dois faire en sorte qu'il ai un name différent sinon tu ne pourras pas récupèrer chaque valeur séparement mais seulement la dernière.

comment récupéré les valeurs de balise input hidden

par le loup solitaire » 06 avr. 2016, 15:55

bonjours,
quel est la meilleur façon de faire avec les balises input 'texte' et hidden..

j'aimerai pouvoir écrire un mot dans le champs texte tout en cachant les valeurs, car dans ma situation si le input text a des valeurs il s'affiche et si je change le type en hidden plus rien ne s affiche.
$options = array ('douche', 'poubelle', 'souris', 'soupe', 'couteau', 'tournevis', 'journal', 'rouge');
		
	
				$select = "";
						
						foreach ($options as $key => $option) {
							
							if(isset($select)){
								
							$select .= "<td><input type='text' name='$choix' value='$option'/></td>";
							
							}	
							
						}
						return $select;
					}
merci