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?
dit is mijn session testje
<?php 
ini_set('display_errors', 1);
error_reporting(E_ALL);
print_r($_SESSION);

?> 


en dit is de foutmelding
Notice: Undefined variable: _SESSION in public_html/test.php on line 4
Try this..

<?php
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
ik krijg nu Array ( ) met niks erin
Gefeliciteerd! Nu weet je dus dat er niks in de sessie staat.

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.....?
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?

Reageren