在PHP中,将数据从一个HTML页面传递到第二个页面通常涉及以下几种方法:
这是最常见的方法,通过HTML表单将数据提交到服务器端的PHP脚本。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form Page</title>
</head>
<body>
<form action="process.php" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
echo "Name: " . htmlspecialchars($name) . "<br>";
echo "Email: " . htmlspecialchars($email);
}
?>
通过URL传递数据,适用于不需要保密的数据。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Link Page</title>
</head>
<body>
<a href="display.php?name=John&email=john@example.com">Go to Display Page</a>
</body>
</html>
<?php
$name = $_GET['name'];
$email = $_GET['email'];
echo "Name: " . htmlspecialchars($name) . "<br>";
echo "Email: " . htmlspecialchars($email);
?>
适用于需要在多个页面间共享数据的场景。
<?php
session_start();
$_SESSION['name'] = 'John';
$_SESSION['email'] = 'john@example.com';
header('Location: get_session.php');
exit();
?>
<?php
session_start();
$name = $_SESSION['name'];
$email = $_SESSION['email'];
echo "Name: " . htmlspecialchars($name) . "<br>";
echo "Email: " . htmlspecialchars($email);
?>
类似于Session,但数据存储在客户端。
<?php
setcookie("name", "John", time() + 3600);
setcookie("email", "john@example.com", time() + 3600);
header('Location: get_cookie.php');
exit();
?>
<?php
if (isset($_COOKIE['name']) && isset($_COOKIE['email'])) {
$name = $_COOKIE['name'];
$email = $_COOKIE['email'];
echo "Name: " . htmlspecialchars($name) . "<br>";
echo "Email: " . htmlspecialchars($email);
}
?>
htmlspecialchars()
函数来防止XSS攻击。HttpOnly
和Secure
标志。通过以上方法,你可以有效地在PHP中将数据从一个HTML页面传递到另一个页面。
领取专属 10元无门槛券
手把手带您无忧上云