Php / Js

adagamer Messages postés 42 Statut Membre -  
adagamer Messages postés 42 Statut Membre -
Bonjour à tous, j'ai un petit soucis je développe en quelquesorte une appli web qui permet la recherche de produit, mais j'ai un soucis c'est que je récupére bien les réponses que j'entre mais l'appli ne veux pas me retourner les produit que je veux afficher.

En réalité j'aimerai savoir la syntaxe a utiliser pour mettre dans ce morceau de code la description de mes produit soit la partie ici car à mon avis c'est de la que vient le probléme:

(<?php echo $reponse[2] ?> <?php echo $reponse[1] ?>)

Merci d'avance


<script language="JavaScript" src="http://.../pf/pf?a=1719736&minPrice=200.0&maxPrice=<?php echo $reponse[3] ?>&&programs=44601,15793,72508,59289&description= 
(<?php echo $reponse[2] ?> <?php echo $reponse[1] ?>)&xslUrl=http://... 
com/images/xsl/xsl16. 
xsl&xslParamName1=page&xslParamValue1=0&xslParamNam 
e2=pageSize&xslParamValue2=9&maxResults=20&firstResult=0 
&oe=UTF-8&js=true" charset="UTF-8"></script> 



A voir également:

3 réponses

boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   80
 
bonjour,
avec les réponses on souhaite ici constituer une adresse (URI); or une adresse doit respecter un standard .. et notamment certains caractères non autorisés sont remplacés par des séquences du type %nn
(voir test en bas de page) cf. http://www.permadi.com/tutorial/urlEncoding/

Ici il faut ajouter la fonction PHP "urlencode(machaine)" sur chaque composant de l'URI.

doc. https://www.php.net/manual/fr/function.urlencode.php

dans l'exemple çà donnerai quelque chose du genre :
<?php
$maxpriceEncoded = urlencode($reponse[3]);
$mavar2Encoded = urlencode($reponse[2]);
(etc...)
$scriptUrl = "http://pf.tradedoubler.com/pf/pf?a=1719736&minPrice=200.0&maxPrice=$maxpriceEncoded&programs=44601,15793,72508"
?>
puis
<script language="JavaScript" src="<?php echo $scriptUrl; ?>" charset="UTF-8"></script>
0
adagamer Messages postés 42 Statut Membre 3
 
Donc en gros je dois raccorder une variable pour chaque réponse ?

<?php 
 // Récupération des réponses 
 if(isset($_POST['nombreEcrans'])) { 
  $nombreEcrans = $_POST['nombreEcrans']; 
  for($i=1; $i <= $nombreEcrans;$i++) { 
   $reponse[$i] =  $_POST['q'.$i]; 
  } 
  echo "Vous cherchez donc un ordinateur: <br/><br/>"; 
                echo "<b>de type: </b>".$reponse[1].'<br/><br/>'; 
  echo "<b>qui est un: </b>".$reponse[2].'<br/><br/>'; 
  echo "<b>pour un budget maximum de: </b>".$reponse[3].' €<br/>'; 

 } else { 
  echo 'Impossible de trouver le nombre de réponses.<br />Vérifiez la variable <b>nombreEcrans</b> de la page précédente.'; exit; 
 } 
?>


Ça c'est le code qui me permet d'avoir mes variables réponses sur lesquelles je peux travailler dans l'url.

<?php 
$maxpriceEncoded = urlencode($reponse[3]); 
$mavar2Encoded = urlencode($reponse[2]); 
$mavarEncoded = urlencode ($reponse[1]); 
$scriptUrl = "http://....com/pf/pf?a=1719736&minPrice=200.0&maxPrice=$maxpriceEncoded&programs=44601,15793,72508,59289&description=(mavar2Encoded&mavarEncoded)&xslUrl=http://....com/..." 
?>


Ça c'est ce que j'obtiens en faisant se que tu me dis, du moins si j'ai bien compris...

<script language="JavaScript" src="<?php echo $scriptUrl; ?>" charset="UTF-8"></script>


et donc la l'appel.

Mais ça ne fonctionne pas il doit y avoir un soucis mais je n'arrive pas à voir ou exactement
0
boly38 Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   80
 
la fin me parait correcte sauf la description où le signe "&" doit être lui aussi encodé (car normalement il sépare 2 paramètres).
pour la description çà sera donc plutôt une seule variable comme ceci :
$mavarEncoded = urlencode ("(" . $reponse[1] . "&" . $reponse[2] . ")");

puis après :
... description=$mavarEncoded&xslUrl=


aussi une piste pour trouver plus facilement l'erreu sera de regarder le source (généré) de la page pour voir le résultat de l'URI (certains navigateur permettent même de cliquer sur le lien pour constater les sources JS)
0
adagamer Messages postés 42 Statut Membre 3
 
okok merci pour ton aide.
0