2016-10-04 9 views
0

私は以下のコードを持っています。私のインクルードの上に何かをエコーし​​ようとするたびに、インクルードが私のコードをブレンドしているようです。PHPはJoomla 3.5にインクルードした後に実行しません

PD:詳細については、私のファイルは内部で/ my_main_folder /管理者/コンポーネント/ com_helloworld/

<?php 
define('_JEXEC', 1); 
define('JPATH_BASE', realpath(dirname(__FILE__).'/../../../')); 

include(JPATH_BASE.'/libraries/loader.php'); 

$name = "a"; 
$username = "b"; 
$password = "jhvv"; 
$email = "arcghh"; 

addJoomlaUser($name, $username, $password, $email); 

function addJoomlaUser($name, $username, $password, $email) { 
    jimport('joomla.user.helper'); 
    $data = array(
     "name"=>$name, 
     "username"=>$username, 
     "password"=>$password, 
     "password2"=>$password, 
     "email"=>$email, 
     "block"=>0, 
     "groups"=>array("1","2") 
    ); 

    $user = new JUser; 
    //Write to database 
    if(!$user->bind($data)) { 
     throw new Exception("Could not bind data. Error: " . $user->getError()); 
    } 
    if (!$user->save()) { 
     throw new Exception("Could not save user. Error: " . $user->getError()); 
    } 

    return $user->id; 
} 

>

答えて

1

あなたが、すでに定義された定数を再定義しようとしている?

define('JPATH_BASE', realpath(dirname(__FILE__).'/../../../')); 

これはおそらくあなたのコードを壊しているものです。 Joomla constants

+0

良い点は、それについて知りませんでした。しかし、とにかく私が "include( '../../../library/loader.php');のように私のインクルードを書く場合でも、それは動作しません – Arnausd

+0

PHPエラーをオンにしようとすると、何が表示されます問題... – jonasfh

0

実際の相対パスが実際に動作すると仮定すると、恐らく重要なサーバーファイルを読み取る可能性があるため、../...は現在どのサーバーでも監視対象となります。

相対パスの代わりに実際の物理パスを使用してください...

関連する問題