ik heb een tabel: session, hier wordt bij inloggen oa de username in opgeslagen.
en ik heb een tabel user, hier staat alle informatie in over de gebruiker oa de username.
nu heb ik dat in mijn formulier de username van de ingelogde gebruiker wordt weergegeven.
maar ik wil meer informatie in het formulier weergeven, bijv straat postcode enz.
mijn vraag: kan ik de username van de session tabel vergelijken met de username van de user tabel en op deze manier dus meer gegevens van de ingelogde gebruiker kunnen oproepen?
kan iemand mij hiermee verder helpen?
inmiddels wat verder gekeken...
er is een module die kijkt welke gebruikers online zijn...
<?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;
?>
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:
<?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);
}
?>
heeft iemand aan de hand van de who's online module nog ideen?
Nou, dit is totale onzin natuurlijk:
"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.
okeey maar in "who's online" maken ze zo te zien wel gebruik van sessions tog?
hier gebruiken ze "FROM #__session" en halen ze gegevens op waarom werkt dat daar dan wel?
en als ik het op deze manier doe
$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?