Savoir si une personne est allée sur une page ? [Résolu/Fermé]

Signaler
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
-
Messages postés
174
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
24 juin 2014
-
Bonjour,
Je fait un site en HTML CSS et je commence a intégrer du PHP et bientôt du SQL, je n'est que les bases en PHP, je suis actuellement le cour du site du zéro la dessus.

Je voulais savoir si ce que je souhaite faire est réalisable juste en PHP et MySQL ou si il faudrait intégrer du JS ou encore du JAVA EE sachant que j'apprend aussi le JAVA en ce moment.

Le fonctionnement du système que je voudrais faire est :
exemple :
3 personnes sont inscrites sur mon site.
Chacune d'entres elles dépose 4liens par exemple.
Quand la personne 1 se connecte, elle clique sur une page qui démarre un processus qui ouvre un onglet puis visionne tours a tours chaque page pendant 20seconde ( les 4 pages de la personne 2 + les 4 de la personne 3)
Et pareil pour chaque personne qui ce connecte.

En même temps j'aimerais que chaque personnes qui soient enregistrée dans la basse de donnée soit "crédité" d'un point, chaque point correspond a une page visionnée

En même temps il ne faut pas que les personnes 1, 2 ou 3 regardent leurs propres page ni ne regardent plusieurs fois la même page a chaque re-connexion.


MERCI

13 réponses


Bah, y faut dire que moi aussi ai appris à coder en utilisant aisément les quelques miettes de temps libre qu'il me restait. =D.

Je n'ai jamais suivi de tuto pour coder en JS, mais puisque c'est un à-coté bien utile, je me suis mis à le comprendre. Lorsqu'on s'y attarde, on réalise que JS n'est pas si étranger qu'il en a l'air. Les variables, les conditions, les boucles, etc, sont toutes basées sur les mêmes concept que PHP. Je te conseille aussi de te renseigner sur la bibliothèque jQuery qui rend JS beaucoup plus simple et efficace. Regarde davantages de codes sources des sites que tu fréquentes et cherche à comprendre.

Une méthode pour retenir les codes? C'est d'oublier, puis de rechercher! Nah, plus sérieusement, c'est de réaliser qu'on ne peut pas tout apprendre, parce que ce serait comme apprendre tous les mots du dictionnaire (pas d'un seul, de plusiuers langues!) Nah, on apprend pas le dictionnaire, on l'utilise lorsqu'on en a le besoin. Et bien pour tous ces codes, le principe est le même.

Les sources php.net et stackoverflow sont deux dictionnaires ultra-fiables dans le domaine de PHP. (stackoverflow étant un équivalent de commentcamarche).

L'important aussi c'est d'adopter une façon à soi de coder, une façon intelligente ou on se comprend et on ne se sent pas trop perdu dans l'univers de PHP. Pour moi, une condition prendrait cette allure:

IF($x){

   echo '$x est true';
   }


Je ne crois surtout pas que le terme bon en codage est approprié, parce que coder ce n'est pas seulement savoir parler en PHP, Java ou MySQL, c'est aussi savoir chercher et s'organiser puis se créer des techniques personelles au fil du temps. Surtout n'hésite pas à questionner, mais aussi à aider d'autre personnes sur les forums, ça t'aidera toi aussi!

Ils avaient raison, coder est un art.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 78059 internautes nous ont dit merci ce mois-ci

Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 250
Bonjour,

La solution doit combiner cookies et variables de session.... le tout enregistré en base de données.....

Un cookie avec ID du visiteur (son login ou un id plus compliqué)

les variables de session pour "tagguer" les pages visitées

enregistrement en BDD des pages visitées.

Le visiteur regarde une page.... On va vérifier en BDD si ce visiteur a déja vu la page...

A+
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Merci pour ta réponse :)
Je pense avoir plus ou moins compris.
Après, utiliser des cookies, je ne sais pas trop comment faire, je connais juste le principe en gros .
Pense tu qu'avec le cour du site du zéro sur php + un cour sur les cookies je devrais y arriver ou celà demande-il un niveau trop important en PHP et SQL ?


Merci
*
Messages postés
6709
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 250
Non c'est pas compliqué.
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Ok, mais la je viens d'apprendre les cookies mais je vois pas comment les utilisés comme tu ma dit..
Je sais juste comment créé un cookie qui attribuera un nombre de vues a la personne..

Le nombre de visionnements devrait plutôt aller dans la bdd dans la table 'utilisateurs' et le champs 'credits' par exemple.

Et hop, à chaque page visitée tu réalises un petit update! (+1 crédit).

Pour les cookies, ils ne sont pas forcément sécuritaires et ils servent plutôt à stocker des données de naviguation supplémentaires qui ne sont pas indispensables au bon fonctionnement du site. (ex: le client aime les pubs de voyages)

Du coup, fait attention aux infos concernant les utilisateurs (mot de passes).
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Ok, jusque la je vois ;)
Mais après comment savoir quelle page a rajoutée +1 ? Je fixe l'URL dans la BDD et je vérifie en PHP si la personne la visitée, si oui alors lire la ligne suivante, si non ouvrir ?
Utilisateur anonyme
C'est-à-dire que tu veux garder un historique de chaque page visitée par chaque utilisateurs?

Pour un historique, je te conseille surtout de réduire au minimum les informations!

Une table contenant les users (avec ID). Leur pseudo, mot de passe, crédits, etc.

Une table contenant les URL (avec ID)

Une table contenant les historiques (avec ID) ID du users (celui qui a visité la page) et ID de la page (la page visitée)

Donc, supposons que je visite ccm.net (ID #123) et que je suis l'utilisateurs #508, on entrera dans la table historique:

x (ID), 508, 123

Et ensuite, tu sélectionnes tout les URL qui ne sont pas contenus dans la table historique.

Et là, je suis vraiment pas certain, mais ça irait comme suit:

SELECT pages.url FROM pages INNER JOIN historique ON historique.url_id != pages.id WHERE users.id = :user_id
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Ok, parcontre, je comprend pas tout le code ^^ je suis qu'au début du cours sur SQL donc "INNER JOIN" je ne sais pas encore a quoi sa servirais...?

Sinon pour le reste je vais utiliser ta méthode ;)
Parcontre, je ne sais pas comment faire une chose,
j'aimerais que les différentes pages défilent sur un onglet ( changement toute les 10 secondes par ex ) sans que la personne n'est a cliquer sur un lien ou autre.
Que ce soit ''automatique''.. Mais je ne sais pas si c'est possible du moins en PHP..?
INNER JOIN mets en relation deux tables dans la bdd. Dans ce cas, on met en relation les tables pages et historique et sélectionne les URL des pages dont l'ID n'est pas figurant dans la table historique.

Le changement automatique, nah, pas en PHP directement, mais tu codes en PHP! Tu saisis? =D.

Ça se réalise avec Javascript et PHP (pas l'un ou l'autre, les deux!) à l'aide des techniques AJAX. Par exemple, à chaque dix secondes, tu recharges (en JS) une page qui intègre (en PHP) le site en question.

Mais une solution beaucoup plus économique serait de réaliser une seule requête SQL (comme présentée là-haut) et de placer les valeurs dans un tableau virtuel (array) puis de naviguer ce tableau avec Javascript.

Plusieurs reqûetes SQL peuvent entraîner une surcharge!

Avec plaisir,
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Merci pour tes réponses très instructives ;)
Je vais donc finir d'apprendre le PHP et MySQL et lorsque je me sentirais prêt, j'apprendrais je JS :) !
Il faut environ combien de temps pour apprendre a codé, disons correctement en JS ? J'ai regardé vite fait, sa na pas l'air très simple ^^
Puis-je commencé dès maintenant a apprendre doucement le JS en même temps que le PHP ou faut-il avoir des bonnes bases avant d'attaquer ?

Je voulais aussi te demander, puisque tu a l'air quand même assez bon ;) Si tu avais une méthode pour bien retenir les codes ?
Car quand j'apprend PHP (ou autre) si je ne pratique pas pendant plus d'une semaine, j'ai l'impression d'avoir perdu 1/2 de mes connaissances en " code "..
Ce qui est énervant a la longue et avec les cours, pas toujours le temps de codé tous les soirs... :/
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Je voulais vraiment te remercier pour ton aide et d'avoir consacré un peut de ton temps a un débutant ;)

J'avais encore juste une question.. ^^
Enfaîte, je suis a cette partie du cours de PHP MySQL :

http://fr.openclassrooms.com/informatique/cours/concevez-votre-site-web-avec-php-et-mysql/insert-ajouter-des-donnees

Mais quand je tape ce code :
<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO jeux_video(nom, possesseur, console, prix, nbre_joueurs_max, commentaires) VALUES(:nom, :possesseur, :console, :prix, :nbre_joueurs_max, :commentaires)');
$req->execute(array(
	'nom' => $nom,
	'possesseur' => $possesseur,
	'console' => $console,
	'prix' => $prix,
	'nbre_joueurs_max' => $nbre_joueurs_max,
	'commentaires' => $commentaires
	));
	
echo 'Le jeu a bien ete ajouté !';
?>


Je n'obtiens a chaque fois qu'une erreur... Erreur ligne 13 a 19...
Lors de la partie ou on apprend a chercher des données, j'avais aussi des erreurs, j'ai essayer avec son code mais j'ai toujours ces erreurs...

Pourtant le fichier jeux_video (SQL ) est bien dans test sur PHP MYadmin et j'ai effectivement juste le login : root , de base...
J'ai vérifié aussi si PHP_DPO_MySQL étais bien coché sur WAMP mais rien a faire...
Alors si tu a une idée... :)

Encore merci !

Bah, il me semble que tu ne donnes aucune valeur aux variables $nom, $possesseur, $console, $prix, $nbre_joueurs_max, et $commentaires.

Le code cherche à insérer ces valeurs dans une bdd, mais il ne les trouve pas et les champs n'acceptent peut-être pas une valeur NULL.

Tente de donner des valeurs à ces variables.

$nom = 'Jean';
$possesseur = 'Luc';
$console = 'GameCube';
//...


(en passant, t'as vu ce que j'ai posté hier, parce qu'il n'est plus là?)
Messages postés
124
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
12 novembre 2015
2
Bizar... tes messages disparaissent comme par magie :/
:
"Bah, y faut dire que moi aussi ai appris à coder en utilisant aisément les quelques miettes de temps libre qu'il me restait. =D.


Je n'ai jamais suivi de tuto pour coder en JS, mais puisque c'est un à-coté bien utile, je me suis mis à le comprendre. Lorsqu'on s'y attarde, on réalise que JS n'est pas si étranger qu'il en a l'air. Les variables, les conditions, les boucles, etc, sont toutes basées sur les mêmes concept que PHP. Je te conseille aussi de te renseigner sur la bibliothèque jQuery qui rend JS beaucoup plus simple et efficace. Regarde davantages de codes sources des sites que tu fréquentes et cherche à comprendre.


Une méthode pour retenir les codes? C'est d'oublier, puis de rechercher! Nah, plus sérieusement, c'est de réaliser qu'on ne peut pas tout apprendre, parce que ce serait comme apprendre tous les mots du dictionnaire (pas d'un seul, de plusiuers langues!) Nah, on apprend pas le dictionnaire, on l'utilise lorsqu'on en a le besoin. Et bien pour tous ces codes, le principe est le même.


Les sources php.net et stackoverflow sont deux dictionnaires ultra-fiables dans le domaine de PHP. (stackoverflow étant un équivalent de commentcamarche).


L'important aussi c'est d'adopter une façon à soi de coder, une façon intelligente ou on se comprend et on ne se sent pas trop perdu dans l'univers de PHP. Pour moi, une condition prendrait cette allure:


IF($x){

echo '$x est true';
}



Je ne crois surtout pas que le terme bon en codage est approprié, parce que coder ce n'est pas seulement savoir parler en PHP, Java ou MySQL, c'est aussi savoir chercher et s'organiser puis se créer des techniques personelles au fil du temps. Surtout n'hésite pas à questionner, mais aussi à aider d'autre personnes sur les forums, ça t'aidera toi aussi!


Ils avaient raison, coder est un art."




Sinon, tu avais raison, je n'avais tous simplement pas attribué de valeur a mes variables.. Je devais être dans la lune, surtout que c'est précisé un peut plus loin qu'on devrais les définir avec l'array $_GET notamment

En attendant, je continu le PHP et MySQL et j'ai commencé a lire quelques codes JS, pour le moment ce n'est pas très compliqué mais bon je ne suis pas allé très loin ^^
Y aurais-il moyen de garder contact ? :)

Merci encore ;)
KALI01?
Utilisateur anonyme
Ah ben voilà que t'as retrouvé mon post disparu. Pour garder le contact bien sur, c'est ce qui me passionne le plus sur ccm: antoine_belisle@hotmail.com (je supprime après)
Messages postés
174
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
24 juin 2014
4
Je vois ce qu'il te faut :)
Un cookie !
Regarde :
http://html.net/tutorials/php/lesson13.php