在PHP Smarty框架中處理表單數據主要包括以下步驟:
<!DOCTYPE html>
<html>
<head>
<title>Form Example</title>
</head>
<body>
<form action="process_form.php" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
process_form.php
的腳本。在這個腳本中,我們將使用Smarty模板引擎來顯示表單數據和處理用戶輸入的數據。首先,確保你已經安裝了Smarty庫并將其包含在你的項目中。然后,創建一個process_form.php
文件,如下所示:
<?php
require_once 'vendor/autoload.php';
// 創建Smarty對象
$smarty = new Smarty();
// 設置模板目錄
$smarty->setTemplateDir('templates');
// 設置配置目錄
$smarty->setConfigDir('configs');
// 設置緩存目錄
$smarty->setCacheDir('cache');
// 檢查表單是否已提交
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 獲取表單數據
$name = $_POST['name'];
$email = $_POST['email'];
// 在模板中顯示表單數據
$smarty->assign('name', $name);
$smarty->assign('email', $email);
}
// 渲染模板
$smarty->display('form.tpl');
?>
form.tpl
的模板文件。在templates
目錄下創建一個名為form.tpl
的文件,并添加以下內容:
<!DOCTYPE html>
<html>
<head>
<title>Form Example</title>
</head>
<body>
<h1>Form Data</h1>
{if $name && $email}
<p>Name: {$name}</p>
<p>Email: {$email}</p>
{else}
<p>Please fill out the form.</p>
{/if}
<a href="form.php">Back to Form</a>
</body>
</html>
現在,當用戶提交表單時,process_form.php
腳本將處理表單數據并在form.tpl
模板中顯示結果。