プログラミング初心者です。

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を使っているのが原因なのか、データベースが悪いのか・・・
回答よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/18 12:46:00
  • 終了:2006/05/18 13:17:17

回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012006/05/18 12:59:58

ポイント35pt

手順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;

ではどうか、、、


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

id:vector_xenon No.2

vector回答回数113ベストアンサー獲得回数42006/05/18 13:01:24

ポイント35pt

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/

id:K_Fuduki

ありがとうございます。

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

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

2006/05/18 13:09:04

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません