8797 sujets

Développement web côté serveur, CMS

Bonjour,

j'aimerais qu'en fonction de la variable $_GET mon code javascript change, ce n'est pas du code compliqué mais je suis perdu dans les " et les ' ...

function vote(note) 
{
var donnees = null;
<? echo "donnees = 'vote='+note+'&id='+".$_GET["id"]; ?>;
alert(donnees);

<form><input type="button" value="Plus" onclick="javascript:vote('plus');" /><input type="button" value="Moins" onclick="javascript:vote('moins');" /></form>


Après j'envois la varible donnees avec :

xhr_object.open("POST", "script_vote.php", true);
xhr_object.send(donnees);
Salut,

tu pourrais essayer :
<?php
$id = (isset($_GET["id"])) ? $_GET["id"] : 0;
?>
donnees = 'vote='+note+'&id='+<?php echo $id ?>;


A+ Smiley smile

switch ($_GET[ id ])
{
case 01:
	echo "ma chaine de caracteres";
	break;
case 02:
	echo "mon autre chaine de caracteres";
	break;
default:
	echo "chaine de caracteres par defaut";
}


Ceci, pour des URLs de type http://www.monsite.com/?id=01, http://www.monsite.com/?id=02, etc...

Évidemment, tu changes la valeur entre crochets et les "case" selon tes désirs.

Note => pas d'espace dans $_GET[ id ], mais ça fait un smiley...

---
[ED!T]
Burned de chez burned, je suis cuit à point, là Smiley bawling
Modifié par Captain Ishido (23 Jul 2007 - 19:01)
Captain Ishido a écrit :
Burned de chez burned, je suis cuit à point, là Smiley bawling

Ouaip ! Smiley lol

D'autant que ta solution n'est pas super fiable : en supposant qu'id puisse aller de 1 à 1000 tu devrais écrire 1000 case !!! Smiley eek
Merci pour votre aide en bidouillant avec tout ça je me suis rendu compte de l'erreur


<? echo "donnees = \"vote=\"+note+\"&id=".$_GET["id"]."\""; ?>;


et non pas

<? echo "donnees = \"vote=\"+note+\"&id=\"+".$_GET["id"]; ?>;


Car dans le 2ème javascript attend une variable pour l'id alors que je veux lui donner une chaîne.
Heyoan a écrit :

Ouaip ! Smiley lol

D'autant que ta solution n'est pas super fiable : en supposant qu'id puisse aller de 1 à 1000 tu devrais écrire 1000 case !!! Smiley eek

On met ce qu'on veut dans la barre d'URL (comme je l'ai indiqué dans mon post). S'il veut coller un ID avec des chiffres, il le fait. Mais il peut mettre ce qu'il veut, c'est lui qui gères.
ToxiK a écrit :
<? echo "donnees = \"vote=\"+note+\"&id=".$_GET["id"]."\""; ?>;

Tu peux un peu alléger le code avec des singles quotes Smiley smile Et remplace <? par <?php pour la portabilité. Et pas besoin de concaténation avec echo (remplace les points par des virgules). Pas besoin du point-virgule à la fin. Pour la partie JS, si donnees n'est pas encore déclaré, préfixe par var.

<?php
  echo 'var donnees = "vote=" + note + "&id=', $_GET['id'], '"' ?>;


:) Smiley smile