Gestion Include

Eléphanteau du PHP | 21 Messages

02 févr. 2012, 19:15

Bonjour à tous,

Code : Tout sélectionner

<IMG id="tr1" border="0" onClick="<?PHP include'cpt-056.php'; ?>; window.open('http://adresse 1')" onmouseover="this.src='images/go2.gif'" src="images/go2.gif" width="40" height="25" align="middle"> <IMG id="tr1" border="0" onClick="<?PHP include'cpt-057.php'; ?>; window.open('http://adresse 2')" onmouseover="this.src='images/go2.gif'" src="images/go2.gif" width="40" height="25" align="middle">
Chaque include incrémente un compteur différent.

Le hic, c'est que quelque soit le choix, les deux compteurs
sont incrémentés.

Comment éviter cela ?

ViPHP
xTG
ViPHP | 7331 Messages

02 févr. 2012, 19:41

PHP s'exécute côté serveur.
Javascript côté client.
Lors que la page est affichée le PHP a déjà été exécuté !

Un évènement JS ne peut donc pas lancer du code PHP de cette façon.
Il faut passer par de l'Ajax (quelques recherches sur un moteur de recherche t'en dira plus).
Ou bien via un script PHP intermédiaire qui s'occupera de compter et de rediriger.

Eléphanteau du PHP | 21 Messages

02 févr. 2012, 21:30

Bonsoir,

L'idée de script PHP intermédiaire me plait bien.

Comment gérer cela ?

ViPHP
xTG
ViPHP | 7331 Messages

02 févr. 2012, 22:00

Si je comprends bien tu as prévu un fichier PHP pour chacun des compteurs ?_?
Il serait plus simple d'utiliser une référence sur un fichier ou bien une table.

Exemple avec une bdd (je vais au vif du sujet, donc il y a les vérifications et sécurité à rajouter) :
Soit une url d'accès => tonScriptQuiCompte.php?idCompteur=3&url=http://url.com
tonScriptQuiCompte.php
<?php
include('connexionBDD.php'); // script contenant la connexion à la BDD
// On met à jour le compteur dans la table
$res = mysql_query('UPDATE tableCompteur SET valeur = valeur + 1 WHERE idCompteur = ' . mysql_real_escape_string($_GET['idCompteur']));
// On redirige l'utilisateur vers l'url finale
header('Location: ' . $_GET['url']);

Eléphanteau du PHP | 21 Messages

02 févr. 2012, 22:11

Ok, mais pas de MySQL pour le moment.

Si j'ai bien compris,

A partir du lien, j'appelle un fichier PHP
dans ce fichier, j'incrémente le compteur
et j'appelle la page Web.

C'est bien cela ?

ViPHP
xTG
ViPHP | 7331 Messages

02 févr. 2012, 22:13

Oui bah tu peux remplacer la requête mysql par l'écriture dans un fichier cela revient au même. :)

Eléphanteau du PHP | 21 Messages

02 févr. 2012, 22:22

Ok xTG,

Merci pour la réponse, je vais tester cela.

Je reviendrai si HIC !

PS : La base MySQL, sera la prochaine étape.