Validation avec checkbox

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 : Validation avec checkbox

Validation avec checkbox

par guigui69 » 26 mai 2008, 11:24

Bonjour à tous,

Je cherche de l'aide car je suis dessus depuis ce matin et je seche la dessus.

page php
<?php session_start(); ?>
<?php
if(!isset($_SESSION['acces_commande'])) {
	include('login.php');
	echo 'Vous n\'êtes pas autorisé´ à acceder à cette zone';
	echo '<br>';
  
  exit;
}
elseif(isset($_SESSION['acces_commande']) && $_SESSION['acces_commande'] == 0)
{
	
	echo '<span class="important">Vous n\'êtes pas autorisé´ à acceder à cette zone</span>';
	echo '<br>';
	include('acceuil.php');
  exit;
}
else
{
}
?> 
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Acceuil</title>
		<script type='text/javascript'>
	 
			function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr;
			}
			
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(){
				var xhr = getXhr();
				 
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						leselect = xhr.responseText;
						// On se sert de innerHTML pour rajouter les options a la liste
						document.getElementById('info').innerHTML = leselect;
						 document.getElementById('date_livraison_commande').value= document.getElementById('date_livraison_commande').value.replace(/ /g, "/");
						}
				}

				// Ici on va voir comment faire du post
				xhr.open("POST","ajax_commande_visualisation.php",true);
				// ne pas oublier ça pour le post
				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				// ne pas oublier de poster les arguments
				// ici, l'id de l'auteur
				idauteur = document.getElementById('date_livraison_commande').value;
				//alert(idauteur);
				xhr.send("idauteur="+idauteur);
			}

		</script>
<LINK href="site.css" rel="stylesheet" type="text/css">		
<LINK href="commande_visualisation.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="conteneur">
			<h1 id="header"><a href="acceuil.php"></a></h1>
<div id="menu">
			<h2>M.premieres/emballages</h2>
			<ul>
			<li><a href="ajoutmatiere.php">Ajout: matiere premiere</a></li>
			<li><a href="ajoutemballage.php">Ajout: emballage</a></li>
			<li><a href="modmatiere1.php">Modification: matiere premiere</a></li>
			<li><a href="modemballage1.php">Modification: emballage</a></li>
			<li><a href="choisir_four_mat.php">Modification MP/fournisseur</a></li>
			<li><a href="choisir_four_emb.php">Modification EMB/fournisseur</a></li>
			</ul>
			<h2>Prix de revient</h2>
			<ul>
			<li><a href="visupdr1.php">Visualisation</a></li>
			<li><a href="ajoutpdr.php">Ajout </a></li>
			<li><a href="visutempreel1.php">Calcul temp réel</a></li>
			</ul>
			<h2>Romuald</h2>
			<ul>
			<li><a href="romuald1.php">Listing des prix de revient</a></li>
			</ul>
			<h2>Fournisseur</h2>
			<ul>
			<li><a href="ajout_fournisseur.php.php">Ajout Fournisseur</a></li><li><a href="steph1.php">Commande founisseur</a></li><li><a href="commande_visualisation.php">Visualisation commande</a></li>
			</ul>
						<h2>Inventaire</h2>
			<ul>
			<li><a href="inventaire_mat1.php">Matieres premieres(beta)</a></li>
			<li><a href="inventaire_emb1.php">Emballage</a></li>
			<li><a href="recap_inventaire.php">Visualisation </a></li><li><a href="fiche-inventaire.php">fiche inventaire </a></li>
			</ul>
</div>
			<div id="contenu">
				<h2>Bienvenue</h2>
				Veuillez entrer une date:
<input type="text" name="date_livraison_commande" id="date_livraison_commande" value="<?php if(isset($_POST["idauteur"])) {echo $_POST["idauteur"];} else{ echo "";}?>" maxlength="10" size="10" onKeyUp="go()"><br>
<div id="info">
Veuillez rentrer votre code produit, Merçi!!! 
</div>

<div id="liste_commande" style="display: none" >

</div>

<div id="commande_check">
<?php
if(isset($_POST['ok']))
{
$server="l";
$user="";
$pass="";
$db="pdr";
mysql_connect($server,$user,$pass) or die('erreur de connexion');
mysql_select_db($db) or die ('impossible de se connecter a la base');

echo "testazerty";
//$values = array();

foreach ($_POST['id_commande'] as $key => $id_commande)
{ 
     if(check_commande_recu == 1)
	 {
	 echo 'id'.$_POST['id_commande'][$key].'-';

	 }
	 else
	 {
	 }
	//$query2=mysql_query($sql) or die(mysql_error() . $sql); 
	
} 
mysql_close();
}
echo '<pre>' . print_r($_POST, true) . '</pre>';
?>

</div>
				
</div>
<div id="information">
Ceci est la version v0.1a5. Merci de contacter Florent pour les bug rencontrés.
</div>


</div>

</body>
</html>
ajax.php
<?php
	
	if(isset($_POST["idauteur"])){
		mysql_connect("l","","");
		mysql_select_db("pdr");
		$test= $_POST["idauteur"];
		//echo $test;
		//$date_limite_max=(date(), time() + 7 * 24 * 60 * 60);
		list($jour,$mois,$annee) = explode('/',$test);
$test = $annee.'-'.$mois.'-'.$jour;
		$date_limite_max= $test + (time() + 7 * 24 * 60 * 60 );
		//echo $date_limite_max;
		$res = mysql_query("SELECT id_commande, DATE_FORMAT(date_livraison_commande, '%d/%m/%y') as date_livraison_commande, nom_four, url_commande FROM commande LEFT JOIN fournisseur ON fournisseur.id_four=commande.id_four
LEFT JOIN user ON user.id_user=commande.id_user
WHERE date_livraison_commande BETWEEN '$test' AND '$date_limite_max' ");
		//echo $res;
		$nb= mysql_num_rows($res);
		if ($nb == null){
		echo "erreur dans la date.";
} 
else 
{
echo '
<FORM name="validation" action="commande_visualisation.php">
<table width="770px">
<tr>
<td>Checked recu</td><td>ID</td><td>Date de livraison</td><td> Fournisseur</td><td>Commande</td>
</tr>	';
$nb =1;
		while($row = mysql_fetch_array($res)){
?>
<tr>
<td><input type="checkbox" name="check_commande_recu[]" value="1" onKeyUp="check()"></td>
<td><input type="text" name="id_commande[]" value="<?php  echo $row["id_commande"];?>"size="4" maxlength="4" readonly></td>
<td><?php echo $row["date_livraison_commande"]?></td>
<td><?php echo $row["nom_four"]?></td>
<td><a href="commande_four/<?php echo $row["url_commande"]?>" target="_blank">ICI</a></td>
</tr>

<?php
$nb=$nb+1;			
				}
?>
</table>
<input type="submit" method="POST" value="valider" name="ok" id="ok">
</FORM>
<?php
	}
	}
	print_r($_POST)
?>
Fonctionnement de la page:

- On arrive sur la page validation commande.php,
- je rentre la date grâce a ajax cela interroge ma base en temps réel et me renvoie le résultat sous forme de tableau.

J'ai ajouté dans ce tableau un cache checkbox. Et je voudrait que quand je valide (bouton) ou les checkbox sont cocher cela réalise une requête SQL.

Mais je n'y arrive pas. Lorsque je valide, je ne voit rien dans print_r

Ou est mon erreurs?

Merci pour votre aide

guigui69