Aucun Update/insert de ma BDD

Répondre
neo1828
le 23/08/2006 à 12:09
neo1828
Un grand merci pour ton suivi :-)

Oui sans problèmes, alors ma table tbl_statistique comprends:

id mediumint(11) UNSIGNED auto_increment
sessid varchar(50) Null: Non
pseudo varchar(20) Null: Non
date date Null: Non valeur: 0000-00-00
time time Null: Non valeur: 00:00:00
parcours text Null: Non

Une autre table tbl_acces existe avec la suivante:

id int(11) Null:Non auto_increment
idpersonne varchar(63) Null:Non
pseudo varchar(8) Null:Non
pwd text Null:Non
email varchar(30) Null:Oui

Par la suite quand une personne se logge sur la page login.php, il a acces au site, sinon, il ne passe pas. Ce loggin et pass sont connu par la table acces, donc un nombre limité.
i M@N
le 23/08/2006 à 12:19
i M@N
Reuh ...
Bah voilà, la requête sql d'insertion n'avait pas le bon ordre et il manquait le champ "id" ... essaye comme ça :
/*on crée un enregistrement dans la table*/
$sql = "INSERT INTO tbl_statistique VALUES ('','$session_id','$pseudo','$date','$time','$parcours')";


@+...
One Love, One Heart, One Unity.
neo1828
le 23/08/2006 à 12:35
neo1828
En effet re..

Bon à ce que j'ai appris en èskiouwèl [SQL donc] est qu'il faut d'abord citer les champs à complèter:
(id,sessid,pseudo,date,time,parcours)
je peux me tromper, mais j'ai constaté que la table ne se remplis pas sans sa...

Alors voilà le résultat:
id:11 sessid:"chiffres et lettres" david 2006-08-23 00:00:00 /famille2/nous_test.php

Mhh je vais travailler sur le time (qui doit donc être l'heure d'arrivée) et sur le parcours, parce que celui-ci ne s'ajoute pas. Seul le premier est affiché mais pas la suite des liens...

Enfin merci merci merci beaucoup beaucoup!

PS: je ne pensais que la suite des champs avait une tel importance.
neo1828
le 23/08/2006 à 19:39
neo1828
Héhééé ben oui re,

Est ce que cette ligne est correcte?

<?php
session_start();
// on ouvre la session
$session_id = md5(uniquid(time()));

à la place de

<?php
session_start();
// on ouvre la session
$session_id = session_id();
i M@N
le 23/08/2006 à 20:51
i M@N
Reuh ...

Je vois pas l'intérêt de prendre un chiffre aléatoire (uniquid) pour identifier ton visiteur, un identifiant de session me paraît plus approprié : garde ton session_id().

@+...
One Love, One Heart, One Unity.
neo1828
le 23/08/2006 à 21:44
neo1828
Oui je comprends, mais bon, se n'est pas parfait...
Le hic, je me connecte d'un même pc avec différent users, ben tous auront le même session_id, ce qui n'est pas pratique.

- juste une ligne apparait avec la première page que le seudo a visité
- lors de changement vers reconnaissance pseudo et date (where date='$date' AND pseudo='$pseudo'), ben toutes les lignes ou ce pseudo et cette date sont visible, ben il y a un ajout de l'heure, de la page... (c'est logique, sa j'ai compris la raison et je l'ai fait volontairement pour voir si un update peut se faire!)

mais j'ai l'impression que si on travaille avec des choses unique ben:
- l'update ne se fait pas
- chaque connexion d'un même user à la même date affiche une nouvelle ligne avec le même session_id

le but est d'avoir par jour, ce qui s'est passé donc les liens visités, sur user et quand. Naturellement si il y a une nouvelle date, là une nouvelle ligne peut se faire égallement!

(je persiste, je sais, mais heuuu comment dire je trouverai bien, sa doit juste être parfait si on veut(rien n'est parfait))
neo1828
le 24/08/2006 à 11:37
neo1828
Bijour!

Juste une chose à laquel je ne pensais pas, la session_id() se base sur Coockies et si la page reste ouverte ben le coockie reste le même!

Hahaaa fermé le IE et ensuite ben hooo un nouveau session_id! Pour tout dire, mes pc ne sont coupés qu'un fois par mois possédant un portable, je le ferme tout simplement et il se met en veille et au boulot idem... Il faut pourtant que je pense à rebooter de temps en temps *sifflote*.

Bon un truc qui me reste quand même de temps en temps je me logge avec un user différent pour tester l'affaire, et il arrive que le champ "pseudo" est vide! Peut on y remésier, genre forcer à ce que cette case soit remplie dans MySQL?

Bien à toi!
i M@N
le 24/08/2006 à 12:55
i M@N
Hello !

session_id() = nom du cookie de session.

Une session est active tant que tu ne fermes pas ton navigateur ou que le temps alloué à une session configuré dans le php.ini n'est pas dépassé.
Tout ça est dans la doc : Manuel. smiley

Le truc c'est de détruire la session lors d'un log-out de ton visiteur : session_unset et session_destroy mais aussi de mettre à jour le pseudo lors de l'update.

@+...
One Love, One Heart, One Unity.
neo1828
le 24/08/2006 à 17:34
neo1828
Encore moi!

Oui j'avais déjà utilisé les sessions unset également.

A priori sa fonctione, mais bon par un second chemin, lors de la demande de l'update de la ligne èskiouwèl, j'ai inséré également la mise à jour du pseudo! Oui se n'est pas le meilleur truc à faire, mais on suppose que le user ferme IE avant de se relogger (pourvu que...)!

Je t'embrasse, non je rigoooolle, un super grand merci pour ton aide qui m'a vraiment super bien aidé à la création de notre petit site famillial :-)
i M@N
le 24/08/2006 à 18:04
i M@N
Reuh ...

Au pire dans ton script de login tu commences par détruire la session ... là t'es peinard. smiley

@+...
One Love, One Heart, One Unity.
Répondre

Ecrire un message

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