smarty模板新手问题:提示在模板中发现未定义函数
模板代码:
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->{include file ='header.tpl'}
index.php调用代码:
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phprequire_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函数传值
但运行后,总是提示:
Notice: Undefined index: wandoujia in D:\Program Files\wamp\www\Mantance1.0\TemplateFile\Templates\default\templates_c\da1ad7986fcfc741270ca7b7bdceba8d01b88c26.file.index.tpl.php on line 34
Notice: Trying to get property of non-object in D:\Program Files\wamp\www\Mantance1.0\TemplateFile\Templates\default\templates_c\da1ad7986fcfc741270ca7b7bdceba8d01b88c26.file.index.tpl.php on line 34
/>
求教
------解决方案--------------------
第一,这个不是未定义函数,只是为定义的index,
第二,看看此文件34行即可
D:\Program Files\wamp\www\Mantance1.0\TemplateFile\Templates\default\templates_c\da1ad7986fcfc741270ca7b7bdceba8d01b88c26.file.index.tpl.php
------解决方案--------------------
if(isset($_POST['ceshi2'])){
$smarty -> assign('wandoujia',$_POST['ceshi2']);
}
没考虑wandoujia没有分配的情况,如果wandoujia没有值自然或报错。
------解决方案--------------------
把错误级别号改为5或者7,只报打错,Notice错误可以直接忽略,对站点运行豪无影响,我们自己早期开发的PHP站点,因为当时写得不规范,至少有上百个NOTICE级别错误,但是依然完美运行几年了。现在大家也懒得去修正。无所谓。
------解决方案--------------------
如果一定要纠正此NOTICE级别的问题,你可以这么做:除了在PHP代码里判断POST提交外:
if(isset($_POST['ceshi2'])){
$smarty -> assign('wandoujia',$_POST['ceshi2']);
}
还应该在模板里用SMARTY也判断是否有POST提交。如果有就加入SMARTY变量wandoujia。注意这一段:
试着改为:
这里不一定是这样写,你最好直接看看POST提交值的模板的2种输出情况,{$smarty.post.ceshi2}直接插入到一个标签里显示一下。看看有提交值跟没提交值适合{$smarty.post.ceshi2}的输出差别。这样就能判断是否需要加入$wandoujia变量了。

PHP bleibt in der modernen Webentwicklung wichtig, insbesondere in Content-Management- und E-Commerce-Plattformen. 1) PHP hat ein reichhaltiges Ökosystem und eine starke Rahmenunterstützung wie Laravel und Symfony. 2) Die Leistungsoptimierung kann durch OPCACHE und NGINX erreicht werden. 3) Php8.0 führt den JIT -Compiler ein, um die Leistung zu verbessern. 4) Cloud-native Anwendungen werden über Docker und Kubernetes bereitgestellt, um die Flexibilität und Skalierbarkeit zu verbessern.

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen