人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラミング初心者です。
Mac、MAMPを使ってphp+mysqlにてデータベースを使った管理認証のページを制作しています。
その際下記のようなエラーが出て困っています。
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /Applications/MAMP/htdocs/home/top.php on line 8

ソースはこちら
<?php
$documentroot - dirname(__FILE__) .'/';
require_once $documentroot .
'../../php_libs/config/config.inc.php';

require_once (_SMARTY_LIBS_DIR."Smarty.class.php");
$smarty = new Smarty;
$smarty->template_dir = _SMARTY_TEMPLATES_DIR;
$smarty->compile_dir = _SMARTY_TEMPLATES_C_DIR;
$smarty->config_dir = _SMARTY_CONFIG_DIR;
$smarty->cache_dir = _SMARTY_CACHE_DIR;
require_once("Auth/Auth.php");
require_once("HTML/QuickForm.php");


$params['dns'] = _DNS;
$params['table'] = _ID_Pass;
$params['usernamecol'] = _DB_USERNAMECOL;
$params['passwordcol'] = _DB_PASSWORDCOL;
$params['cryptType'] = "MD5";

$auth = new Auth("DB", $params);

$auth->start();

if(suth->getAuth(){
$smarty->assign("title","管理ページ");
}else{
$smarty->assign("title","ID、パスワードをご確認ください。");

$file = "jls_login.tpl";
$smarty->display($file);
?>

テンプレートとしてsmartyを使っているのが原因なのか、データベースが悪いのか・・・
回答よろしくお願いいたします。

●質問者: K_Fuduki
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Class config dB DNS HOME
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●35ポイント

手順1)まずはT_OBJECT_OPERATORを以下の表に照らし合わせると、クラスとオブジェクトの関係が成り立っていないのが原因ということが判ります。

パーサトークンの一覧

http://php.s3.to/man/tokens.html


手順2)

次に問題となっている8という行を中心にした部分だけを抜き出して、テストを実施してみて、本当の問題点が8行目なのかどうかを見極めます。

require_once (_SMARTY_LIBS_DIR."Smarty.class.php");

$smarty = new Smarty;

$smarty->template_dir = _SMARTY_TEMPLATES_DIR;

ではどうか

require_once (_SMARTY_LIBS_DIR."Smarty.class.php");

$smarty = new Smarty;

$smarty->template_dir = _SMARTY_TEMPLATES_DIR;

$smarty->compile_dir = _SMARTY_TEMPLATES_C_DIR;

ではどうか、、、


といったことの繰り返し、、、、プログラム初心者さんということで、ズバリではなく、解決までのステップを回答しましたが、いかがでしょう。。。。


2 ● vector
●35ポイント

syntaxエラーなので、何か書き間違えだと思います。

エラー文に何行目にエラーがあるか書いているのでそこを、もしくはそこの前付近を見ると原因がわかります。


誤字脱字だと思いますが、上のソースでは色々抜けています。

直したものをペーストしておきますので、もう一度syntax checkしてみてください。


<?php

$documentroot = dirname(__FILE__) .'/';

require_once $documentroot .

'../../php_libs/config/config.inc.php';

require_once (_SMARTY_LIBS_DIR."Smarty.class.php");

$smarty = new Smarty();

$smarty->template_dir = _SMARTY_TEMPLATES_DIR;

$smarty->compile_dir = _SMARTY_TEMPLATES_C_DIR;

$smarty->config_dir = _SMARTY_CONFIG_DIR;

$smarty->cache_dir = _SMARTY_CACHE_DIR;

require_once("Auth/Auth.php");

require_once("HTML/QuickForm.php");


$params['dns'] = _DNS;

$params['table'] = _ID_Pass;

$params['usernamecol'] = _DB_USERNAMECOL;

$params['passwordcol'] = _DB_PASSWORDCOL;

$params['cryptType'] = "MD5";

$auth = new Auth("DB", $params);

$auth->start();

if($auth->getAuth()){

$smarty->assign("title","管理ページ");

}else{

$smarty->assign("title","ID、パスワードをご確認ください。");

}

$file = "jls_login.tpl";

$smarty->display($file);

?>


dummy url

http://google.co.jp/

◎質問者からの返答

ありがとうございます。

画面の表示がされました。

まだまだエラー表示とかありますが、今まで真っ白だった画面にフォーム等が表示されました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ