Bonjour,

Je cherche à faire une fonction pour inserer des données de session dans ma base de données.
Je n est aucune PDOException donc ma fonction retourne bien $r == true.
quand je verifie sur phpmyadmin je ne trouve rien.

Merci de votre aide vos remarques ou de vos pistes :

Connexion au début du fichier function_session.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
/** **/
$PARAM_hote='localhost'; // le chemin vers le serveur
$PARAM_port='3306';
$PARAM_nom_bd='xxxxxx'; // le nom de votre base de données
$PARAM_utilisateur='xxxxxx'; // nom d'utilisateur
$PARAM_mot_passe='xxxxxx'; // mot de passe de l'utilisateur 
 
try {
    $dbh = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
} catch (PDOException $e) {
    echo 'Error connecting to MySQL ! : '.$e->getMessage();
}
La fonction en cause :
se trouve dans le fichier function_session.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
Function openSession($userid) {
 
    global $dbh;
 
    // Re-génération du sid
    session_regenerate_id();
 
    // insert une ligne
    $sid = session_id();
    $ip = getip();
    $browser = getbrowser();
    $os = getos();
    $today = date('Y-m-d H:i:s');
 
    // On insère le nouvel id de session dans la db
    try {
        $stmt = $dbh->prepare("INSERT INTO med_session (idsess, sid, idmuser, IP, browser, os, date_s)
                                VALUES ('',:sid, :iduser, :ip, :browser, :os, :date_s)");
        $stmt->bindParam(':sid', $sid, PDO::PARAM_STR, 50);
        $stmt->bindParam(':iduser', $userid, PDO::PARAM_INT);
        $stmt->bindParam(':ip', $ip, PDO::PARAM_STR, 15);
        $stmt->bindParam(':browser', $browser, PDO::PARAM_STR, 50);
        $stmt->bindParam(':os', $os, PDO::PARAM_STR, 50);
        $stmt->bindParam(':date_s', $today,PDO::PARAM_STR, 17);
 
        $stmt->execute();
 
        $r = true;
        //$stmt = null;
    }
    catch (PDOException $e) {
        echo 'Erreur insert into session : '.$e->getMessage();
        $stmt->rollBack();
        $r = false;
    }
 
    // POUR LE DEBUG ***
    $tab['session'] = $sid;
    $tab['iduser'] = $userid;
    $tab['ip'] = $ip;
    $tab['browser'] = $browser;
    $tab['os'] = $os;
    $tab['date'] = $today;
 
    print("<pre>");
    print_r($tab);
    print("</pre>");
 
    return $r;
}
Resultat de l'affichage de $tab dans index :
Array
(
[session] => 8jkdk8oed92ktkmkknh7omi8m2
[iduser] => 1
[ip] => 127.0.0.1
[browser] => Firefox
[os] => Windows
[date] => 2009-12-16 16:18:24
)
Page index reduit au stricte minimum pour tester cette fonction je lui fournie un id_user valide = 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
session_start();
include_once("./function_session.php");
 
// On initialise la session avec le userid récupérer
$loginCheck = 1;
echo 'logincheck ID user : <b>'.$loginCheck.'</b> <br>';
if( !openSession($loginCheck) ) {
      echo '<br>Resultat de openSession : false !! <br>';
} else {
     $infouser = getUserInfo();
 
      if (empty($infouser)) {
             echo 'erreur';
      }
 
      echo $infouser['idmuser'].' '.$infouser['username'].' <br>';
}