Focus

abba12 -  
Atropa Messages postés 2051 Statut Membre -
Bonjour,

Salut tous;
Je fait un programme qui permet de:
- Saisir le numéro d'un élève
- Après qu'on perd le focus, on se connecte à la base
- Sélectionner le nom et le prénom de l'élève dont le numéro est déjà saisi
- Afficher les résultats dans les formulaires Nom et Prénom
Je fais l'essai suivant mais il ne marche pas aidez moi svp

*******************
<html>
<head>
<title>indexe</title>

<script type="text/javascript">
function calcul()
{

}
function refresh(n)
{ var n ;
var value1 = document.getElementById('nm').value;
if (n==1)
{
clearTimeout(timer);
window.location= 'index.php ';
document.ff.nmm.value=parseInt(value1);
}

}
var timer=setTimeout(refresh,2000);
</script>

</head>

<body>
<?
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("refresher");

?>
<form name="ff" action="file:///C|/Program%20Files/xampp/htdocs/header/index.php" method="post">
Num: <input type="text" name ="nmm" id="nm" onBlur="refresh(1)" > <br>
<?
$nm=$_POST['nmm'];
$inf = mysql_query("SELECT * FROM eleve WHERE num='$nm'");
$ar_inf=mysql_fetch_array($inf);
?>
nom:<input type="text" name='nom' value="<? echo $ar_inf[1]; ?>"> <br>
prénom:<input type="text" name='prenom' value="<? echo $ar_inf[2]; ?>">
</form>
</body>
</html>
**********************************
merciiiii

1 réponse

  1. Atropa Messages postés 2051 Statut Membre 274
     
    bonjour,

    alors ton code ne peut pas fonctionner.

    essai celui ci :

    <?php
    
    	function secure($mixed) {
    		$object = false;
    		if(is_array($mixed) || (is_object($mixed) && get_class($mixed) === 'stdClass')) {
    			if(!is_array($mixed)) {
    				$mixed = (array)$mixed;
    				$object = true;
    			}
    			foreach($mixed as $key => $value) {
    				if(is_array($value) || (is_object($mixed) && get_class($mixed) === 'stdClass')) $mixed[$key] = secure($value);
    				else if(is_string($value)) $mixed[$key] = htmlentities($value,ENT_QUOTES);
    				else $mixed[$key] = $value;
    			}
    			return ($object)? (object)$mixed : $mixed;
    		}
    		elseif(is_string($mixed)) return htmlentities($mixed,ENT_QUOTES);
    		else return $mixed;
    	}
    
    	function recep() {
    	/*
    		requete sql et affichage des données en json pour XHR;
    	*/
    		$num = (int)$_POST['num'];
    		
    		$pdo = new PDO('mysql:host=localhost;dbname=refresher','root','');
    		$req = $pdo->prepare('SELECT nom,prenom FROM eleve WHERE num=:num LIMIT 1');
    		$req->execute(array('num' => $num));
    		$val = $req->fetch(PDO::FETCH_OBJ);
    		$req->closeCursor();
    		if(is_object($val)) echo '('.json_encode($val).')';
    		else echo 0;
    		exit();
    	}
    	
    	if(!empty($_POST)) $_POST = secure($_POST);
    	if(!empty($_GET)) $_POST = secure($_GET);
    	if(!empty($_POST['num'])) {
    		recep();
    	}
    
    ?>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title>indexe</title>
    
    		<script type="text/javascript">
    		<!--
    			function trim(string) {
    				return string.replace(/^\s+/g,'').replace(/\s+$/g,'')
    			} 
    		
    			function XHR() {
    				var requete = null;
    				try { requete = new XMLHttpRequest(); }
    				catch (microsoft) {
    					try { requete = new ActiveXObject('Msxml2.XMLHTTP'); }
    					catch(autremicrosoft) {
    						try { requete = new ActiveXObject('Microsoft.XMLHTTP'); }
    						catch(echec) { requete = null; }
    					}
    				}
    				if(requete == null) alert('Votre navigateur ne semble pas supporter les object XMLHttpRequest.');
    				return requete;
    			}
    			
    			function refresh(e) {
    				var elm = e.target; /* on récupère l'élément */
    				var Xhr = new XHR(); /* REQUETE XHR */
    				Xhr.open('post','<?php echo $_SERVER['REQUEST_URI']; ?>',true);
    				Xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    				Xhr.send('num='+elm.value);
    				Xhr.onreadystatechange = function(){
    					if (Xhr.status == 200 && Xhr.readyState == 4) {
    							/* RECEPTION */
    							var value = eval(Xhr.responseText);
    							if(value.nom && value.prenom) {
    								document.getElementById('nom').value = value.nom;
    								document.getElementById('prenom').value = value.prenom;
    							}
    							else alert('cet élève n\'existe pas');
    					}
    				}
    				return false;
    			}
    			
    			function view(elm,id,z) {
    				var a = '';
    				var value;
    				if(z) a = elm;
    				else for(value in elm) a += value+'<br />';
    				if(!document.getElementById(id)) {
    					var ad = document.createElement('div');
    					ad.id = id;
    					ad.style.backgroundColor = 'white';
    					document.body.appendChild(ad);
    				}
    				document.getElementById(id).innerHTML = a;
    			}
    		//-->
    		</script>
    
    	</head>
    
    <body>
    	<form action="" method="post">
    	<div>
    		<label for="num">Num: </label><input type="text" name ="num" id="num" onBlur="refresh(arguments[0])" /> <br>
    		<label for="nom">nom: </label><input type="text" id="nom" name="nom" /> <br>
    		<label for="prenom">prénom: </label><input type="text" id="prenom" name="prenom" />
    	</div>
    	</form>
    </body>
    </html>
    0