Seite 1 von 1

Register über fremdes PHP

Verfasst: 09.07.2015 10:48
von accessburn
Hallo,
ich habe heute auf 3.1.x umgestellt und jetzt ist ein kleines Tool ausgefallen das ich dringend benötige.

Früher hat ein Register-Script meiner Webseite automatisch einen Account der Webseite auch beim Forum angelegt. Das funktioniert jetzt nicht mehr.
Könnt ihr da helfen?

Code: Alles auswählen

                            define('IN_PHPBB', true);
                            $phpbb_root_path = '/www/htdocs/w00eaa1c/forum/';
                            $phpEx = substr(strrchr(__FILE__, '.'), 1);
                            include($phpbb_root_path . 'common.php');
                            $user->session_begin();
                            $auth->acl($user->data);
                            $user->setup();
                            global $phpbb_root_path;
                            global $phpEx;
                            global $db;
                            global $config;
                            global $user;
                            global $auth;
                            global $cache;
                            global $template;
                            require($phpbb_root_path .'includes/functions_user.php');
                            $user_row = array(
                                'username' => utf8_encode($_POST['nickname']),
                                'user_password' => $passwort_forum, 
                                'user_email' => utf8_encode($_POST['email']),
                                'group_id' => '2',
                                'user_ip' => $HTTP_SERVER_VARS["REMOTE_ADDR"],
                                'user_timezone' => '1.00',
                                'user_dst' => '1',
                                'user_lang' => 'de',
                                'user_type' => '0',
                                'user_actkey' => '',
                                'user_dateformat' => 'D j. M Y, H:i',
                                'user_style' => '2',
                                'user_regdate' => time(),
                            );
                            if($phpbb_user_id = user_add($user_row)){
                            }
                            else
                            {
                            }

Re: Register über fremdes PHP

Verfasst: 09.07.2015 14:35
von Dr.Death
Hi,

schau mal kurz hier vorbei, vielleicht bringt Dich das in die richtige Richtung:

https://www.phpbb.com/community/viewtop ... &t=2287546

Re: Register über fremdes PHP

Verfasst: 09.07.2015 19:35
von accessburn
Leider nicht wirklich.

Folgende Fehlermeldung erscheint trotzdem :'(
Illegal use of $_POST. You must use the request class or request_var() to access input data. Found in /www/htdocs/.../index.php on line 247. This error message was generated by deactivated_super_global.

Re: Register über fremdes PHP

Verfasst: 10.07.2015 07:54
von Dr.Death
Naja, einfache $POST Statements sind nicht erlaubt.... benutze doch wie angegeben $request_var()

https://wiki.phpbb.com/Function.request_var
Example #8 Getting Multibyte chars

Requesting a multibyte string

$message = utf8_normalize_nfc(request_var('message', '', true));
Beispiel für deinen Nickname:

'username' => utf8_normalize_nfc(request_var('nickname', '', true)),

Re: Register über fremdes PHP

Verfasst: 10.07.2015 16:54
von accessburn
So, Danke :grin: :grin:

Das war der Schupser den ich gebraucht hab. Denn einfach POST zu ersetzen half, aber dem rest der Webseite hat er natürlich dann auch bemängelt.

Umgehen lässt sich das so, für alle die das selbe Problem haben:

Code: Alles auswählen

if ($request) {
    $request->enable_super_globals();
}                            
 

Re: Register über fremdes PHP

Verfasst: 11.07.2015 09:31
von Dr.Death
Danke fürs Feedback, aber könntest Du allen anderen Hilfesuchenden deine komplette Lösung bereitstellen ?