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

Résolu
Slylia Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   -  
Slylia Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   - 8 juin 2010 à 13:34
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
A voir également:

6 réponses

lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   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
Slylia Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   1
 
Je viens de fermer mes form et ça n'a rien changé :(
0
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   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
vincentdu76
 
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
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   5
 
Où est ce que tu assignes la valeur de $champ au fait?
0
Slylia Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lys44 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   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
Slylia Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   1
 
Oh que oui :) de toute façon avec le PHP un simple point virgule peut devenir ton pire énnemi.
0