Comment récupérer la valeur avec une balise input
Résolu
boni91
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
boni91 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
boni91 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaye depuis un moment de pouvoir récupéré les valeurs qui se trouve dans un array de plusieurs balises input type image sur une autre page, mais sans succès rien ne s'affiche.
de plus quand je clic sur le choix ça m'envoie direct sur la page correction hors qu il y a douze réponses a donner.
je suis un peu perdu!
voici un bout du array
voici le code de la page avec le formulaire:
voici la page correction:
merci pour votre réponse tout en m'expliquant le pourquoi.
j'essaye depuis un moment de pouvoir récupéré les valeurs qui se trouve dans un array de plusieurs balises input type image sur une autre page, mais sans succès rien ne s'affiche.
de plus quand je clic sur le choix ça m'envoie direct sur la page correction hors qu il y a douze réponses a donner.
je suis un peu perdu!
voici un bout du array
'chx_11' => array( 'chiffre' => '12', 'reponse' => '../png-alphabet/W.png', 'reponse1' => '../png-alphabet/V.png', 'reponse2' => '../png-alphabet/U.png', 'mot' => '', 'btn' => '../btn/oreille.png', 'mp3' => '../mp3/8-plan.mp3' )
voici le code de la page avec le formulaire:
echo '<form class="form_exercices_ou_result" action="../correct_exo/correction-exo-alphabet-2.php" method="POST" />'; echo'<div style="display:inline-block;width:450px;min-height:350px;border-right:1px solid #000;">'; foreach($reponses as $cle => $reponse){ echo'<p style="font-size:1.2em;padding:0 20px;">'.$reponse['chiffre'].'</p>'; echo '<button class="button_audio" onclick="playVid(\'son_1'.$cle.'\')" type="button" value="' . $reponse['mp3'] . '"></button>'; echo '<audio id="son_1'.$cle.'">'; echo '<source src="' . $reponse['mp3'] .'" type="audio/mp3">'; echo '<p>Votre navigateur ne supporte pas le format audio.</p>'; echo '</audio>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse'] . '" /></p>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' .$reponse['reponse1'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse1'] . '" /></p>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse2'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse2'] . '" /></p>'; } echo'</div>'; echo'<div style="display:inline-block;width:450px;height:350px;">'; foreach($reponses1 as $cle1 => $reponse1){ echo'<p style="font-size:1.2em;padding:0 20px;">'.$reponse1['chiffre'].'</p>'; echo '<button class="button_audio" onclick="playVid(\'son_1'.$cle.'\')" type="button" value="' . $reponse1['mp3'] . '"></button>'; echo '<audio id="son_1'.$cle1.'">'; echo '<source src="' . $reponse1['mp3'] .'" type="audio/mp3">'; echo '<p>Votre navigateur ne supporte pas le format audio.</p>'; echo '</audio>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse1['reponse'] . '" width="30px" height="30px" name="'.$cle1.'" value="' . $reponse1['reponse'] . '" /></p>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' .$reponse1['reponse1'] . '" width="30px" height="30px" name="'.$cle1.'" value="' . $reponse1['reponse1'] . '" /></p>'; echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse1['reponse2'] . '" width="30px" height="30px" name="'.$cle1.'" value="' . $reponse1['reponse2'] . '" /></p>'; } echo'</div>'; echo'</div>'; echo '<div style="display:inline-block;margin-left:-15em;margin-top:2em;" class="correction_center"><input type="submit" name="correction" value="correction"/></div>'; echo '</form>'; echo'<div><a href="javascript:scroll(0,0)"><figure style="margin:0 0 0 96%;" class="bouton_retour"><img src="../img/fhg.jpg" alt="fleche vers le haut" width="60" height="60" /></figure></a></div>'; ?>
voici la page correction:
echo'<div style="display:inline-block;width:450px;min-height:350px;border-right:1px solid #000;">';
if (isset($_POST['correction']))
{
foreach($reponses as $cle => $reponse){
$clic = trim($_POST[$cle]);
echo '<button class="button_audio" onclick="playVid(\'son_1'.$cle.'\')" type="button" value="' . $reponse['mp3'] . '"></button>';
echo '<audio id="son_1'.$cle.'">';
echo '<source src="' . $reponse['mp3'] .'" type="audio/mp3">';
echo '<p>Votre navigateur ne supporte pas le format audio.</p>';
echo '</audio>';
foreach($choix as $key => $value){
if(empty($clic) && empty($clic) != $reponse['reponse'] OR empty($clic) && empty($clic) != $reponse['reponse1'] OR empty($clic) && empty($clic) != $reponse['reponse2']){
echo'<figure style="display:inline-block;">';
echo'<img src="../img/ok.jpg" alt="reponse fausse" width:"55" height="55" /></figure>';
}else if($clic == $reponse['reponse'] AND $reponse['reponse'] != $key OR $clic !== $reponse['reponse1'] AND $reponse['reponse1'] != $key OR $clic == $reponse['reponse2'] AND $reponse['reponse2'] = $key){
$point[$cle] = htmlspecialchars($clic);
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse'] . '" /></p>';
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' .$reponse['reponse1'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse1'] . '" /></p>';
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse2'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse2'] . '" /></p>';
echo'<p style="color:green;font-size:1.2em;"><b>'. $point[$cle].'</b></p>';
echo'<figure style="display:inline-block;margin-top:1em;">';
echo'<img src="../img/ok1.jpg" alt="reponse bonne" width:"55" height="55" /></figure><br />';
break;
}else if($clic !== $reponse['reponse'] AND $reponse['reponse'] != $key OR $clic !== $reponse['reponse1'] AND $reponse['reponse1'] != $key OR $clic !== $reponse['reponse2'] AND $reponse['reponse2'] != $key){
$errors[$cle] = htmlspecialchars($clic);
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse'] . '" /></p>';
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' .$reponse['reponse1'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse1'] . '" /></p>';
echo'<p style="text-align:center;font-size:1.2em;display:inline-block;"><input style="margin:0 0 0 65px;" type="image" src="../png-alphabet/' . $reponse['reponse2'] . '" width="30px" height="30px" name="'.$cle.'" value="' . $reponse['reponse2'] . '" /></p>';
echo'<p style="color:red;font-size:1.2em;"><b>'. $errors[$cle].'</b></p>';
echo'<figure style="display:inline-block;">';
echo'<img src="../img/ok.jpg" alt="reponse fausse" width:"55" height="55" /></figure><br />';
break;
}
}
}
echo $msg;
echo'</div>';
merci pour votre réponse tout en m'expliquant le pourquoi.
A voir également:
- Comment récupérer la valeur avec une balise input
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
1 réponse
Bonjour,
Ton problème semble venir du fait que tu utilises des
De ce fait, il considère que tu "submit" le formulaire.
Le mieux serait de gérer tes images via des balises <img>
et , en javascript, cocher des checkbox (hidden) afin de pouvoir récupérer les valeurs choisis lors du vrai "submit" de ton formulaire.
Ton problème semble venir du fait que tu utilises des
<input type="image"
De ce fait, il considère que tu "submit" le formulaire.
Le mieux serait de gérer tes images via des balises <img>
et , en javascript, cocher des checkbox (hidden) afin de pouvoir récupérer les valeurs choisis lors du vrai "submit" de ton formulaire.
oui mais je ne connais que peu le javascript, si je comprend bien il faut que ma balise input soit en hidden comme ceci:
et pour le le chekbox en javascript aurais tu un lien a me proposer
"de pouvoir récupéré les valeurs qui se trouve dans un array de plusieurs balises input "
Pour récupérer des valeurs (ex: vers une page PHP) vous pouvez utiliser un formulaire (<form>) via la méthode POST ou GET. Généralement POST. Reprenez vos cours/tutos là dessus ça serait un bon début, où récupérez vous les valeurs qui ne sont sûrement pas des variables mais contenus dans la variable(globale) GET ou POST associé! A fortiori étant juste les valeurs ('textuelles') associées au formulaire oubliez une structure de variable comme un tableau de variables(a r r a y en anglais). Quand à lier JavaScript et PHP c'est rigoureusement impossible car JavaScript fonctionne en local et PHP(comme son nom l'indique) côté serveur, donc votre façon de faire me paraît foireuse dès le départ.
Une bonne façon de faire et de séparer les scripts de la page, vous vous seriez rendus compte directement de votre erreur. Je veux dire faire un fichier séparé que vous indiquez dans l'attribut 'action' de votre formulaire, exemple ici:
https://www.w3schools.com/tags/att_form_action.asp
sans oublier d'utiliser POST et non G E T.
Sinon vous avez A.J.A.X qui permet des requêtes asynchrone avec une base de données. Si vous n'avez pas de base de données laissez tomber PHP pour JavaScript , votre PHP ne fera que ralentir l'exécution. Quant à la différence entre JavaScript et PHP l'un fonctionne sur le navigateur et plus simple et permissif(pas besoin de serveur distant apache pour que PHP fonctionne) seule la syntaxe change, autant dire pas grand chose, vous n'avez même pas besoin du e c h o PHP car il existe des fonctions intégrées au langages pour manipuler directement le HTML(DOM) bien plus facilement et simplement que si vous aviez à écrire le tout vous même.
j utilise deja un formulaire suivant la method POST echo '<form class="form_exercices_ou_result" action="../correct_exo/correction-exo-alphabet-2.php" method="POST" />'; je recupere les $cle sur une autre page , j'ai d autres exercices qui fonctionne très bien comme ça, la ou ça cloche c est a partir du moment ou j utilise des images.
j arrive a afficher en faisant
mais le souci de maintenant viens de pouvoir comparrer se que j'envoie.