Page 1 sur 1
Recuperation de l'URL
Posté : 11 juin 2006, 13:26
par polusdemus
Bonjour je suis en train de faire une plate forme de blog,
Il faut que je recupere le pseudo du joueur pour pouvoir selectionner ou afficher les données des differentes tables. Il faut que je prenne l'URl
exemple:
http://polusblog.com/toto/index.php ou contact.php
il faut que je recupere juste toto et j'enleve le reste, j'ai trouvé la fonction qui affiche l'URl mais çela ne marche pas.
j'ai fait une variable fausse pour vous faire voir ce que je veux
<?php
$url1 = $url_de_la_page;
$url2 = enleve("http://polusblog.com/", "/index.php ou contact.php" );
//je teste
echo "$url2"; // si tout marche ça doit afficher: toto
?>
Posté : 11 juin 2006, 13:33
par Cyrano
Je vais te donner une piste mais je te laisse la suivre :
explode("/", $url)
Suis la doc et essayes d'imaginer comment l'exploiter pour faire ce que tu veux

Posté : 11 juin 2006, 14:09
par polusdemus
ok!merci j'ai compris la fonction explode() mais la je n'arrive pas a faire amrcher la fonction qui permet d'afficher l'URL
Posté : 11 juin 2006, 14:27
par Cyrano
Et si tu nous montrais ce que tu as essayé de faire ? Même si il y a des erreurs, on aurait une chance de savoir d'où on part...
Posté : 11 juin 2006, 14:33
par polusdemus
et bien voila ce que j'ai fait:
<?php
$url1 = $HTTP_REFERRER;
$url2 = enlevr("http://polusblog.com", "/index.php");
echo "$url2";
PS: je ne me rappelle plus de la fonction que j'avais mit "enlevr".
Si j'ai compris la fonction explode() àa enleve ce qu'il y a après et avant un slash ?? Si c'est pas ça est ce qu'il existe une fonction pour

Posté : 11 juin 2006, 14:42
par Cyrano
Mouais, donc visiblement, tu n'as pas saisi l'intérêt de la fonction explode()...
Cette fonction va créer un tableau indexé contenant tous les éléments trouvés dans la chain passée en second paramètre, chaque élément étant séparé des autres par ce que tu indiqueras dans le premier paramètre.
Donc :
<?php
$url = "http://polusblog.com/toto/index.php";
$elts_url = explode("/", $url);
echo("<pre>\n");
var_dump($elts_url);
echo("</pre>\n");
?>
Va afficher :
Code : Tout sélectionner
array(5) {
[0]=>
string(5) "http:"
[1]=>
string(0) ""
[2]=>
string(13) "polusblog.com"
[3]=>
string(4) "toto"
[4]=>
string(9) "index.php"
}
Dis-moi maintenant si ça ne t'inspire pas une manière de traiter ton problème ?
Posté : 11 juin 2006, 15:17
par polusdemus
ba je ne comprends pas trop, est ce qu'il y a une autre façon de recuperer le pseudo du membre ?? car avec cette méthode si je l'ai comprise je dois choisir ce que je veux enlever mais ce que je veux garder!! Et aussi quelle est la fonction pour afficher l'URL
Posté : 11 juin 2006, 15:28
par agité
tu fais un $_GET['cequetuveuxrecup']
Le mieux pour moi etant de definir quand tu ouvre ta session un $_SESSION['login'] qui sera definis comme le pseudo de l'utilisateur quand il se log, ensuite tu recupere cette variable quand bon te semble en pensant a mettre des <?php session_start() ?> a chaque entête.
Donc par exemple quand tu veux recuperer le nom du gars pour l'afficher :
<?php
session_start();
if(isset($_SESSION['login'])
{
echo "Le nom du joueur est : ".$_SESSION['login'];
}else{
echo "Vous devez vous identifier pour jouer <a href="index?php">Retour</a>";
?>
Posté : 11 juin 2006, 15:33
par Cyrano
ba je ne comprends pas trop, est ce qu'il y a une autre façon de recuperer le pseudo du membre ?? car avec cette méthode si je l'ai comprise je dois choisir ce que je veux enlever mais ce que je veux garder!! Et aussi quelle est la fonction pour afficher l'URL
Réfléchis donc trente secondes : le pseudo que tu cherches est toujours l'avant-dernier élément du tableau obtenu avec explode() ... donc...

Posté : 11 juin 2006, 15:37
par polusdemus
oui mais je ne comrpends aps trop la fonction ??
je comrpends ce que tu veux dire et je sais ce qu'il faut faire mais je ne comrepnds pas la fonction !!
Je veux recuperer l'URL garder le deuxieme membre de l'URL mais je ne sais pas comment faire

Posté : 11 juin 2006, 15:46
par agité
Cyrano ta tout expliquer et je t'ai donner une autre methode je pense que maintenant tu peux te creuser un peu la cervelle pour trouve la solution non ?

Posté : 11 juin 2006, 16:01
par polusdemus
oui merci beaucoup a tout les deux mais ta solution ne me parrait pas adapter a la situation car sessionstart() c'est pour quelq'un de connecter ?
Posté : 11 juin 2006, 16:20
par agité
Oui je pensais que tu utilisais les session pour un jeu en ligne.
Posté : 11 juin 2006, 16:28
par polusdemus
Ah non !! je vais t'expliquer en fait je fais une plate forme de blog, toute la partie administration est fini car là c'est assez facile car je peux utiliser le sessionstart() alors que dans la partie visible par les visiteurs sessionstart() ne me serait d'aucune utilité, c'est pour cela que je demande votre aide
Posté : 11 juin 2006, 17:28
par Cyrano
Je t'ai tout affiché et tu ne vois pas encore, c'est désespérant. Si on reprend ce que j'ai illustré, on a $elts_url[3] = "toto" : c'est bien ce que tu cherches à récupérer non ?
On sait que elts_url est un tableau indexé. On peut déterminer le nombre de valeurs d'un tableau avec la fonction count(). On sait également qu'un tableau indexé automatiquement aura un premier index qui sera 0 (et non 1).
Donc si ton tableau contient x éléments, pour avoir l'avant dernier, il faut compter les éléments, soustraire 1 au résultat pour avoir l'index du dernier élément, et soustraire encore 1 pour avoir l'avant-dernier.
Pour le reste, il faut être simplement logique : si tu n'arrives pas à comprendre ça, ça ne servira pas à grand chose que je te donne un code tout fait, tu vas revenir tous les jours avec un nouveau problème sans rien apprendre en fin de compte.
