Php / Js

Fermé
adagamer Messages postés 37 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 24 mai 2011 - Modifié par adagamer le 3/05/2011 à 15:14
adagamer Messages postés 37 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 24 mai 2011 - 29 avril 2011 à 13:52
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 mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
29 avril 2011 à 10:21
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 37 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 24 mai 2011 3
Modifié par adagamer le 3/05/2011 à 15:12
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 mercredi 23 février 2011 Statut Membre Dernière intervention 29 septembre 2016 80
29 avril 2011 à 13:27
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 37 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 24 mai 2011 3
Modifié par adagamer le 3/05/2011 à 15:11
okok merci pour ton aide.
0