Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1130 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer l'id de session php a l'aide d'un regex

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recuperer l'id de session php a l'aide d'un regex

n°1393102
jol30
Fils caché de Chuck Norris
Posté le 22-06-2006 à 20:07:59  profilanswer
 

Bonjour  :hello:  
 
J'ai besoin de récupérer l'id de session php d'un site distant. Pour cela, je récupère
le source de la page par php. Je voudrais enssuite en extraire l'id de session par preg_replace,  
mais impossible de trouver un regex qui fonctionne.
 
Quelqu'un a une idée ?
 
Merci  :sol:

mood
Publicité
Posté le 22-06-2006 à 20:07:59  profilanswer
 

n°1393122
2xyo
2*yo = yoyo
Posté le 22-06-2006 à 20:26:55  profilanswer
 

L'id de session du site distant est stocké dans l'url ou un cookie ?


---------------
2 * yo = yoyo
n°1393134
jol30
Fils caché de Chuck Norris
Posté le 22-06-2006 à 20:42:27  profilanswer
 

2xyo a écrit :

L'id de session du site distant est stocké dans l'url ou un cookie ?


 
Dans les urls dans le code de la page sous forme de lien

Code :
  1. <a href="index.php?idsession=XXXXXXXXXXXXXX">lien</a>

n°1393382
jol30
Fils caché de Chuck Norris
Posté le 23-06-2006 à 01:06:55  profilanswer
 

Y fait chaud ce soir...  :ouch:  
 
 
 
 
 
 
 
 
(Up maskaÿ, je vous ai eu)

n°1394030
jol30
Fils caché de Chuck Norris
Posté le 24-06-2006 à 00:29:23  profilanswer
 

Up  :sarcastic:  
 
Y'a pas un HFRien qui s'y connait en regex ou quoi ?

n°1394034
afbilou
pouet your life
Posté le 24-06-2006 à 00:40:23  profilanswer
 

jol30 a écrit :

Up  :sarcastic:  
 
Y'a pas un HFRien qui s'y connait en regex ou quoi ?


T'as une chaine <a href="index.php?idsession=XXXXXXXXXXXXXX">lien</a>
et tu veux recupere le X ?
strpos et substr suffisent pour cela.

n°1394038
jol30
Fils caché de Chuck Norris
Posté le 24-06-2006 à 00:47:26  profilanswer
 

afbilou a écrit :

T'as une chaine <a href="index.php?idsession=XXXXXXXXXXXXXX">lien</a>
et tu veux recupere le X ?
strpos et substr suffisent pour cela.


 
Pour la précision  :(  
 
Alors qu'un bon vieux regex  :D  

n°1394039
afbilou
pouet your life
Posté le 24-06-2006 à 01:14:02  profilanswer
 

strpos + substr sera plus efficace que ta regex que tu ne sais pas ecrire de toute facon.

n°1398961
yves10
Posté le 02-07-2006 à 22:10:31  profilanswer
 

si tu veut juste remplacer ton id de session, j'ai fais ceci :
 
<?php
$texte = '<a href="index.php?idsession=XXXXXXXXXX">lien</a>';
$texte = preg_replace('!<a href="index\.php\?idsession=([.]+)">[.]</a>!', '<a href="index.php?id=$1', $texte);
 
?>
 
maintenant à toi de transformer la variable $1 en la variable que tu veut voir affiché à la place, tient moi au courant, sinon je t'aiderai  
 
@+


Message édité par yves10 le 02-07-2006 à 22:12:04
n°1398992
afbilou
pouet your life
Posté le 02-07-2006 à 22:32:09  profilanswer
 

Ca ne risque pas de marcher :s
 
[.] = le caractere point !
 
donc ton masque va matcher les chaine de ce genre :
 
<a href="index.php?idsession=.........................">.</a>
ou
<a href="index.php?idsession=...............................................................">.</a>
 
Ce genre de truc quoi :s

mood
Publicité
Posté le 02-07-2006 à 22:32:09  profilanswer
 

n°1399105
yves10
Posté le 03-07-2006 à 04:28:56  profilanswer
 

déja fait un test au lieu et tu verras,  
 
et tu comprendras que dans une classe, le . signifie [n'importe quel caractère]
 
alors sur ce, ou tu sais ou tu sais pas mais quand tu sais pas, tu dis rien!

n°1399106
yves10
Posté le 03-07-2006 à 04:38:10  profilanswer
 

pour la preuve fais un test en local avec ce code,
(je me demande pourquoi on passe du temps à coder pour les autres alors qu'ils ne testent même pas)
 

Code :
  1. <?php
  2. $texte = '<a href="index.php?idsession=cestbizarrejaiditqueçaallaispasetpourtantcamarcheheuheu2">lien</a>';
  3. $texte = preg_replace('!<a href="index\.php\?idsession=([.]+)">[.]</a>!', '<a href="index.php?id=$1', $texte);
  4. echo $texte;
  5. ?>

n°1399112
Hermes le ​Messager
Breton Quiétiste
Posté le 03-07-2006 à 07:45:47  profilanswer
 

yves10 a écrit :

pour la preuve fais un test en local avec ce code,
(je me demande pourquoi on passe du temps à coder pour les autres alors qu'ils ne testent même pas)
 

Code :
  1. <?php
  2. $texte = '<a href="index.php?idsession=cestbizarrejaiditqueçaallaispasetpourtantcamarcheheuheu2">lien</a>';
  3. $texte = preg_replace('!<a href="index\.php\?idsession=([.]+)">[.]</a>!', '<a href="index.php?id=$1', $texte);
  4. echo $texte;
  5. ?>



 
C'est bien pour ça qu'avant de cracher une solution à un mec, je prend en compte sa motivation. :/

n°1399206
afbilou
pouet your life
Posté le 03-07-2006 à 10:42:38  profilanswer
 

yves10 a écrit :

déja fait un test au lieu et tu verras,  
 
et tu comprendras que dans une classe, le . signifie [n'importe quel caractère]
 
alors sur ce, ou tu sais ou tu sais pas mais quand tu sais pas, tu dis rien!


  • dans une classe tout caractere perd sa specifité a l'exception de -, ] et \

donc [.] matche le caractere "." et non pas un caractere jocker.

  • ton exemple ne marche effectivement pas, comme attendu.
  • j'avais pas besoin de tester ... il n'y avait aucune ambiguite possible sur le fait que cela n'allait pas marcher.
  • dans l'hypothese que ca ait marché ... tu m'expliques l'utilite de mettre une classe pour un seul caractere ?
  • tu t'emportes facilement dit moi ... et quand t'es enervé tu reflechis n'importe comment, parce que tu n'as meme pas vu que ton test foirait [:petrus75] et quand ton preg_replace ne fonctionne pas, il te renvoie la chaine initiale parce qu'il n'a fait aucun remplacement [:petrus75]


Message édité par afbilou le 03-07-2006 à 10:55:16
n°1399436
yves10
Posté le 03-07-2006 à 13:29:34  profilanswer
 

absolument,  j'ai fait un test à l'arrache ce matin 04h10 et comme il me renvoyait le code initial, j'ai cru que ça fonctionnait, je rectifie de suite, dsl

n°1399445
yves10
Posté le 03-07-2006 à 13:37:07  profilanswer
 

voici le code qui fonctionne encore désolé, je suis mal luné au réveil  
 

Code :
  1. <?php
  2. $remplacement = '054cfsd25r4';// au pif
  3. $texte = '<a href="index.php?idsession=13rez56zer4fdqs68">lien</a>';
  4. $texte = preg_replace('!<a href="index\.php\?idsession=[a-z0-9]+">[a-z0-9]+</a>!i', '<a href="index.php?id=' . $remplacement . '>lien fonctionnel désormais</a>', $texte);
  5. echo $texte;
  6. ?>


 
voili voilou

n°1399474
jol30
Fils caché de Chuck Norris
Posté le 03-07-2006 à 14:04:36  profilanswer
 

Je vais tester ça  :whistle:  
 
Merci Yves :jap:


Message édité par jol30 le 03-07-2006 à 14:04:49

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Recuperer l'id de session php a l'aide d'un regex

 

Sujets relatifs
aide choix language programmationBesoin d'aide affichage variable en php
[SQL] Problème => Récupérer RefDossierMax (non entier)[Résolu]Récupérer l'id du dernier enregistrement d'une table MySql
aide pour petit script phpRécupérer valeurs sous forme d'1 tableau à partir d'un tableau de clés
récuperer les données de la fonction data arrivalbesoin d'aide css customisation index apache
eleve mp besoin d'aide pour convertir camel >>> pascalAide pour une requête!
Plus de sujets relatifs à : Recuperer l'id de session php a l'aide d'un regex


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR