Probleme d'espace dans les pseudos

Répondre
goomy
le 01/10/2004 à 20:06
goomy
Salut la compagnie,

Voilà, je suis webmaster d'un site Nuked-Clan où j'ai installé un module récement pour lancer Teamspeak (qui est un client de communication audio, pour ceux qui l'ignore)

Mais le probleme c'est que certain de mes membres ont des pseudo qui comporte des espace dans leur nom ex: Le Daron

Le lien qui est renvoyé pour ouvrir teamspeak ne semble pas supporter les espace et donc n'est pas complet...

Voici la source:

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1681]ce lien[/lien])


Le lien d'ouverture de programme Teamspeak est le suivant:

echo('<a href=teamspeak://'.$ipteamspeak.':'.$portteamspeak.'?nickname='.$userts.'?password='.grrrrr.'><font size=2><center>Se connecter</center></font></a><br>');
echo"</center>";


Donc ce que je voudrait, c'est que s'il y des espaces dans $userts, il y ait un remplacement de celui-ci par "%20"

Merci à l'ame charitable qui m'aidera

@ pluche
LA GLOBULE
le 01/10/2004 à 20:47
LA GLOBULE
Tu peux utiliser urldecode pour transformé tes %20 en espace.

Utiliser urlencode si tu veux faire l'inverse (je n'ai pas trop compris dans quel sens tu voulais le faire).
goomy
le 02/10/2004 à 10:33
goomy
En fait La Globule,

quand les membres de ma board clic sur "me connecter", il y a leur programme de Teamspeak, installé sur leur pc qui s'ouvre et qui, grace à l'url de connexion, les envoie directement sur mon serveur Teamspeak....

Tout vas bien pour ceux qui on des Nom comme moi: Goomy ....... mais le Pb c'est pour ceux qui on de nom comme toi : La Globule

L'espace entre "La" & "Globule" ne permet pas de rejoindre le serveur !!!!

Je te donne le bon code pour rejoindre le serveur Teamspeak:

teamspeak://adresse_ip:port/?nickname=GoOmY?password=grrrrrrrr


Bien que les infos soit effacé car confidentiel, ce code qd il est complété marche nikel...

Par contre quand qqu'un comme toi à un nom composé, ex: La Globule, ça donne ça:

teamspeak://adresse_ip:port/?nickname=La


Donc tu vois que le navigateur ne prend pas en compte l'espace dans les noms des membres puisqu'il bloque l'adresse au niveau de l'espace du pseudo.

Dans le script que j'ai joint plus haut, le nickname = $userts et donc j'aurais voulu savoir ce que je pouvais faire pour que le $userts prenne en compte l'espace dans les noms et lui faire comprendre que s'il y a des espaces dans les noms il faut les remplacer par "%20"

La solution correcte serait:

teamspeak://adresse_ip:port/?nickname=La%20Globule?password=grrrrrrrr


Voilà, je continue à chercher mais vu que je suis autodidacte, j'ai des grosses difficultés....

Donc je solicite les pros pour un coup de main: MERCI D'AVANCE !!!!!
goomy
le 02/10/2004 à 10:45
goomy
En fait je pense ce devrait un truc dans le style:

if ($userts = espace dedans)......... changer cet espace en "%20"

Voilà mais bon je ne sais pas comment faire !!!!

Et j'aimerais ne pas conteindre mes membres à ne pas utiliser des noms composés.

Merci encore
moogli
le 02/10/2004 à 11:09
moogli
salut,


la connection se fait via un soft (une exe) ou une page web.

Pour les cas ou tu as un truc de connection sur une page web (comme ici) La Globule ta donné la solution url encode permet de changer les caractère spèciaux vers leur équivalents (espace %20 ) :) urlencode

si c'est un soft qui te connect (ce que j'ai compris) ta 2 solutions :
1 - tu as les sources du soft et tu modifie pour qu'il remplace les espaces de pseudo en %20 (car la c pas ta page php qui merde mais le soft donc tu peut rien faire avec ton site)
2 - tu interdit les espace dans les pseudos smiley

Si tu as dévellopé le soft je pense que le 1 te sera facile sinon ben c'est pas gagné d'avance.
@+
Il en faut peu pour être heureux !!!!!
goomy
le 02/10/2004 à 12:06
goomy
Merci Moogli,

J'aurais souhaité que vous m'indiquiez comment rajouter ce urlencode dans mon lien, svp......

teamspeak://'.$ipteamspeak.':'.$portteamspeak.'?nickname='.$userts.'?password='.passtds.'


Merci d'avance car là je ne vois pas comment l'intégrer
allserv
le 02/10/2004 à 12:39
allserv
Tu peux faire cela :

$userts = urlencode($userts);
teamspeak://'.$ipteamspeak.':'.$portteamspeak.'?nickname='.$userts.'?password='.passtds.'
goomy
le 02/10/2004 à 13:01
goomy
Merci les gars pour votre aide,

La solution de allserv est la bonne: CA MARCHE !!!!!!!

Un grand merci encore et @ pluche
moogli
le 02/10/2004 à 13:06
moogli
de rien


mais la prochaine fois explique mieux :)

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours