info vergelijken en uit 2e tabel halen
en dit is de foutmelding
Notice: Undefined variable: _SESSION in public_html/test.php on line 4
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
print_r($_SESSION);
?>
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
print_r($_SESSION);
?>
En waar staat session_start() ? Nergens, dus is het logisch dat er geen sessie bestaat.
ik krijg nu Array ( ) met niks erin
jonathan schreef op 26.10.2007 14:46:
Gefeliciteerd! Nu weet je dus dat er niks in de sessie staat.ik krijg nu Array ( ) met niks erin
Vraag: Waarom staat er niks in de sessie?
Antwoord: Daar heb je blijkbaar niks ingezet.
jah ik heb met mijn joomla site ingelogd dus er moet iets ergen staan... maar waar.....?
er is een module die kijkt welke gebruikers online zijn...
Code (php)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/**
* @version $Id: mod_whosonline.php 2726 2006-03-09 14:01:19Z stingrey $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$showmode = $params->get( 'showmode', 0 );
$output = '';
// show online count
if ($showmode==0 || $showmode==2) {
$query = "SELECT guest, usertype"
. "\n FROM #__session"
;
$database->setQuery( $query );
$sessions = $database->loadObjectList();
// calculate number of guests and members
$user_array = 0;
$guest_array = 0;
foreach( $sessions as $session ) {
// if guest increase guest count by 1
if ( $session->guest == 1 && !$session->usertype ) {
$guest_array++;
}
// if member increase member count by 1
if ( $session->guest == 0 ) {
$user_array++;
}
}
// check if any guest or member is on the site
if ($guest_array != 0 || $user_array != 0) {
$output .= _WE_HAVE;
// guest count handling
if ($guest_array == 1) {
// 1 guest only
$output .= sprintf( _GUEST_COUNT, $guest_array );
} else if ($guest_array > 1) {
// more than 1 guest
$output .= sprintf( _GUESTS_COUNT, $guest_array );
}
// if there are guests and members online
if ($guest_array != 0 && $user_array != 0) {
$output .= _AND;
}
// member count handling
if ($user_array == 1) {
// 1 member only
$output .= sprintf( _MEMBER_COUNT, $user_array );
} else if ($user_array > 1) {
// more than 1 member
$output .= sprintf( _MEMBERS_COUNT, $user_array );
}
$output .= _ONLINE;
}
}
// show online member names
if ($showmode > 0) {
$query = "SELECT DISTINCT a.username"
."\n FROM #__session AS a"
."\n WHERE a.guest = 0"
;
$database->setQuery($query);
$rows = $database->loadObjectList();
if ( count( $rows ) ) {
// output
$output .= '<ul>';
foreach($rows as $row) {
$output .= '<li>';
$output .= '<strong>';
$output .= $row->username;
$output .= '</strong>';
$output .= '</li>';
}
$output .= '</ul>';
}
}
echo $output;
?>
/**
* @version $Id: mod_whosonline.php 2726 2006-03-09 14:01:19Z stingrey $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
$showmode = $params->get( 'showmode', 0 );
$output = '';
// show online count
if ($showmode==0 || $showmode==2) {
$query = "SELECT guest, usertype"
. "\n FROM #__session"
;
$database->setQuery( $query );
$sessions = $database->loadObjectList();
// calculate number of guests and members
$user_array = 0;
$guest_array = 0;
foreach( $sessions as $session ) {
// if guest increase guest count by 1
if ( $session->guest == 1 && !$session->usertype ) {
$guest_array++;
}
// if member increase member count by 1
if ( $session->guest == 0 ) {
$user_array++;
}
}
// check if any guest or member is on the site
if ($guest_array != 0 || $user_array != 0) {
$output .= _WE_HAVE;
// guest count handling
if ($guest_array == 1) {
// 1 guest only
$output .= sprintf( _GUEST_COUNT, $guest_array );
} else if ($guest_array > 1) {
// more than 1 guest
$output .= sprintf( _GUESTS_COUNT, $guest_array );
}
// if there are guests and members online
if ($guest_array != 0 && $user_array != 0) {
$output .= _AND;
}
// member count handling
if ($user_array == 1) {
// 1 member only
$output .= sprintf( _MEMBER_COUNT, $user_array );
} else if ($user_array > 1) {
// more than 1 member
$output .= sprintf( _MEMBERS_COUNT, $user_array );
}
$output .= _ONLINE;
}
}
// show online member names
if ($showmode > 0) {
$query = "SELECT DISTINCT a.username"
."\n FROM #__session AS a"
."\n WHERE a.guest = 0"
;
$database->setQuery($query);
$rows = $database->loadObjectList();
if ( count( $rows ) ) {
// output
$output .= '<ul>';
foreach($rows as $row) {
$output .= '<li>';
$output .= '<strong>';
$output .= $row->username;
$output .= '</strong>';
$output .= '</li>';
}
$output .= '</ul>';
}
}
echo $output;
?>
Nu heb ik hier wat proberen uit te halen maar dat lukt niet echt
Ik krijg de foutmelding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Dit is wat ik heb geprobeerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include "connect_mysql.php"; //verbinding maken
$query = "SELECT jos_users.name, jos_users.username FROM jos_users WHERE #__session.username = jos_users.username";
//query is aangemaakt
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$naam = htmlspecialchars($record->username);
$test = htmlspecialchars($record->name);
}
?>
include "connect_mysql.php"; //verbinding maken
$query = "SELECT jos_users.name, jos_users.username FROM jos_users WHERE #__session.username = jos_users.username";
//query is aangemaakt
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$naam = htmlspecialchars($record->username);
$test = htmlspecialchars($record->name);
}
?>
heeft iemand aan de hand van de who's online module nog ideen?
"WHERE #__session.username = jos_users.username"
Ik raad je aan om je joomla pakket te laten voor wat het is en een basis PHP tutorial doorloopt. Daar heb je veel meer aan, want dan begrijp je de joomla code ook beter.
hier gebruiken ze "FROM #__session" en halen ze gegevens op waarom werkt dat daar dan wel?
en als ik het op deze manier doe
Code (php)
1
$query = "SELECT jos_users.name, jos_users.username FROM jos_users WHERE id = '".$_SESSION['userid']."'";
niet :S enig idee?
ik krijg geen foutmeldingen...
ik dacht dat de id's in de session misschien onder een andere naam zijn weggeschreven... is er een manierom er achter te komen onder welke naam de id's bijv zijn weggeschreven?
print_r($_SESSION);
echo '</pre>';
zo krijg je een lijstje van alles wat is $_SESSION staat.
ik heb het nu voor elkaar dat ik op een blanke pagina de gebruikersnaam kan uitlezen uit de session, maar nu wil ik deze nog als vergelijkings materiaal gebruiken, alleen dit werkt nog niet:S
ziet iemand mischien wat ik hier fout doe?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
include "../database/mysql_database/connect_mysql.php"; //verbinding maken
$query = "SELECT name, username FROM jos_users WHERE username = '".$_SESSION["gebruikersnaam"]."'";
//query is aangemaakt
$sql = mysql_query($query) or die ( mysql_error( ) );
//query is uitgevoerd
while($record = mysql_fetch_object($sql)){
$naam = htmlspecialchars($record->username);
$testt = htmlspecialchars($record->name);
}?>
include "../database/mysql_database/connect_mysql.php"; //verbinding maken
$query = "SELECT name, username FROM jos_users WHERE username = '".$_SESSION["gebruikersnaam"]."'";
//query is aangemaakt
$sql = mysql_query($query) or die ( mysql_error( ) );
//query is uitgevoerd
while($record = mysql_fetch_object($sql)){
$naam = htmlspecialchars($record->username);
$testt = htmlspecialchars($record->name);
}?>
en de session lees ik zo uit, wat dus werkt;)
Gewijzigd op 01/01/1970 01:00:00 door jonathan
ik heb zelf een session geplaats met de inlognaam en deze vervolgens vergelijken met info van de tabel.
ik was alleen vergeten
session_start (); neer te zetten.....
Bedankt voor de reacties!