私はこのサイトとPHPを学習するのが初めてです。私は電子商取引のウェブサイトを作成するために、初心者から専門家まで、PHP5とMySQLの電子商取引を開始するテキストをDarieとBucicaが使用しています。私が今までに遭遇したエラーのいくつかは、更新されたデータベース(MDB2)に起因するものと信じています。私はこれを除いてすべてのエラーを乗り越えることができました。このコードは、Smartyを使用してデータベースから部門リストを取得することになっています。PHPとSmartyエラー:非オブジェクトのプロパティを取得しようとしています
最後の行で「非オブジェクトのプロパティを取得しようとしています」というエラーが表示されます。私はis_array()関数と関係があると感じています。
<?php $_smarty_tpl->tpl_vars["load_departments_list"] = new Smarty_variable("departments_list", null, null);?>
<table border="0" cellpadding="0" cellspacing="1" width="200">
<tr>
<td class="DepartmentListHead"> Choose a Sport </td>
</tr>
<tr>
<td class="DepartmentListContent">
<?php unset($_smarty_tpl->tpl_vars['smarty']->value['section']['i']);
$_smarty_tpl->tpl_vars['smarty']->value['section']['i']['name'] = 'i';
$_smarty_tpl->tpl_vars['smarty']->value['section']['i']['loop'] = is_array($_loop=$_smarty_tpl->getVariable('departments_list')->value->mDepartments) ? count($_loop) : max(0, (int)$_loop); unset($_loop);
回答が必要な場合は、私にお知らせください。できるだけわかりやすいようにし、可能であれば私のコードを使って解決策を示してください。ご協力いただきありがとうございます! -Drew
これは本のコードですか? 'unset($ _ smarty_tpl-> tpl_vars ['smarty'] - > value ['section'] ['i']);'最後の2行でアクセスしようとしている変数を削除します。 – thetaiko
私はこのセクションが.tplファイルからコンパイルされたものであり、本の中には直接含まれていないと思います。とにかく、それは個人的に私によって追加されませんでした。それを指摘してくれてありがとう。私はそれを見てみましょう! – DrewInPB