Smarty テンプレートの初心者の問題: テンプレート内で未定義の関数が見つかったというプロンプトが表示される
Smarty テンプレートの初心者の質問: ヒント: テンプレート
で未定義の関数が見つかりました テンプレート コード:
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->{include file ='header.tpl'} <form name="oform" action="index.php" method="post" onsubmit=""> <table border="1" align="center" width="70%" cellpadding="3" cellspacing="0"> <caption><h3>{$tableName}<h3></caption> <tr> <td width="20%">姓名:</td><td><input type="string" name="ceshi" {if $wandoujia} value='{$wandoujia}'{/if} /></td> </tr> <tr> <td>测试:</td><td><input type="string" name="ceshi2" /></td> </tr> <tr><td colspan="2"><input type="submit" value="查询" /></td></tr> </table> </form> {include file ='footer.tpl'}
index.php 呼び出しコード:
- PHP コード
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php require_once dirname(__FILE__) . "\include\common.inc.php"; require_once SR_TEMPLATE . "\TemplatesFunction.php"; $smarty = $GLOBALS['smarty']; $smarty -> assign('title','测试标题'); $smarty -> assign('Version',"2011"); $smarty -> assign('HomePageLink','http://localhost/Matance1.0/'); $smarty -> assign('tableName','标题'); if(isset($_POST['ceshi2'])){ $smarty -> assign('wandoujia',$_POST['ceshi2']); } $smarty -> display('index.tpl'); ?>
つまり、index.tpl テンプレートにフォームを作成します。action="index.php"、index.php は、そうであれば、値
をテンプレートの $wandoujia 関数に渡しますが、実行後は常に次のプロンプトが表示されます:
注意: 未定義のインデックス: D:Program FileswampwwwMantance1 の wandoujia .0TemplateFileTemplatesdefaulttemplates_cda1ad7986fcfc741270ca7b7bdceba8d01b88c26 .file.index.tpl、34 行目
注意: D:Program FileswampwwwMantance1.0TemplateFileTemplatesdefaulttemplates_cda1ad7986fc で非オブジェクトのプロパティを取得しようとしていますfc741270ca7b7bdceba8d01b88c26.file.index.tpl.php 行 34
/>
アドバイスを求める
-----解決策---------
まず、これは定義されたインデックスだけの関数ではありません。
次に、このファイルの 34 行目を見てください。
D:Program FileswampwwwMantance1.0TemplateFileTemplatesdefaulttemplates_cda1ad7986fcfc741270ca7b7bdceba8d01b88c26.file.index.tpl.php
------解決策---------
if(isset($_POST['ceshi2' ] )){
$smarty -> assign('wandoujia',$_POST['ceshi2']);
}
は、wandoujia が割り当てられていない状況を考慮しません。値がありません。それは自然です。または、エラーを報告します。
------解決策---------
エラーレベル番号を 5 または 7 に変更するだけです。誤字脱字は報告されますが、初期に開発した PHP サイトには、当時標準化された方法で記述されていなかったため、無視しても問題ありません。 、しかし、それでも数年間は完璧に動作しました。今では、それを修正するのに怠け者は誰もいません。それは問題ではありません。
------解決策------------------
この NOTICE レベルの問題を修正する必要がある場合は、次のことができます。 PHP コードで POST 送信を判断することに加えて、次のようにします:
if(isset($_POST['ceshi2'])){
$smarty -> assign('wandoujia',$_POST[' ceshi2' ]);
}
POST 送信があるかどうかを判断するには、テンプレートで SMARTY を使用する必要もあります。ある場合は、SMARTY 変数 wandoujia を追加します。この段落に注目してください:
次のように変更してみてください:
これは必ずしもこのように書かれているわけではありません。直接 POST 送信する。値テンプレートの出力には 2 つの状況があります。{$smarty.post.ceshi2} は、表示のためにタグに直接挿入されます。送信された値がある場合とない場合の {$smarty.post.ceshi2} の出力の違いを見てください。このようにして、$wandoujia 変数を追加する必要があるかどうかを判断できます。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動作しているかどうかを確認してください。問題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認します。「AppStore に接続できません」問題は接続不良が原因である場合があるため、安定したインターネット接続があることを確認してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設定のリセット] > [設定])。 iOS バージョンを更新します。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

現在、Web サイト開発は重要なコンポーネント テンプレート エンジンから切り離せません。テンプレート エンジンとは、ページ テンプレートとデータを組み合わせて特定の形式の HTML コードを生成するツールを指します。テンプレート エンジンはコードの重複を大幅に削減し、ページのダイナミクスを向上させることができるため、さまざまな Web サイト開発フレームワークにおいて、テンプレート エンジンは不可欠なコンポーネントです。最も一般的で人気のあるテンプレート エンジンの 1 つは Smarty です。 Smarty は DSL (DomainSpecif

現代の Web 開発では、フロントエンドとバックエンドの分離が非常に一般的な傾向になっており、これにより開発者はプロジェクトをより適切に組織し、プロジェクト開発の効率を向上させることができます。 PHP と Smarty は非常によく使用される 2 つのテクノロジであり、フロントエンドとバックエンドの分離開発を実現するために使用できます。この記事では、PHPとSmartyを使ってフロントエンドとバックエンドの分離開発を実現する方法を紹介します。フロントエンドとバックエンドの分離開発とは何ですか? 従来の Web 開発では、フロントエンドは主にページのプレゼンテーションとバックエンドとの対話ロジックを担当します。バックエンドは主にビジネスを担当します

PHP 開発者として、テンプレート エンジンを使用するのは自然な選択です。 Smarty は、HTML/CSS/JavaScript を PHP コードから分離する方法を提供する人気のテンプレート エンジンで、開発者がプロジェクトをより適切に整理および管理できるようにします。この記事では、PHP 開発中に Smarty テンプレート エンジンを使用する方法を学びます。 1. Smarty をインストールする 前に、Smarty をインストールする必要があります。この記事では、Composer を使用してインストールします

PHP は、Web アプリケーションの開発に使用できる強力なサーバー側スクリプト言語です。 Web 開発の初期の頃、プログラマーは Web アプリケーションを開発するために大量の HTML および JavaScript コードを使用しました。ただし、HTML および JavaScript コードが非常に複雑になる可能性があるため、このアプローチは維持および管理が困難です。この問題を解決するために、Smarty テンプレート エンジンが作成されました。 Smarty は、PHP をベースに開発された、W を管理および生成するためのテンプレート エンジンです。
