Ses derniers messages sur les forums
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.
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.
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.
Hello !
Déjà t'es pas dans la bonne section ... spa grave tu feras gaffe la prochaine fois.
Sinon un simple .htaccess dans le répertoire à protéger fait l'affaire pour ça :
AuthType Basic
AuthName "Access for /repertoire"
AuthUserFile /access/htpass.txt
require user krugoss
Ensuite tu crées le fichier htpass.txt :
krugoss:krugosspass
user2:pass2
Enfin tu empêches tout le monde d'avoir accès à ce fichier en mettant un second .htaccess dans le répertoire /access/ :
ça fonctionne comme ça pour free.fr, d'autres hébergeurs peuvent nécessiter le cryptage md5 du pass ou stocker le fichier avec les pass ailleurs.
@+...
One Love, One Heart, One Unity.
One Love, One Heart, One Unity.
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.
Hello !
Donne tous les champs de ta tale tbl_statistique dans l'ordre stp.
Quand un visiteur arrive sur ton site, la première chose qu'il fait c'est se connecter ou il peut surfer sans être connecté ?
@+...
One Love, One Heart, One Unity.
Reuh ...
lis le code que je te donne :
je prends la fonction session_id() et j'en fait une variable $session_id ... t'as pas à modifier ça.
Lis aussi les erreurs :
Erreur SQL !
INSERT INTO tbl_statistique VALUES ('david','2006-08-22','1156263288','/famille2/nous_test.php','')
Column count doesn't match value count at row 1
si tu parles anglais ça coule de source, sinon ça veut dire que le nombre de colonnes mentionné dans la requête ne correspond pas au nombre de colonne de la table.
Essaye en insérant toutes les valeurs pour tous les champs de la table.
aha trouvé une astuce... .session_id() avec la parenthèze :-) mais là j'ai un truc sur session start heuu
session_start(): Cannot send session cache limiter - headers already sent ...
là je capte rien...
No comment ...
@+...
One Love, One Heart, One Unity.
Hello !
Et c'est quoi l'erreur ? y'en a une ou rien ne s'affiche ??
Sinon essaye comme ça pour voir :
<?php
/*on ouvre la session*/
session_start();
$session_id = session_id();
/*connexion*/
$base = mysql_connect ('Server', 'user', 'pass') or die('Erreur de connexion');
mysql_select_db ('bases', $base) or die('Base inexistante');
if(!isset($_SESSION['parcours']))
{
/*il s'agit d'un nouveau visiteur*/
/*on crée $_SESSION['parcours'] et $_SESSION['date']*/
$_SESSION['date'] = date('Y-m-d');
$_SESSION['time'] = time('H:i:s');
$_SESSION['parcours']= $_SERVER['REQUEST_URI'];
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
$date=$_SESSION['date'];
$pseudo=$_SESSION['pseudo'];
/*on crée un enregistrement dans la table*/
$sql = "INSERT INTO tbl_statistique VALUES ('$pseudo','$date','$time','$parcours','$session_id')";
}
else
{
/*on ajoute la nouvelle page vue, séparée par un point virgule, à la variable de session*/
$_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
/*on ajoute à la variable de session l'heure à laquelle la page a été vue*/
$_SESSION['time'].= ';'.time('H:i:s');
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
/*on met la table à jour*/
$sql = "UPDATE tbl_statistique SET parcours='$parcours' WHERE sessid='.$session_id.'";
}
mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>
Les concaténations sont souvent chiantes avec les UPDATES, mais tu devrais aussi éviter de compliquer l'écriture de tes requêtes :
$sql = "UPDATE tbl_statistique SET parcours='$parcours'";
$sql .= "WHERE sessid='".session_id()."'";
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
mouarf !
Enfin j'ai fermé le } avant de lancer la requête, sinon ta première requête ne se fait pas.
@+...
One Love, One Heart, One Unity.
One Love, One Heart, One Unity.
Hello !
Ton lien c'est http://monsite.com/page.php?extension=exe
Dans page.php tu auras quelque chose comme :
<?php
/*on récupère la variable issue de $_GET et on l'initialise*/
if (isset($_GET['extension'])) $extension = $_GET['extension']; else $extension = "";
/*on prépare notre requête SQL*/
$sql = 'SELECT id,nom,extension,adresse FROM ta_table WHERE extension = "'.$extension.'" ORDER BY nom';
/*on exécute la requête*/
$result = mysql_query($sql);
/*si on a des résultats*/
if ($tuple) {
/*on affiche l'entête du tableau*/
echo '<table><td width="50%">Nom</td>';
echo '<td width="50%">Adresse</td>';
while ($data = mysql_fetch_array($result)) {
$nom = $data['nom'];
$adresse = $data['adresse'];
/*affiche les résultats dans la suite du tableau*/
echo '<td width="50%">'.$nom.'</td>';
echo '<td width="50%">'.$adresse.'</td>';
}
echo '</table>';
/*sinon on affiche rien*/
else {
echo 'Aucun article.';
}
mysql_free_result($result);
}
?>
@+...
One Love, One Heart, One Unity.