Récupération de variable select

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 : Récupération de variable select

Récupération de variable select

par jcml » 29 oct. 2006, 15:36

Bonjour,
Je suis débutant et ca fait plusieurs jours et nuits que je passe sur mon code pour récupérer des variables issues du select.
voici le code :
<?
$temp="$HTTP_COOKIE_VARS[valid]";
if ($temp==""){Header("Location: login.htm");}
session_start();
$x = $_SESSION['id_club'];
$y = $_SESSION['nom_club'];
$_SESSION['Liste5'] = ' . ($_POST['Liste5']) . '
?>

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Listes déroulantes pilotées par JavaScript Asynchrone et une Base de données</title> <script type="text/javascript"> var Ld1Id=''; var Ld2Id=''; var id_liste=''; function ValideLd2(val) { Ld1Id=val; //id_département id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id; ObjetXHR(LD_URL) // Réinitialisation de Ld3 si modification de LD1 après passage en Ld2 if (Ld2Id!='') {ValideLd3(''); } } function ValideLd3(val) { Ld2Id=val; //id_commune id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante var LD_URL = 'ValideLd3.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id; if (Ld2Id=='') {var LD_URL = 'ValideLd3.php';} ObjetXHR(LD_URL) } function ObjetXHR(LD_URL) { //creation de l'objet XMLHttpRequest if (window.XMLHttpRequest) { // Mozilla,... xmlhttp=new XMLHttpRequest(); if (xmlhttp.overrideMimeType) { xmlhttp.overrideMimeType('text/xml'); } xmlhttp.onreadystatechange=ChargeLd; xmlhttp.open("GET", LD_URL, true); xmlhttp.send(null); } else if (window.ActiveXObject) { //IE xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); if (xmlhttp) { xmlhttp.onreadystatechange=ChargeLd; xmlhttp.open('GET', LD_URL, false); xmlhttp.send(); } } // Bouton non apparent car modification de LD1 ou Ld2 document.getElementById('buttons').style.display='none'; } // fonction pour manipuler l'appel asynchrone function ChargeLd() { if (xmlhttp.readyState==4) { if (xmlhttp.status==200) { //span id="niv2" ou "niv3" document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText; if (xmlhttp.responseText.indexOf('disabled')<=0) { //focus sur liste déroulante 2 ou 3 document.getElementById('Liste'+id_liste).focus(); } } } } function Affiche_Btn() { document.getElementById('buttons').style.display='inline'; } </script> <style> #buttons { display: none; } </style> <style type="text/css"> .ds_box { background-color: #FFF; border: 1px solid #000; position: absolute; z-index: 32767; } .ds_tbl { background-color: #FFF; } .ds_head { background-color: #333; color: #FFF; font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; text-align: center; letter-spacing: 2px; } .ds_subhead { background-color: #CCC; color: #000; font-size: 12px; font-weight: bold; text-align: center; font-family: Arial, Helvetica, sans-serif; width: 32px; } .ds_cell { background-color: #EEE; color: #000; font-size: 13px; text-align: center; font-family: Arial, Helvetica, sans-serif; padding: 5px; cursor: pointer; } .ds_cell:hover { background-color: #F3F3F3; } /* This hover code won't work for IE */ </style> </head> <body> <noscript> <p>Cette page nécessite que JavaScript soit activé; dans votre navigateur </noscript> <table class="ds_box" cellpadding="0" cellspacing="0" id="ds_conclass" style="display: none;"> <tr><td id="ds_calclass"> </td></tr> </table> <script type="text/javascript"> // <!-- <![CDATA[ // Project: Dynamic Date Selector (DtTvB) - 2006-03-16 // Script featured on JavaScript Kit- http://www.javascriptkit.com // Code begin... // Set the initial date. var ds_i_date = new Date(); ds_c_month = ds_i_date.getMonth() + 1; ds_c_year = ds_i_date.getFullYear(); // Get Element By Id function ds_getel(id) { return document.getElementById(id); } // Get the left and the top of the element. function ds_getleft(el) { var tmp = el.offsetLeft; el = el.offsetParent while(el) { tmp += el.offsetLeft; el = el.offsetParent; } return tmp; } function ds_gettop(el) { var tmp = el.offsetTop; el = el.offsetParent while(el) { tmp += el.offsetTop; el = el.offsetParent; } return tmp; } // Output Element var ds_oe = ds_getel('ds_calclass'); // Container var ds_ce = ds_getel('ds_conclass'); // Output Buffering var ds_ob = ''; function ds_ob_clean() { ds_ob = ''; } function ds_ob_flush() { ds_oe.innerHTML = ds_ob; ds_ob_clean(); } function ds_echo(t) { ds_ob += t; } var ds_element; // Text Element... var ds_monthnames = [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ]; // You can translate it for your language. var ds_daynames = [ 'Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi' ]; // You can translate it for your language. // Calendar template function ds_template_main_above(t) { return '<table cellpadding="3" cellspacing="1" class="ds_tbl">' + '<tr>' + '<td class="ds_head" style="cursor: pointer" onclick="ds_py();"><<</td>' + '<td class="ds_head" style="cursor: pointer" onclick="ds_pm();"><</td>' + '<td class="ds_head" style="cursor: pointer" onclick="ds_hi();" colspan="3">[Fermer]</td>' + '<td class="ds_head" style="cursor: pointer" onclick="ds_nm();">></td>' + '<td class="ds_head" style="cursor: pointer" onclick="ds_ny();">>></td>' + '</tr>' + '<tr>' + '<td colspan="7" class="ds_head">' + t + '</td>' + '</tr>' + '<tr>'; } function ds_template_day_row(t) { return '<td class="ds_subhead">' + t + '</td>'; // Define width in CSS, XHTML 1.0 Strict doesn't have width property for it. } function ds_template_new_week() { return '</tr><tr>'; } function ds_template_blank_cell(colspan) { return '<td colspan="' + colspan + '"></td>' } function ds_template_day(d, m, y) { return '<td class="ds_cell" onclick="ds_onclick(+ d + ',' + m + ',' + y + ')">' + d + '</td>'; // Define width the day row. } function ds_template_main_below() { return '</tr>' + '</table>'; } // This one draws calendar... function ds_draw_calendar(m, y) { // First clean the output buffer. ds_ob_clean(); // Here we go, do the header ds_echo (ds_template_main_above(ds_monthnames[m - 1] + ' ' + y)); for (i = 0; i < 7; i ++) { ds_echo (ds_template_day_row(ds_daynames[i])); } // Make a date object. var ds_dc_date = new Date(); ds_dc_date.setMonth(m - 1); ds_dc_date.setFullYear(y); ds_dc_date.setDate(1); if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { days = 31; } else if (m == 4 || m == 6 || m == 9 || m == 11) { days = 30; } else { days = (y % 4 == 0) ? 29 : 28; } var first_day = ds_dc_date.getDay(); var first_loop = 1; // Start the first week ds_echo (ds_template_new_week()); // If sunday is not the first day of the month, make a blank cell... if (first_day != 0) { ds_echo (ds_template_blank_cell(first_day)); } var j = first_day; for (i = 0; i < days; i ++) { // Today is sunday, make a new week. // If this sunday is the first day of the month, // we've made a new row for you already. if (j == 0 && !first_loop) { // New week!! ds_echo (ds_template_new_week()); } // Make a row of that day! ds_echo (ds_template_day(i + 1, m, y)); // This is not first loop anymore... first_loop = 0; // What is the next day? j ++; j %= 7; } // Do the footer ds_echo (ds_template_main_below()); // And let's display.. ds_ob_flush(); // Scroll it into view. ds_ce.scrollIntoView(); } // A function to show the calendar. // When user click on the date, it will set the content of t. function ds_sh(t) { // Set the element to set... ds_element = t; // Make a new date, and set the current month and year. var ds_sh_date = new Date(); ds_c_month = ds_sh_date.getMonth() + 1; ds_c_year = ds_sh_date.getFullYear(); // Draw the calendar ds_draw_calendar(ds_c_month, ds_c_year); // To change the position properly, we must show it first. ds_ce.style.display = ''; // Move the calendar container! the_left = ds_getleft(t); the_top = ds_gettop(t) + t.offsetHeight; ds_ce.style.left = the_left + 'px'; ds_ce.style.top = the_top + 'px'; // Scroll it into view. ds_ce.scrollIntoView(); } // Hide the calendar. function ds_hi() { ds_ce.style.display = 'none'; } // Moves to the next month... function ds_nm() { // Increase the current month. ds_c_month ++; // We have passed December, let's go to the next year. // Increase the current year, and set the current month to January. if (ds_c_month > 12) { ds_c_month = 1; ds_c_year++; } // Redraw the calendar. ds_draw_calendar(ds_c_month, ds_c_year); } // Moves to the previous month... function ds_pm() { ds_c_month = ds_c_month - 1; // Can't use dash-dash here, it will make the page invalid. // We have passed January, let's go back to the previous year. // Decrease the current year, and set the current month to December. if (ds_c_month < 1) { ds_c_month = 12; ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid. } // Redraw the calendar. ds_draw_calendar(ds_c_month, ds_c_year); } // Moves to the next year... function ds_ny() { // Increase the current year. ds_c_year++; // Redraw the calendar. ds_draw_calendar(ds_c_month, ds_c_year); } // Moves to the previous year... function ds_py() { // Decrease the current year. ds_c_year = ds_c_year - 1; // Can't use dash-dash here, it will make the page invalid. // Redraw the calendar. ds_draw_calendar(ds_c_month, ds_c_year); } // Format the date to output. function ds_format_date(d, m, y) { // 2 digits month. m2 = '00' + m; m2 = m2.substr(m2.length - 2); // 2 digits day. d2 = '00' + d; d2 = d2.substr(d2.length - 2); // DD-MM-YYYY return d2 + '-' + m2 + '-' + y; } // When the user clicks the day. function ds_onclick(d, m, y) { // Hide the calendar. ds_hi(); // Set the value of it, if we can. if (typeof(ds_element.value) != 'undefined') { ds_element.value = ds_format_date(d, m, y); // Maybe we want to set the HTML in it. } else if (typeof(ds_element.innerHTML) != 'undefined') { ds_element.innerHTML = ds_format_date(d, m, y); // I don't know how should we display it, just alert it to user. } else { alert (ds_format_date(d, m, y)); } } // And here is the end. // ]]> --> </script> <div id="Les3LD"> <form method="post" action="ListeCP2.php"> <div align="center"> <table width="90%" border="1"> <tr> <td width="91%"> <p align="center"><font face="Arial, Helvetica, sans-serif"><b><font size="4" color="#000000">ACCORDS HORAIRE DE MATCH</font></b></font></p> <p align="center"><font face="Arial, Helvetica, sans-serif" color="#0000FF"><b><font size="3">SAISON 2006 - 2007</font></b></font> </p> </td> </tr> </table> </div> <p align="left"><font size="2" face="Arial, Helvetica, sans-serif" >Journ&eacute;e du <input onclick="ds_sh(this);" name="date1" value="Cliquez-moi" readonly="readonly" style="cursor: text" /><br /></font> <p align="left"><font size="2" face="Arial, Helvetica, sans-serif" >Type de championnat : </font> <?php include 'ValideLd1.php'; ?>&nbsp; <!--Pour remplir la liste déroulante 2--> <p align="left"><font size="2" face="Arial, Helvetica, sans-serif" >Club recevant : </font> <b><?php echo $y ?></b> <p align="left"><font size="2" face="Arial, Helvetica, sans-serif" >Club visiteur : </font> <span id="niv2"> <?php include 'ValideLd2.php'; ?></span>&nbsp; <!--Pour remplir la liste déroulante 3--> <p align="left"><font size="2" face="Arial, Helvetica, sans-serif" >Aura lieu le <input onclick="ds_sh(this);" name="date2" value="Cliquez-moi" readonly="readonly" style="cursor: text" /> à <?php $rq="Select a.nom from salle a, lien_salle_club b where b.salle_ptr=a.id and b.club_ptr='$x' order by a.id"; $rq_pos_val=0; $result= mysql_query ($rq) or die ("Select impossible"); $retour = '<select name="Liste4" id="Liste4" size="1">'; $retour .= '<option selected value="">Choisir...</option>'; if (mysql_num_rows($result) != 0) { while ($row = mysql_fetch_row($result)) { $retour .= '<option value="">'. $row[$rq_pos_val] .'</option>'; } $retour .= '</select>'; } else { $retour = '<input id="Liste4" type="text" size="10" value="Aucune valeur" disabled>'; } mysql_free_result($result); mysql_close($connexion); echo $retour ?> à <?php $rq="Select heure from heure order by id"; $rq_pos_val=0; $result= mysql_query ($rq) or die ("Select impossible"); $retour = '<select name="Liste5" id="Liste5" size="1">'; $retour .= '<option selected value="">Choisir...</option>'; if (mysql_num_rows($result) != 0) { while ($row = mysql_fetch_row($result)) { $retour .= '<option value="">'. $row[$rq_pos_val] .'</option>'; } $retour .= '</select>'; } else { $retour = '<input id="Liste5" type="text" size="10" value="Aucune valeur" disabled>'; } mysql_free_result($result); mysql_close($connexion); echo $retour ?> </font> <p align="left"> <font size="2" face="Arial, Helvetica, sans-serif">Responsable de cet accord-horaire</font> <input type="text" name="textfield3" size=38 maxlength=99 value="Tapez ici votre prénom et votre nom"> </div> </form> <form action="envoi2.php" method="post"> <div> <input type="submit" value="Submit" /> </div> </form> </body> </html>

Je voudrais récupérér les valeurs sélectionnes par l'utilisateur, les valeurs des variables Liste1, Liste2, Liste4, Liste5, date1 et date2
voici le code de ValideLD1.php

<?PHP
$temp="$HTTP_COOKIE_VARS[valid]";
if ($temp==""){Header("Location: login.htm");}

session_start();
include 'Connexionbd.php';
$x = $_SESSION['id_club'];
$rq="Select a.id, a.nom from championnat a, lien_champt_club b where b.champt_ptr=a.id and b.club_ptr='$x' order by a.id;";
$rq_pos_id=0; //position dans le SQL de la clé de la liste déroulante idem dans ValideLd2.php et ValideLd3.php
$rq_pos_val=1; //position dans le SQL de la valeur de la liste déroulante idem dans ValideLd2.php et ValideLd3.php 

$result= mysql_query ($rq) or die ("Select impossible");
$retour = '<select name="Liste1" id="Liste1" size="1" onchange="ValideLd2(this[this.selectedIndex].value);">';
$retour .= '<option selected value="">Choisir...</option>';
if (mysql_num_rows($result) != 0) {
	while ($row = mysql_fetch_row($result)) {
		$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
		}
		$retour .= '</select>';
} else {
	$retour = '<input id="size" type="text" size="14" value="Aucune valeur" disabled>';
}
mysql_free_result($result);
mysql_close($connexion);
echo $retour
?>
et valideLd2.php
<?PHP
$temp="$HTTP_COOKIE_VARS[valid]";
if ($temp==""){Header("Location: login.htm");}
session_start();
include 'Connexionbd.php';
$Ld1_retour =''; //id_département clé de la liste déroulante 1

if (isset($_GET['Ld1'])) {$Ld1_retour = $_GET['Ld1'];}

if ($Ld1_retour!='') {
	$rq="Select c.id, c.nom from club c, lien_champt_club d where d.club_ptr=c.id and d.champt_ptr=".$Ld1_retour." order by c.id;";
	$rq_pos_id=0;
	$rq_pos_val=1;
	$result= mysql_query ($rq) or die ("Select impossible");
	$retour = '<select name="Liste2" id="Liste2" size="1" onchange="ValideLd3(this[this.selectedIndex].value);">';
	$retour .= '<option selected value="">Choisir...</option>';

	if (mysql_num_rows($result) != 0) {
		while ($row = mysql_fetch_row($result)) {
			$retour .= '<option value="'. $row[$rq_pos_id] .'">'. $row[$rq_pos_val] .'</option>';
		}
		$retour .= '</select>';
	} else {
		$retour = '<input id="Liste2" type="text" size="14" value="Aucune valeur" disabled>';
	}
	mysql_free_result($result);
	mysql_close($connexion);
}else{
	$retour = '<select name="Liste2" id="Liste2" size="1" disabled><option>Aucune valeur</option></select>';
}	
echo $retour
?>
Je vous remercie d'avance
jcml