Recuperer et repondre php/ws

lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -  
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je travaille webservices en php

j'ai une liste déroulante se trouvant dans un formulaire dans ma page client,en gros mon probleme est que j'ai pas pu recuperer le resultat de cette liste déroulante dans mon webservice,
voilà ce que j'ai fait dans ma page client :

<form name="ff" action="mapageClient.php" method="post">
 <select name="maListeDeroulante"  id="pays"  >
 <?php while($retour=mysql_fetch_array($r)){
            echo '<option>'.$retour['p'].'</option>';}?>
 </select>
</form>


et voici la fonction que j appelle a partir de mon webservice:

function fonction(){
		if (isset($_POST['pays'])){
		$resultat='le pays est '.htmlspecialchars($_POST['maListeDeroulante']);}
		return $resultat;}


quelqu un peut m aider?

16 réponses

famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
assaye ça :

<form name="ff" action="mapageClient.php" method="post">
<select id="pays" >
<?php while($retour=mysql_fetch_array($r)){
echo '<option>'.$retour['p'].'</option>';}?>
</select>
</form>


et :


function fonction(){
if (isset($_POST['pays'])){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;}

a+
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
oui c est ce que j suis entrain de faire ,ds le forum jai remplacé 'pays' par 'maListeDeroulante' juste pour qu on comprend que j parle du nom de la liste deroulante
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
je reviens apres une petite pause a+
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
ya pas de soucis ^^
0

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

Posez votre question
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
resalut
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
est ce que ta fonction est appelée a partir du fichier 'mapageClient.php'

sinon pour etre sur tu fais un echo de :

$r= fonction();
echo $r;

s'il affiche le pays alors ta fct marche

sinon tu pe envoyer tout le script pour le voir et detecter les anomalies!!!
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
oui biensur j l appelle dans mapageclient.php en faisant ça:

	$sel = new nusoap_client("http://localhost/xampp/TestSoap/server.php");//path de mon ws
	$param = '';

	$result = $sel->call('mafonction', $param); // Calls the method
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
je pense que la fonction ne peu pas acceder a la variable $_POST['pays']

essaye ;

function fonction(){
global $

if (isset($_POST['pays'])){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;}
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
je pense que la fonction ne peu pas acceder a la variable $_POST['pays']

essaye ;

function fonction(){
global $r=$_POST['pays']; //creation d'une variable globale
if (isset($_POST['pays'])){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;}
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
je pense que la fonction ne peu pas acceder a la variable $_POST['pays']

essaye ;

function fonction(){
global $r=$_POST['pays']; //creation d'une variable globale
if (isset($r)){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;}
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
jai fait ce que tu m as dit, ça na rien fait ,le probleme est que meme mon firebug ne detecte aucune erreur !!j pense que ce fameux $_POST ne marche pas avec les ws et qu il ya autre solution pour faire paaser les parametres?
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
pardon j'ai oublié qqchose

il faut declarer $_POST['pays'] comme vartiable globale pas $r=...

alors :


essaye ;

function fonction(){

global $_POST['pays']; //creation d'une variable globale

if (isset($_POST['pays'])){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;}


j'espere que ça va marcher
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
rien ne change!!

mon but est : en cliquant sur une liste deroulante se trouvant dans une page client.php le ws prends ça comme parametre pour le redonner enfin a la meme page client en utilisant une simple fct d affichege dans un textarea.

voila mon code client.php :

<?php 
 	require_once('nusoap.php');
   
   	$sel = new nusoap_client("http://localhost/xampp/test2/testServer.php");
	
	$param = '';

	$result = $sel->call('jihene', $param); // Calls the method
	if($client->fault)
  	die("<h1>FAULT:</h1>Code: {$ins->faultcode}<br />"
  	. "Actor: {$ins->faultactor}<br />"
  	. "String: {$ins->faultstring}");
  
	print_r("<br><textarea cols='100' rows='15'>".$result."</textarea><br>");	
	 mysql_connect("localhost","root","");
	mysql_select_db("test");
   $r=mysql_query("SELECT pays p from pays");
 ?>
 <form name="ff" action="testClient.php" method="post">
 <select name="pays"  id="pays"   >
 <?php while($retour=mysql_fetch_array($r)){
            echo '<option>'.$retour['p'].'</option>';}?>
 </select>

 </form>




et voila le code ds mon ws:
require_once ("nusoap.php")
 $server = new soap_server();
 $server->configureWSDL('InteropTest','http://soapinterop.org/');
 $server->wsdl->schemaTargetNamespace = 'http://soapinterop.org/xsd/';

	  	   
	   $server->register('jihene',			// method name
array('inputString' => 'xsd:string',
'file' => 'xsd:string',
'language' => 'xsd:string'),				// input parameters
array('return' => 'xsd:string'),			// output parameters
'urn:ajiheneCall',				// namespace
'urn:jiheneCall#',				// soapaction
'rpc',										// style
'encoded',									// use
"documentation"								// documentation
);

	   function jihene(){
	    
if (isset($_POST['pays'])){
$resultat='le pays est '.htmlspecialchars($_POST['pays']);}
return $resultat;} 
     
       $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
       $server->service($HTTP_RAW_POST_DATA);
       if(isset($log) and $log != ''){
          harness('nusoap_r2_base_server',$server->headers['User-Agent'],$server->methodname,$server->request,$server->response,$server->result);
       }
    ?>




j espere que maintenet mon probleme depassage des parametre est plus clair!
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
a premiere vue il ya qqchose dans le qui ne convient pas

<form name="ff" action="testClient.php" method="post">
<select name="pays" id="pays" >
<?php while($retour=mysql_fetch_array($r)){
echo '<option>'.$retour['p'].'</option>';}?>
</select>

la fonction mysql_fetch_array retourne un tableau indexé par [1][2].....
pour acceder a tes colones de la table dans la memoire avec leurs noms de colonnes dans ta table physique ou avec l'alias il fo utiliser la fonction "mysql_fetch_assoc": "while($Data = mysql_fetch_assoc($SqlRequete))"

<form name="ff" action="testClient.php" method="post">
<select name="pays" id="pays" >
<?php while($retour= mysql_fetch_assoc($r)){
echo '<option>'.$retour['p'].'</option>';}?>
</select>
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
et cé normal qu'il t'affiche pas d'erreurs comme ça car pour lui il n'y a rien dans la variable $retour['p']
0
lilaaa Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   7
 
ya pas de prob avec le fetch_array ,jai deja essayé ca avant et ca marche... j ai enlevé le test (if) ds la fonction jiihene,et ça marche maintent ça me donne une alerte :' le pays est ' mais sans mentionner la variable pays, d apres ce que j ai compris ,$_POST['pays'] ne marche pas ici!! voilai ce que j ai ajouté au client.php:
<form name="ff" action="testClient.php" method="post">
    <select name="pays" id="pays">
       <?php while($retour=mysql_fetch_array($r)){
            echo '<option>'.$retour['p'].'</option>';}?>
    </select>
</form>
<script language="javascript">


var params = new SOAPClientParameters();
    params.add("type" ,document.getElementById("pays").value);    
 SOAPClient.invoke( 'http://localhost/xampp/test2/testServer.php', 'jihene', params, true, displayContent);  
 
 function displayContent(response){
  alert(response); 
 }
</script>



et j ai enlevé dans testServer le test dans la fonction qui est devenu comme ceci:
  function jihene(){

$resultat='le pays est '.htmlspecialchars($_POST['pays']);
return $resultat;} 



comme j l ai dit ça me donne l'alerte :' le pays est ' mais sans mentionner la variable pays,
0
famazigh Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
il y a $_GET["pays"] et dans ton form utilise <form name="ff" action="testClient.php" method="get">
lais c'est pas trop conseilé car $_get n'est pas securisé


sinon regarde ta fonction


il faut aussi ajouter une fonction qui fait soumettre ton formulaire apres la selection ou je ne sais pas quelque chose comme ça qui fait que le fourmulaire soit soumis apres la selection pour que les valeurs des champs vont se transmettre vers ton fichier de destination.... si ce n'est pas encore fait


si c'est ca le pb avec JS il y a la fonction submit() qui fait ça

j'espere que ça va t'aider
0