Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2011, 08h00   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Par défaut recuperation ID balise A

Bonjour,

Est-il possible de récupérer l'id présent dans une balise <a>, lors d'un clique sur celle -ci ?
En sachant que la balise
Code :
<a> à l'option target="_blank"
, ce qui provoque l'ouverture d'une nouvelle fenêtre.

Exemple:

Code :
<a target="_blank" href="http://www.site.com"  id="254'>titre site</span></a>
Merci bcp
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 10h31   #2
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Récupérer comment? JS? PHP?
Pourquoi faire?
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 12h23   #3
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Le but est que lors du clique sur la balise <a>, cela m'ouvre un nouvelle fenêtre avec le lien en question.
Et ensuite j'insére en bdd l'id correspondant.
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 14h44   #4
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par omelhor Voir le message
Le but est que lors du clique sur la balise <a>, cela m'ouvre un nouvelle fenêtre avec le lien en question.
Et ensuite j'insére en bdd l'id correspondant.
Alors, ce serait pas plus simple de faire :
Code :
<a href="http://monsite.fr/redirect/?id=254" target="_blank">titre site</a>
puis dans index.php (dans le dossier redirect, cf l'exemple ci-dessus)

Code :
1
2
3
4
5
6
7
8
9
10
$id = is_numeric($_GET['id']) ? $_GET['id'] : null;
if(is_null($id)) {
   echo 'Cet id n\'existe pas.';
   exit;
}else{
   // Enregistrement dans la base
   // Récupération de l'$url par rapport à l'$id
   header('Location: '.$url);
   exit;
}
Bien sûr, je suppose que dans ta base id = 254 équivaut à url = http://www.site.com d'après ton exemple.

Si ce n'est pas le cas, il faudrait passer l'url et l'id.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 19h27   #5
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Le problème c'est que je fait pas de direction, j'ai que des liens direct vers mes sites partenaires.
Je veut que le lien soit le plus rapide possible (je veut faire des stats sur des flux RSS que j'affiche), pas de redirection.

L'id présent dans mon URL, pourrait etre aussi bien une chaine de caractère comme site1, site2, aucun rapport avec l'URL.

Et donc je me suis dit qu'en lui mettant un identifiant, via un petit coup de jquery j'arriverais à récupérer mon id, pour incrémenter le nombre de clic dans ma bdd.

Le problème c'est que ça m'ouvre bien, l'url de mon partenaire, mais quand je fait apppel à la mienne via Ajax, ça semble tourner en rond.
J'ai l'impression quand la fenetre vers mon partenaire s'ouvre, le navigateur considère que s'est "terminé" ???
Code :
1
2
3
4
5
6
7
8
9
10
11
 
$('#fluxindex a').click(function(event){
	var res = $(this).attr('id');
	send_ajax(res);
});
 
 
 
function send_ajax(res){
	$.get('/stat-partenaire.php',
	{variable : res});

Citation:
Envoyé par Shikiryu Voir le message
Alors, ce serait pas plus simple de faire :
Code :
<a href="http://monsite.fr/redirect/?id=254" target="_blank">titre site</a>
puis dans index.php (dans le dossier redirect, cf l'exemple ci-dessus)

Code :
1
2
3
4
5
6
7
8
9
10
$id = is_numeric($_GET['id']) ? $_GET['id'] : null;
if(is_null($id)) {
   echo 'Cet id n\'existe pas.';
   exit;
}else{
   // Enregistrement dans la base
   // Récupération de l'$url par rapport à l'$id
   header('Location: '.$url);
   exit;
}
Bien sûr, je suppose que dans ta base id = 254 équivaut à url = http://www.site.com d'après ton exemple.

Si ce n'est pas le cas, il faudrait passer l'url et l'id.
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 19h51   #6
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Essayez de modifier :

Code :
1
2
3
4
5
6
7
8
$('#fluxindex a').click(function(event){
        event.preventDefault(); // empêche l'action du click
        var url = $(this).attr('href'); // récupère l'href
	var res = $(this).attr('id'); // Récupère l'id
	$.get('/stat-partenaire.php', {variable : res}, function(data){
            window.open(url, '_blank');
        }); // Fait la requête ajax en GET, une fois réussie, ça ouvre la nouvelle fenêtre avec le bon site :)
});
Si le JS est désactivé, seule la page sera affichée mais les statistiques seront alors erronées comparé à ma méthode de base

Après là, c'est en mode asynchrone : tant que la requête AJAX n'aura pas finit, la page ne s'ouvrira pas. jQuery propose des réglages pour l'AJAX à ce niveau.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2011, 20h50   #7
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Citation:
Envoyé par Shikiryu Voir le message
Essayez de modifier :

Code :
1
2
3
4
5
6
7
8
$('#fluxindex a').click(function(event){
        event.preventDefault(); // empêche l'action du click
        var url = $(this).attr('href'); // récupère l'href
	var res = $(this).attr('id'); // Récupère l'id
	$.get('/stat-partenaire.php', {variable : res}, function(data){
            window.open(url, '_blank');
        }); // Fait la requête ajax en GET, une fois réussie, ça ouvre la nouvelle fenêtre avec le bon site :)
});
Si le JS est désactivé, seule la page sera affichée mais les statistiques seront alors erronées comparé à ma méthode de base

Après là, c'est en mode asynchrone : tant que la requête AJAX n'aura pas finit, la page ne s'ouvrira pas. jQuery propose des réglages pour l'AJAX à ce niveau.
ca marche merci bcp !!!!
C'est vraie que la méthode de base, est carré côté stat, mais je cherche pas à avoir des "stats exact", du moins pas dans l'immédiat/

Juste une dernière question, j'ai changé un peut ton code.
Le but est que si au bout de 1500 sec, si j'ai pas de retour de ajax, je force l'ouverture fenetre de mon partenaire, tant pis pour mes stats. Ca à l'air de marché mais si tu pouvais me confirmer le code stp ??? jquery/ajax c'est tout nouveau pour moi


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#fluxindex a').click(function(event){
	event.preventDefault(); 
	var url = $(this).attr('href'); 
	var res = $(this).attr('id'); 
	$.ajax({	url :'/stat-partenaire.php', 
			type: "POST",
			timeout : 1500,
			data : "name="+res, 
			success: function(data){
				window.open(url, '_blank');
			}, 
			error: function(data){
				window.open(url, '_blank');
			} 
		});
});
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 09h44   #8
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Mauvaise nouvel pour moi.
J'ai fait un test au taf sous unbuntu, et il semble que firefox et chrome interpréte le

Code :
window.open(url, '_blank');
comme un popup, les fenêtres des parternaire ne s'ouvrent plus

N'y a t'il pas une autre solution de contournement ?
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h10   #9
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 709
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 709
Points : 3 279
Points : 3 279
Salut

J'ai tenté de suivre ce topic et le problème, je ne parviens pas à voir l'intérêt de jQuery.

Si tu mets un simple lien (donc <a href="">...</a>) avec un attribut "target" et _blank, ça va ouvrir une nouvelle fenêtre. (ou onglet, ça dépend comment est configuré le navigateur du client), et ça sans redirection donc.

Et bien en rajoutant l'information (un ID ou autre) en paramètre, et ensuite récupérer cette info dans la nouvelle page (avec $_GET) et faire l'incrémentation à ce moment là, en quoi ceci ne serait pas correcte, qu'est ce qui clocherait ?

Aussi, en admettant que le faire en jQuery soit nécessaire, et bien il n'y a pas à faire de "window.open()".
Pour un lien, et en laissant le target/_blank, ça va ouvrir une nouvelle fenêtre (ou onglet), et ça, quoi qu'il arrive.
Donc faire un "window.open()" sur un lien c'est en quelque sorte faire la même chose ce que fait déjà un lien, ce qui devient limite absurde (sans que ça soit péjoratif).
Si la balise n'était pas un lien, alors oui, là on peu envisager de combler le manque via du JS.
En somme, et sauf erreur, tu ne souhaite pas faire une redirection, mais ce que fait le jQuery reste néanmoins la même chose qu'une redirection.

En résumé, s'il y a quelque chose à faire lors du click (le jQeury, genre une incrémentation), on fait juste l'incrémentation, et c'est tout, sans plus (sous entendu, on laisse le lien ouvrir la bonne page, dans une nouvelle fenêtre ou pas, peu importe).
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 10h43   #10
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par omelhor Voir le message
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#fluxindex a').click(function(event){
	event.preventDefault(); 
	var url = $(this).attr('href'); 
	var res = $(this).attr('id'); 
	$.ajax({	url :'/stat-partenaire.php', 
			type: "POST",
			timeout : 1500,
			data : "name="+res, 
			success: function(data){
				window.open(url, '_blank');
			}, 
			error: function(data){
				window.open(url, '_blank');
			} 
		});
});
à 1ère vue, ça m'a l'air bon.
Citation:
Envoyé par omelhor Voir le message
Mauvaise nouvel pour moi.
J'ai fait un test au taf sous unbuntu, et il semble que firefox et chrome interpréte le

Code :
window.open(url, '_blank');
comme un popup, les fenêtres des parternaire ne s'ouvrent plus

N'y a t'il pas une autre solution de contournement ?
Pas que je connaisse en JS. window.open fonctionne de manière différente selon les navigateurs, leurs configurations et l'OS.
Sinon, c'est l'ouverture dans la même fenêtre avec window.location
doc là dessus


Citation:
Envoyé par RunCodePhp Voir le message
Et bien en rajoutant l'information (un ID ou autre) en paramètre, et ensuite récupérer cette info dans la nouvelle page (avec $_GET) et faire l'incrémentation à ce moment là, en quoi ceci ne serait pas correcte, qu'est ce qui clocherait ?
A priori, le lien n'est pas vers une page lui appartenant. Donc lui ne peut avoir accès au paramètre en GET.
Donc, d'après moi, c'est :
  • Soit passage par une page de son site puis redirection
  • Soit requête AJAX en même temps que l'ouverture de la page

Les 2 ont des avantages et des inconvénients. La redirection empêche de voir le lien direct et pour le SEO, c'est pas tip top. La requête AJAX peut ne pas fonctionner (ou ne pas être lancée du tout si JS desactivé), les stats seront fausses.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h09   #11
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 709
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 709
Points : 3 279
Points : 3 279
Citation:
A priori, le lien n'est pas vers une page lui appartenant. Donc lui ne peut avoir accès au paramètre en GET.
Effectivement.

Mais ça ne change rien au problème du "window.open" qui reste inutile.
De plus, on ne fait que récolter les 2 inconvénients que tu viens de citer :
- L'URL du lien ne pointant pas vers la page désirée, du coup coté référencement c'est pas top.
- Si JS est désactivé coté poste client la nouvelle fenêtre ne s'ouvrira pas (et l'incrémentation n'aura lieu).

Si c'est l'Ajax qui est adoptée, je ne vois vraiment pas l'utilité de faire ce "window.open".
Dans le code Ajax, il y aurait juste à faire l'incrémentation, donc de faire pointer l'URL de cette Ajax vers la page qui se charge à incrémenter avec le paramètre, et c'est tout.
C'est ce que je suggérais à la fin.

Dans le lien (le <a></a>), il faut indiquer la vrai URL de destination, le target/blank se chargera de l'ouvrir dans une nouvelle fenêtre (ou onglet).
On optimise du coup le référencement.



A coté de ça, la méthode window.open est faite comme ceci :
Code :
window.open("URL","nom_de_la_fenetre","options_de_la_fenetre");
Donc en 2ème paramètre c'est le nom de la fenêtre.
Mais ça ne sert à rien d'indiquer "_blank" (une nouvelle fenêtre), car par définition cette fonction sert justement à ouvrir une nouvelle fenêtre.
Cependant, plus personne ne l'utilise car à aujourd'hui la quasi totalité de navigateur intègrent des "bloqueurs" de popup.

En résumer, il n'y aucune bonne raison d'ouvrir une popup à mon sens.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h21   #12
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Donc j'en conclus, que dans tous les cas, je suis "coincé".

Je vais essayé autre chose, techniquement je sais pas où je vais, mon,idée est :

A chaque clique, j'enregistre dans une variable goblale via javacript l'id du lien.
Lors de la fermeture de la fenetre de mon site, ou changement de page, via ajax j'insére les données en BDD.

Avec votre expérience, pensez-vous que c'est une bonne idée ?
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h27   #13
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par RunCodePhp Voir le message
- L'URL du lien ne pointant pas vers la page désirée, du coup coté référencement c'est pas top.
Faux, regarde mon code.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<div id="fluxindex"><a href="http://lautresite.com/" target="_blank">titre site</a></div>
<script>
$('#fluxindex a').click(function(event){
        event.preventDefault(); // empêche l'action du click
        var url = $(this).attr('href'); // récupère l'href
	var res = $(this).attr('id'); // Récupère l'id
	$.get('/stat-partenaire.php', {variable : res}, function(data){
            window.open(url, '_blank');
        }); // Fait la requête ajax en GET, une fois réussie, ça ouvre la nouvelle fenêtre avec le bon site :)
});
</script>
Le lien pointe bien vers l'url indiquée. Le JS "désactive" l'event du clic, fait sa sauce et simule le clic une fois finit.
Citation:
Envoyé par RunCodePhp Voir le message
- Si JS est désactivé coté poste client la nouvelle fenêtre ne s'ouvrira pas (et l'incrémentation n'aura lieu).
Et donc, faux aussi Si JS est desactivé, le navigateur va juste valider <a href="http://lautresite.com/" target="_blank">titre site</a> qui est un lien "normal". J'ai notifié à omelhor que les stats (l'incrémentation) seraient erronées. A priori, ça ne gêne pas

Citation:
Envoyé par RunCodePhp Voir le message
Si c'est l'Ajax qui est adoptée, je ne vois vraiment pas l'utilité de faire ce "window.open".
CF plus haut quand je décris l'action du JS
Il faut bien que la page s'ouvre après l'incrémentation (faite par AJAX dans ce cas là)

Citation:
Envoyé par RunCodePhp Voir le message
A coté de ça, la méthode window.open est faite comme ceci :
Code :
window.open("URL","nom_de_la_fenetre","options_de_la_fenetre");
Donc en 2ème paramètre c'est le nom de la fenêtre.
Mais ça ne sert à rien d'indiquer "_blank" (une nouvelle fenêtre), car par définition cette fonction sert justement à ouvrir une nouvelle fenêtre.
Cependant, plus personne ne l'utilise car à aujourd'hui la quasi totalité de navigateur intègrent des "bloqueurs" de popup.
J'avoue que c'est une "astuce" non testée que j'ai glanée sur le net (le window.open("URL","_blank")).

Pour le reste, je suis d'accord. Déjà, d'une, je déteste qu'on m'"oblige" à ouvrir une nouvelle fenêtre (le clic du milieu, c'est pas fait pour les chiens), c'est pour ça que j'évite les target="_blank" dans mes productions. Et c'est aussi pour ça que j'ai proposé "window.location". Et c'est finalement aussi pour ça que je maintiens ma 1ere solution comme la plus "pratique" et la "meilleur" dans ce cas là.

La redirection PHP aurait presque tous les avantages. Au niveau SEO, ce serait pas tip top mais une redir 301 n'est pas trop mal. Juste, l'utilisateur ne verrait pas l'url finale sur la page d'origine.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h32   #14
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par omelhor Voir le message
Donc j'en conclus, que dans tous les cas, je suis "coincé".

Je vais essayé autre chose, techniquement je sais pas où je vais, mon,idée est :

A chaque clique, j'enregistre dans une variable goblale via javacript l'id du lien.
Lors de la fermeture de la fenetre de mon site, ou changement de page, via ajax j'insére les données en BDD.

Avec votre expérience, pensez-vous que c'est une bonne idée ?
Coincé? non. Je t'ai proposé 2 solutions, d'autres en auront peut-être d'autres. A toi de voir laquelle aura le moins d'inconvénients.

Et comment tu différencies un clic de changement de page d'un clic à traiter pour les stats ? C'est possible mais assez "hasardeuse" comme solution.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 11h43   #15
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Celle du "window.open", n'est pas bonne, je l'ai testé au travaille sur firefox et chrome ( sous ubuntu), et c'est considérée comme des popups, donc ça marche pas, à moins que l'utilisateur autorise l'ouverture de popups.

Pour la redirection, j'y réfléchis, ouverture d'une nouvelle fenêtre, avec redirection. Faut que j'estime l'impact sur mon site :
- qui je pense devrais etre nulle vue que c'est des liens extérieurs
- si le code à modifié n'est pas trop lourd

Pour "différencies un clic de changement de page d'un clic à traiter pour les stats", je pensais, à genre une vérification de changement d'url :
0) si changement url
1) je verifie que c'est mon site
2) si oui requete ajax si variable globale non vide
Mais je t'avoue que c'est juste une idée qui m'est venue à l'esprit


Ce que j'aimerais bien savoir aussi, c'est comment des sites comme addfreestats.com, arrive à comptabiliser les liens sortant
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 12h27   #16
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 709
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 709
Points : 3 279
Points : 3 279
Citation:
Ce que j'aimerais bien savoir aussi, c'est comment des sites comme addfreestats.com, arrive à comptabiliser les liens sortant
A mon sens ils ont les mêmes problèmes et questions que les tiennent.

Pour ceux qui optent pour du Javascript, et bien ça ne sera pas comptabilisé si l'utilisateur désactive JS, ça fait pas un pli.
Ou alors, via une redirection, ce qui certes n'est pas top pour le référencement (pour les partenaires au moins).

Pour ma part, c'est à toi de faire un choix.
Pose toi la question si ton publique visé désactive Javascript.
D'ailleurs, est ce que ton site ne serait pas déjà dépendant de JS, ce qui au passage l'est déjà pour pas mal de site Web.


Citation:
Pour "différencies un clic de changement de page d'un clic à traiter pour les stats", je pensais, à genre une vérification de changement d'url :
0) si changement url
1) je verifie que c'est mon site
2) si oui requete ajax si variable globale non vide
Mais je t'avoue que c'est juste une idée qui m'est venue à l'esprit
C'est ici toujours dépendant de Javascript.


J'aimerais bien savoir pourquoi une redirection te causerais problème.
Théoriquement, sans pour autant être un aficionados du référencement, mais une redirection de type 301 est valide.
Théoriquement toujours, ll faut juste mettre en place de la réécriture.
Exemple :
2 partenaires : google et facebook
-http://site.com/partenaires/google
-http://site.com/partenaire/facebook

Ceci sera réécrit comme :
-http://site.com/partenaires.php?partenaire=google
-http://site.com/partenaires.php?partenaire=facebook

Du coup, vu qu'on pointe sur sa page en 1er, on pourra faire la mise à jour/incrémentation, puis au bout on fait une redirection de type 301 vers la page du partenaire, faudra rajouter ça avec la fonction header.
Soit rediriger vers :
-http://www.google.com
-http://www.facebook.com

Théoriquement, les moteurs de recherche devraient considérer l'URL de départ comme pas la bonne mais prendre en compte celle de la redirection.
En somme, c'est comme si on indiquait directement -http://www.google.com ou http://www.facebook.com dans le lien de départ.


C'est d'ailleurs comme ça qu'on fait quand on change d'URL dans son propre site : On indique au moteur de recherche que l'ancienne URL (plus bonne) pointe vers la nouvelle sans que cela soit pénalisant.
Théoriquement ça marche, je dis bien, théoriquement.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 13h36   #17
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par omelhor Voir le message
Celle du "window.open", n'est pas bonne, je l'ai testé au travaille sur firefox et chrome ( sous ubuntu), et c'est considérée comme des popups, donc ça marche pas, à moins que l'utilisateur autorise l'ouverture de popups.
Si window.open est vraiment rédibitoire, alors soit ouverture dans la même page (en remplaçant ça par window.location) soit redirection PHP
Citation:
Envoyé par omelhor Voir le message
Pour la redirection, j'y réfléchis, ouverture d'une nouvelle fenêtre, avec redirection. Faut que j'estime l'impact sur mon site :
- qui je pense devrais etre nulle vue que c'est des liens extérieurs
- si le code à modifié n'est pas trop lourd
Dans le cadre de la redirection PHP, c'est "juste" une page à créer qui récupère un paramètre en GET, incrémente les stats, récup l'url et redirige... facile mais tous les href à modifier c'est long
Citation:
Envoyé par omelhor Voir le message
Pour "différencies un clic de changement de page d'un clic à traiter pour les stats", je pensais, à genre une vérification de changement d'url :
0) si changement url
1) je verifie que c'est mon site
2) si oui requete ajax si variable globale non vide
Mais je t'avoue que c'est juste une idée qui m'est venue à l'esprit
tu te compliques la vie je pense là


Après comme le dit RunCodePhp (et moi dans mon 1er post), tu peux faire de jolies URL bien SEO avec une redirection. ça reste, pour moi et à la vue de ton use-case le meilleur choix.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 22h06   #18
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Bon c'est décidé , j'opte pour la redirection
Merci bcp pour votre temps et aide, j'aurai appris des petites chose, c'est très enrichissant

Je clos le post, encore un grand merci
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h55.


 
 
 
 
Partenaires

Hébergement Web