Ich möchte unter Joomla 1.5 eigene Scripte über den Wrapper einbinden.
Da in diesen Scripten eine erweiterte Benurtzerverwaltung verwendet wird, lese ich die Daten des Joomla-Benutzers erst einmal aus:
Soweit so gut! In $variation finden sich jetzt bei meinem Benutzername beispielsweise 4 Werte ($variation[0] bis $variation[3])PHP-Code:define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$my =& JFactory::getUser();
$username = $my->get('name');
if (substr(mysql_real_escape_string($username),-2) == '\n') $username=substr(mysql_real_escape_string($username),0,-2); // Zeile wird aufgrund eines anderen Komponente benötigt
// Nun wird der Username in einer externen Tabelle gelesen
$select_angestellte = "SELECT * FROM benutzer WHERE name='".mysql_real_escape_string($username,$db)."' ORDER BY vp";
$select_angestellte_q = mysql_query($select_angestellte,$db);
while($user=mysql_fetch_array($select_angestellte_q,MYSQL_ASSOC)){
$variation[]=$user;
}
Das klappt soweit auch hervorragend.
Nun lasse ich den Benutzer auswählen mit welchen Login (jeder der 4 Logins greift später auf andere Daten einer bestimmten MySQL Tabelle zu) er weiterarbeiten möchte.
Das funktioniert mittels
auch problemlos.PHP-Code:echo JHTML::_( 'form.token' );
?><button onclick="this.form.submit();"><?php echo JText::_('GO'); ?></button><?php
Jedesmal wenn der User seinen Login wechselt (aus den 4 verschiedenen) werden verschieden Werte in $_SESSION geschrieben.
PHP-Code:$_SESSION[standort] = $variation[$usr_id][standort];
$_SESSION[recht_global] = $variation[$usr_id][rechte];
$_SESSION[name] = $variation[$usr_id][name];
$_SESSION[debit_nummer] = $variation[$usr_id][debit];
$_SESSION[vp_nummer] = $variation[$usr_id][vp];
$_SESSION[debitel_vo] = $variation[$usr_id][debitel];
$_SESSION[shop] = $variation[$usr_id][shop];
Solange ich nun in dem Skript weiterarbeit kann ich diese auch nutzen. echo $_SESSION[standort] weiter unten im Script gibt den Standort problemlos aus.
Wenn das Script nun neu gestartet wird ist $_SESSION[standort] wieder leer????
Hat irgend jemand einen Tip für mich - ich suche schon seit 2 Tagen nach einer Lösung und komme nicht weiter.
Wenn ich mal den ganzen Auswahl kram usw. weglasse und einfach folgendes Teste:
erziele ich das gleiche Ergebnis.PHP-Code:define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
session_start();
echo "vorher: ".$_SESSION[test]."<br>";
$_SESSION[test] = 'Test';
echo "nachher: ".$_SESSION[test]."<br>";
$_SESSION[test] ist nach erneutem Aufruf des scripts wieder leer.
Wenn ich den Joomla-Kram weglasse funktioniert es wie gewünscht....
Das gleiche Script (natürlich mit den entsprechenden Joomla 1.0 Bezeichnern) funktioniert unter Joomla 1.0 einwandfrei...


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen