CodeIgniter 4中的多个提交按钮教程

131 阅读1分钟

下载并安装CodeIgniter 4

下载最新版本的CodeIgniter 4,并将源代码解压到名为LearnCodeIgniter4WithRealApps的新文件夹。

公共文件夹中的index.phphtaccess文件剪切到项目的文件夹中。

打开文件夹中的index.php,找到第16行,将路径替换为Paths.php文件,如下所示。

$pathsPath = realpath(FCPATH . '/app/Config/Paths.php');

打开app/Config文件夹中的App.php,找到第39行,在$indexPage变量中删除index.php字符串,如下所示。

public $indexPage = '';

设置BASE URL

打开app/Config文件夹中的App.php文件。设置**$baseURL**变量的值,如下所示。

public $baseURL = 'http://localhost:8091/LearnCodeIgniter4WithRealApps/';

创建控制器

app/Controllers文件夹下创建名为Demo.php的新PHP文件,如下所示。

<?php

namespace App\Controllers;

class Demo extends BaseController
{
	public function __construct()
	{
		helper(['url']);
	}

	public function index()
	{
		return view('demo/index');
	}

	public function submit1()
	{
		return view('demo/submit1');
	}

	public function submit2()
	{
		return view('demo/submit2');
	}

	public function submit3()
	{
		return view('demo/submit3');
	}

	public function submit4()
	{
		$data['id'] = $this->request->getVar('id');
		return view('demo/submit4', $data);
	}

	public function submit5()
	{
		$data['id'] = $this->request->getVar('id');
		return view('demo/submit4', $data);
	}
}													

创建视图

app/Views文件夹下创建名为Demo的新文件夹。在这个文件夹中,创建新的PHP文件,命名如下。

索引视图

demo文件夹中,创建名为index.php的新的PHP文件,如下所示。

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<title>Multiple Submit Buttons with CodeIgniter 4</title>
	</head>

	<body>

		<h3>Index</h3>
		<form method="post">
			<input type="submit" value="Button 1" formaction="<?= site_url('demo/submit1') ?>">
			<input type="submit" value="Button 2" formaction="<?= site_url('demo/submit2') ?>">
			<button type="submit" formaction="<?= site_url('demo/submit3') ?>">Button 3</button>
			<button type="submit" name="id" value="123" formaction="<?= site_url('demo/submit4') ?>" formmethod="post">Button 4</button>
			<button type="submit" name="id" value="456" formaction="<?= site_url('demo/submit5') ?>" formmethod="get">Button 5</button>
		</form>

	</body>

</html>

提交1视图

demo文件夹中,创建名为submit1.php的新PHP文件,如下所示。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Multiple Submit Buttons with CodeIgniter 4</title>
	</head>
	<body>

		<h3>Submit 1</h3>
		<a href="<?= site_url('demo/index') ?>">Back</a>

	</body>
</html>

提交2视图

demo文件夹中,创建名为submit2.php的新的PHP文件,如下所示。

<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Multiple Submit Buttons with CodeIgniter 4</title>
	</head>
	<body>

		<h3>Submit 2</h3>
		<a href="<?= site_url('demo/index') ?>">Back</a>

	</body>
</html>

提交3视图

demo文件夹中,创建名为submit3.php的新的PHP文件,如下所示。

<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Multiple Submit Buttons with CodeIgniter 4</title>
	</head>
	<body>

		<h3>Submit 3</h3>
		<a href="<?= site_url('demo/index') ?>">Back</a>

	</body>
</html>

提交4视图

演示文件夹中,创建新的PHP文件,命名为submit4.php,如下所示。

<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Multiple Submit Buttons with CodeIgniter 4</title>
	</head>
	<body>
	
		<h3>Submit 4</h3>
		Id: <?= $id ?>
		<br>
		<a href="<?= site_url('demo/index') ?>">Back</a>
	
	</body>
</html>

CodeIgniter 4项目的结构

运行应用程序

用以下网址访问Demo控制器中的索引动作:http://localhost:8091/LearnCodeIgniterWithRealApps/demo/index

输出

Demo控制器中点击Button 1按钮提交表单到submit1动作,如下所示。

Demo控制器中点击Button 2按钮提交表单到submit2动作,如下所示。

点击Button 3按钮,提交表单到Demo控制器中的submit3动作,如下所示。

Demo控制器中,点击Button 4按钮提交表单到submit4动作,如下所示。

点击Button 5按钮,在Demo控制器中提交表单到submit5动作,如下所示。