Global $user Probleme
am 01.04.2012 - 10:13 Uhr in
Hallo,
ich habe ein kleines Problem mit den Global $user Variablen und bitte um eure Hilfe.
Ich habe ein Formular(HTML) welches Daten an meine(drupal externe) php Datei übermittelt und diese tragt die Daten in meine mysql db ein.
Es werden alle Daten bis auf UID und NAME richtig eingetragen. Kann es sein das die externe php Datei die $user globals nicht mehr kennt ?
Hat jemand eine Idee ??
.
Teil der php Datei:
<?php
global $user;
$name=($user ->name);
$uid= ($user->uid);
$ip= $_SERVER['REMOTE_ADDR'];
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
$beitrag_id = "$id";
$sql1 = "INSERT INTO mn_log (user_uid, user, user_ip, abfrage_id, datum, zeit)
VALUES
('uid','name','$ip','$beitrag_id','$datum','$uhrzeit')";
if (!mysql_query($sql1,$con)){
die('Error: ' . mysql_error($con));
}
echo "geloggt";
?>Wenn ich in Drupal einen Inhalt vom Typ php erstelle und folgenden code eingebe
<?php
global $user;
$ip=($user ->hostname);
print_r($ip);
?>bekomme ich die gewünschten Daten (IP-Adresse) angezeigt.
- Anmelden oder Registrieren um Kommentare zu schreiben

Deine externe Datei kann die
am 01.04.2012 - 11:33 Uhr
Deine externe Datei kann die globale Variable auch gar nicht kennen, da sie "nix mit Drupal zu tun hat" ..
Du müsstest dir vorher das Drupal System "reinholen" - sprich den bootstrap Prozess einmal durchlaufen lassen - erst dann kennt dein Script die globale User Variable.
Die Datei muss dabei natürlich auf dem selben Server ausgeführt werden.
<?php
// include drupal bootstrap stuff
$path = $_SERVER['DOCUMENT_ROOT'];
chdir($path);
define('DRUPAL_ROOT', getcwd()); //the most important line
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
global $user;
echo "<pre>";
print_r($user);
echo "</pre>";
?>
SteffenR
Herzlichen Dank !!! Das
am 01.04.2012 - 13:53 Uhr
Herzlichen Dank !!!
Das funktioniert mal.
nachdem die Seite aufgerufen wird erscheinen folgende Fehlermeldungen:
Notice: Constant DRUPAL_ROOT already defined in eval() (Zeile 12 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: datum_von in eval() (Zeile 39 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: datum_bis in eval() (Zeile 40 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 1 in eval() (Zeile 41 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 2 in eval() (Zeile 42 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 3 in eval() (Zeile 43 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 4 in eval() (Zeile 44 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 5 in eval() (Zeile 45 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 6 in eval() (Zeile 46 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 7 in eval() (Zeile 47 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Notice: Undefined index: 8 in eval() (Zeile 48 von /var/www/vhosts/xxx/httpdocs/modules/php/php.module(80) : eval()'d code).
Funktionieren tut alles aber vielleicht weis ja wer wie ich die Meldungen weg bekomm.
Danke !