Jadual Kandungan
{$tableName}

Rumah pembangunan bahagian belakang tutorial php smarty模板新手有关问题:提示在模板中发现未定义函数

smarty模板新手有关问题:提示在模板中发现未定义函数

Jun 13, 2016 am 10:19 AM
gt lt quot smarty

smarty模板新手问题:提示在模板中发现未定义函数
模板代码:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->{include file ='header.tpl'}
Salin selepas log masuk

{$tableName}

姓名:
测试:
{include file ='footer.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');?>
Salin selepas log masuk


即在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变量了。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Jul 29, 2023 am 08:22 AM

Bahagian 1: Langkah Penyelesaian Masalah Awal Menyemak Status Sistem Apple: Sebelum menyelidiki penyelesaian yang rumit, mari kita mulakan dengan asas. Masalahnya mungkin tidak terletak pada peranti anda; Lawati halaman Status Sistem Apple untuk melihat sama ada AppStore berfungsi dengan betul. Jika terdapat masalah, anda hanya boleh menunggu Apple membetulkannya. Semak sambungan Internet anda: Pastikan anda mempunyai sambungan internet yang stabil kerana isu "Tidak dapat menyambung ke AppStore" kadangkala boleh dikaitkan dengan sambungan yang lemah. Cuba tukar antara Wi-Fi dan data mudah alih atau tetapkan semula tetapan rangkaian (Umum > Tetapkan Semula > Tetapkan Semula Tetapan Rangkaian > Tetapan). Kemas kini versi iOS anda:

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

Kajian awal tentang Smarty, enjin templat dalam PHP Kajian awal tentang Smarty, enjin templat dalam PHP May 11, 2023 pm 05:15 PM

Pada masa kini, pembangunan laman web tidak dapat dipisahkan daripada enjin templat komponen yang penting. Enjin templat merujuk kepada alat yang menggabungkan templat halaman dan data untuk menjana kod HTML dengan format tertentu. Dalam pelbagai rangka kerja pembangunan laman web, enjin templat merupakan komponen penting, kerana enjin templat boleh mengurangkan pertindihan kod dan meningkatkan dinamik halaman dengan banyak. Salah satu enjin templat yang paling biasa dan popular ialah Smarty. Smarty ialah DSL (DomainSpecif

Cara menggunakan PHP dan Smarty untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang Cara menggunakan PHP dan Smarty untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang Jun 25, 2023 pm 01:46 PM

Dalam pembangunan web moden, pemisahan bahagian hadapan dan bahagian belakang telah menjadi trend yang sangat popular, yang membolehkan pembangun mengatur projek dengan lebih baik dan meningkatkan kecekapan pembangunan projek. PHP dan Smarty ialah dua teknologi yang sangat biasa digunakan, yang boleh digunakan untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang. Artikel ini akan memperkenalkan cara menggunakan PHP dan Smarty untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang. Apakah pembangunan pemisahan bahagian hadapan dan bahagian belakang Dalam pembangunan web tradisional, bahagian hadapan bertanggungjawab terutamanya untuk pembentangan halaman dan logik interaksi dengan bahagian belakang. Bahagian belakang bertanggungjawab terutamanya untuk perniagaan

Cara menggunakan enjin templat Smarty dalam pembangunan PHP Cara menggunakan enjin templat Smarty dalam pembangunan PHP Jun 27, 2023 pm 01:28 PM

Sebagai pembangun PHP, menggunakan enjin templat adalah pilihan semula jadi. Smarty ialah enjin templat popular yang menyediakan cara untuk memisahkan HTML/CSS/JavaScript daripada kod PHP, membolehkan pembangun mengatur dan mengurus projek dengan lebih baik. Dalam artikel ini, kita akan belajar cara menggunakan enjin templat Smarty semasa pembangunan PHP. 1. Pasang Smarty Sebelum ini, kita mesti memasang Smarty. Dalam artikel ini kami akan menggunakan Komposer untuk memasang

Cara menggunakan PHP dan enjin templat Smarty Cara menggunakan PHP dan enjin templat Smarty May 11, 2023 pm 03:33 PM

PHP ialah bahasa skrip sebelah pelayan yang berkuasa yang boleh digunakan untuk membangunkan aplikasi web. Pada hari-hari awal pembangunan web, pengaturcara menggunakan banyak kod HTML dan JavaScript untuk membangunkan aplikasi web. Walau bagaimanapun, pendekatan ini sukar untuk dikekalkan dan diurus kerana kod HTML dan JavaScript boleh menjadi sangat kompleks. Untuk menyelesaikan masalah ini, enjin templat Smarty telah dicipta. Smarty ialah enjin templat yang dibangunkan berdasarkan PHP untuk mengurus dan menjana W

See all articles