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

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 13:17:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

ポイント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

回答回数113ベストアンサー獲得回数4

ポイント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

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

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

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

回答リクエストを送信したユーザーはいません