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 :
La fonction en cause :
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(); }
se trouve dans le fichier function_session.php
Resultat de l'affichage de $tab dans index :
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; }
Page index reduit au stricte minimum pour tester cette fonction je lui fournie un id_user valide = 1 :Array
(
[session] => 8jkdk8oed92ktkmkknh7omi8m2
[iduser] => 1
[ip] => 127.0.0.1
[browser] => Firefox
[os] => Windows
[date] => 2009-12-16 16:18:24
)
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>'; }
Partager