[RESOLU] Utilisation d'un GET

Eléphant du PHP | 243 Messages

01 oct. 2013, 17:37

Bonjour à tous,

Je développe un panel et dans celui ci, j'ai intégrer un slider javascript. Jusque là tout fonctionne pour le mieux.
A chaque changement d'image, le lien de la page s'actualise.
Par exemple, si on passe de la première à la deuxième image, le lien passera de .../1.php#&slider=1 à .../1.php#&slider=2.
Tout ceci fonctionne, mais je rencontre un problème pour récupérer ce lien. Mon but est donc de récupérer ce lien.
Vous allez me dire, utilise un $_GET['...'], mais le soucis, c'est que ce GET ne récupère que ce qu'il y à après le lien seulement si ce lien comporte un "?" alors que moi, à la fin du lien j'ai un #&slider.
J'ai essayé avec le $_GET['#&slider'] mais j'ai l'erreur qui m'informe que le #&slider n'existe pas.
Et pour finir, il m'est impossible de remplacer le #& à la fin du lien par un ? car je ne m'y connais que très peu en javascript.

J'espère que vous aurez compris mon problème,
Merci,
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 oct. 2013, 20:14

salut,

tu ne récupère pas ce qu'il y a après le # (reste sur le navigateur vu qu'inutile coté serveur) donc il te modifier le script JS que tu as récupérer pour créer ce lien :)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 79 Messages

03 oct. 2013, 01:51

Bonjour,

Utilise la fonction parse_url().

$url = parse_url( $_SERVER['REQUEST_URI'] );

print_r( $url );

Dans ton cas c'est la clé fragment qui t’intéresse.

echo $url['fragment'];

http://php.net/manual/fr/function.parse-url.php

Ciao

Eléphant du PHP | 243 Messages

03 oct. 2013, 21:04

Merci de l'aide que vous m'apportez.
Mais je rencontre toujours un soucis. Lorsque j'essaye de récupérer le lien, avec
$url = parse_url( $_SERVER['REQUEST_URI'] );
, il ne récupère que le lien mais pas les valeurs après le lien.
J'ai fais une petite recherche et j'ai remarqué qu'il ne récupère les valeurs que si le lien comporte le ? : ...test.php?test=1
Mais là ou retombe mon problème, mon lien est composé par ...test.php#&test=1

Merci,
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Mammouth du PHP | 991 Messages

04 oct. 2013, 10:13

Bonjour à toi,


Alors comme la indiqué Moogli dans la composition d'une URL par exemple http://mon.exemple.com/hello.php?arg=1&arg=2#id1

Nous avons tout d'abord
http - Le protocole employé
mon - Le sous domaine
exemple - Le domaine
com - L'extension
/hello.php - La page appelée
[arg =1 , arg =2] - Les arguments envoyés a la page
id1 - Le fragment , la hashure ... j'ai plus le terme exact en tête.

Il faut savoir que la hasure est une donnée qui n'est pas transmise au serveur lors de l'appel , elle sert UNIQUEMENT a l'affichage de la page résultant de ton appel ici hello.php , ainsi si par exemple tu as
<div id="id1">Ma div</div>
Le navigateur va par défaut scroller ta page automatiquement jusqu'au conteneur identifié, et dans ton cas se comportement est intercepté par le script javascript qui procède a un traitement particulier.

Donc a moins de trouvez un moyen de transmettre cette information à ta page en temps que data , et non pas en temps que URL , par exemple en faisant un appel AJAX ou tout autre moyen et de faire le traitement avec la fonction parse_url(); , sinon il te faudra changer le comportement de ton script JS pour que l'appel soit http://mon.exemple.com/hello.php?slider=0

Cordialement, thehawk.
DevOps, Symfony4, Hoa

Eléphant du PHP | 243 Messages

05 oct. 2013, 14:30

Merci de votre réponse.
Donc donc bien mon idée de départ. Je vais donc devoir me mettre au javascript.
Si quelqu'un à une autre petite idée qui permettrait d'envoyer les valeurs sans toucher au javascript, je suis preneur.
En tout cas, merci beaucoup.
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini