Récupérer les données d'un bouton radio

Résolu/Fermé
Signaler
Messages postés
58
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
4 février 2011
-
Messages postés
58
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
4 février 2011
-
Bonjour à tous,

Dans le cadre de mon stage, je dois faire un programme de recherche de documents PDF. On entre le numéro de série et la recherche se fait. Quand le document est trouvé, un bouton radio s'affiche et le nom du document apparaît à côté.
J'aimerai pouvoir sélectionner le document avec le bouton radio, cliquer sur le bouton Envoi et cela afficherait le document PDF sélectionné dans une autre page.
Je n'arrive pas à récupérer le choix fait avec le bouton radio pour afficher le document PDF.
Voila le code de ma recherche :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Recherche</title>
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" media="screen" href="style.css" />

</head>
<form name="form2" method="GET" action="visu.html">
<body>
<h3>Recherche</h3>
<?php
$NumSerie  = $_POST['NumSerie'];
define('FICHIER', 'pdf.txt'); //défini le fichier pdf.txt comme une constante car on utilise que ce fichier là pour la recherche
@ $fp = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !'); //@ permet de cacher le message d'erreur
while (!feof($fp) )
   {
     $ligne = fgets($fp);
	 $posS = strrpos($ligne, "s_"); // trouve la position de s_
	 $posAn = strrpos($ligne, "_an"); // trouve la position de _an
	 $longChaine = $posAn - $posS; // différence entre $posAn et $posS
	 $champ = substr($ligne,$posS, $longChaine); // on récupère le champ entre $posS et $longChaine
	 
	if (strstr($champ,$NumSerie)) { // on regarde si le champ contient le numéro de série
		echo "<input type=\"radio\" name=\"Choix\" value=\"".$ligne."\">"; //on affiche un bouton radio à chaque résultat
		echo $ligne."<br>"; // on affiche les lignes correspondant à la recherche
	}
	}
echo "<br>";
?>
   <td>
        <input type="submit" value="Envoi" name="Envoi"/>
   </td>
</body>

</html>

Et voila le code pour afficher le document PDF :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Recherche</title>
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" media="screen" href="style.css" />

</head>

<body>
<h3>Recherche</h3>
<?php
$Choix  = $_GET['Choix'];
?>

<object data="PDF/<?php echo $Champ?>" type="application/pdf" width="600" height="900"> <!-- On choisit d'insrer dans la page le document PDF -->
  alt : <a href="PDF/<?php echo $Champ?>">PDF/<?php echo $Champ?></a> <!-- On affiche le document correspondant  la recherche -->
</object>
</body>
</html>

Merci d'avance pour votre aide car je bloque totalement :x

6 réponses

Messages postés
57
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
21 mars 2011
5
Euh... j'ai pas vu de balises pour indiquer que tu fermes ton form...

C'est p'tet ça ou pas... je m'y connais pas trop avec les PDF et tout ça.

Et puis à ce que j'ai compris, tu veux un bouton radio à chaque document trouvé, c'est ça?

Donc du coup est ce qu'il n'y a pas une histoire d'incrémentation pour ta valeur ou qqch dans ce genre...

Dans le style .$TaVariable[unNombre].

...?
0
Messages postés
58
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
4 février 2011
1
Je viens de fermer mes form et ça n'a rien changé :(
0
Messages postés
57
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
21 mars 2011
5
Déjà ça fera + propre :)

J'utilise très rarement des boutons radios en php perso donc là je vois pas trop comment faire... mais si je trouve et que tu n'as pas eu de réponses je posterais ^^

Ca m'apprendra quelque chose comme ça :)
0
Ba normalement pour ton radio tu as:

...value="1">Chocolat
...value="2">Café

après quand tu fais $_POST... tu test si (...==1) Alors ...
0
Messages postés
57
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
21 mars 2011
5
Où est ce que tu assignes la valeur de $champ au fait?
0
Messages postés
58
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
4 février 2011
1
J'ai réussis à régler mon problème =D.
Voila mes nouveaux codes :
<body>
<form name="form2" method="POST" action="visu.php" target="_blank">
<h3>Recherche</h3>
<?php
$NumSerie  = $_POST['NumSerie'];
define('FICHIER', 'pdf.txt'); //défini le fichier pdf.txt comme une constante car on utilise que ce fichier là pour la recherche
@ $fp = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !'); //@ permet de cacher le message d'erreur
while (!feof($fp) )
   {
     $ligne = fgets($fp);
	 $posS = strrpos($ligne, "s_"); // trouve la position de s_
	 $posAn = strrpos($ligne, "_an"); // trouve la position de _an
	 $longChaine = $posAn - $posS; // différence entre $posAn et $posS
	 $champ = substr($ligne,$posS, $longChaine); // on récupère le champ entre $posS et $longChaine
	 
	if (strstr($champ,$NumSerie)) { // on regarde si le champ contient le numéro de série
		echo "<input type=\"radio\" name=\"Choix\" value=\"".$ligne."\">"; //on affiche un bouton radio à chaque résultat
		echo $ligne."<br>"; // on affiche les lignes correspondant à la recherche
	}
	}
echo $NumSerie; // Affiche le numéro de série qui a été saisis
echo "<br>";

?>

   <td>
        <input type="submit" value="Envoi" name="Envoi"/>
   </td>
 </form>  
</body>


et :
<body>
<h3>Recherche</h3>

<object data="PDF/<?php echo $Choix ?>" type="application/pdf" width="600" height="900"> <!-- On choisit d'insrer dans la page le document PDF -->
  alt : <a href="PDF/<?php echo $Choix ?>">PDF/<?php echo $Choix ?></a> <!-- On affiche le document correspondant  la recherche -->
</object>
<input type="button" value="Retour" onclick="history.go(-1)">
</body>


En fait j'ai eue un soucis avec le nom du deuxième document, c'était visu.php et non pas visu.html
0
Messages postés
57
Date d'inscription
mardi 25 mai 2010
Statut
Membre
Dernière intervention
21 mars 2011
5
Ok

Et puis j'ai vu que tu avais remplacé $champ par $choix aussi ;)

C'est dingue comme des erreurs d'étourderies peuvent nous pourrir la vie ... =)
0
Messages postés
58
Date d'inscription
jeudi 27 mai 2010
Statut
Membre
Dernière intervention
4 février 2011
1
Oh que oui :) de toute façon avec le PHP un simple point virgule peut devenir ton pire énnemi.
0