Récupérer un paramêtre de formulaire via PHP

Fermé
Arckange84 Messages postés 1 Date d'inscription lundi 18 août 2008 Statut Membre Dernière intervention 18 août 2008 - 18 août 2008 à 17:16
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 - 18 août 2008 à 18:03
Bonjour, je travail sur la création d'un module qui exècute une requête sur une base Oracle via un script php. Le principe est que j'ai créé un petit formulaire dans lequel j'ai un champ de texte, me permettant de saisir une parcelle par exemple, et un bouton qui doit executer un script de connexion, requête, deconnexion à la base oracle. Mon soucis est que la chaîne de caractére saisie ne semble pas être lu par le script.

Ma requête en dur dans le script PHP marche lorque que je clic sur ce bouton, mais j'aimerais passé la chaîne de caractére saisie en variable de façon à automatiser ma requête. Voici les codes qui me sont utiles :

Le fichier javascript lié au bouton :

function queryResult(){
	var query = null; 
	 
	if(window.XMLHttpRequest) // Firefox 
	   query = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
	   query = new ActiveXObject("Microsoft.XMLHTTP"); 
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   return; 
	}
	
	// Exécution du script de connexion, requête et déconnexion à Oracle
	
	query.open("POST", "url/testOra.php", false);
	query.send(null);

	if(query.readyState == 4) {
		// affichage de la requête
		document.getElementById("queryOracle").innerHTML = query.responseText;
	}
}


Mon script PHP :

<?php
// Etape 1 : la connexion à la base Oracle
$user="" ; $passwd= ""; $host = "";
$conn1 = oci_connect($user,$passwd,$host);
	
	// Test de non connexion
	if (!$conn1) {
	exit;
	}
*/
//Etape 2 : Traitement de l'information enregistrée

// Ici il s'agit de couper la chaîne de caractéres saisie de façon qu'elle soit lisible par la base Oracle

// C'est cette partie qui semble ne pas fonctionner

if (isset($_POST['numParc'])){	
	$dept = substr($_POST['numParc'], 0, 5);
	$section = substr($_POST['numParc'], 6, 7);
	$num = substr($_POST['numParc'], 8, 9);
}

// Pas indispensable, il s'agit d'un test d'affichage de l'information
return $dept;
return $section;
return $num;


// Etape 3 : La requête
		$query = "select * from immeuble where code_organisme=03 and deptinsee=".$dept." and section='".$section."' and numero='".$num."'";
		
        $stid = OCIParse($conn1, $query);
        OCIExecute($stid, OCI_DEFAULT);

        print '<table border="1">';
        while ($succ = OCIFetchInto($stid, $row, OCI_RETURN_NULLS)) {
          print '<tr>';
          foreach ($row as $item) {
            print '<td>'.($item?htmlentities($item):'&nbsp;').'</td>';
          }
          print '</tr>';
        }
        print '</table>';

// Etape 4 : La déconnexion		
OCILogoff($conn1);

*/
?>


Enfin mon template :

<script type="text/javascript" src="url/fichier.js">
</script>

<fieldset><legend>{t}Interrogation Oracle{/t}</legend>
<div align="center">
	<form method="POST" name="Oracle" action="url/testOra.php"/>
	<input type="text" name="idParcelle" id="numParc" class="input_text" />
	<input type="button" name="requete" value="{t}Requete{/t}" class="form_button"
	onClick="javascript:queryResult();"/>
	</form>
</div>
</fieldset>
<br>
<div id="queryOracle">
<br>
</div>

1 réponse

macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
18 août 2008 à 18:03
Bonjour.

A vue de nez :
Javascript
query.open("POST", "url/testOra.php", false);

PHP
if (isset($_POST['numParc'])){

Tu n'envoies pas de variable dans le javascript.
A priori, si tu mets un else dans ton php, tu devrais y passer tout le temps.

Essaye :
Javascript
query.open("GET", "url/testOra.php?numParc="+<ici, tu mets la valeur que tu veux envoyer>,
 false);

PHP
if (isset($_GET['numParc'])){

1