Đối với các câu trả lời khác (đặc biệt là câu trả lời toán học), tốt hơn hết là bạn nên sử dụng trực tiếp một số javascript trên trang để xác thực các câu trả lời trước khi cho phép gửi biểu mẫu? Toán học có thể được thực hiện như thế này if(empty($answerbox))
{
echo "Please answer the math question. ";
}
elseif ($answer!=15)
{
echo "Oh oh, the answer seems wrong...";
}
else
{
// Something else?
}
Tôi nghĩ rằng bạn cũng có thể hiểu sai về vị trí và cách thức PHP chạy. Tất cả mã PHP được thực thi trên máy chủ trước khi nó đến tay người dùng. Bạn không thể kiểm tra câu trả lời thông qua PHP cho đến khi bạn gửi biểu mẫu của mình và xử lý nó trên máy chủ PHP là ngôn ngữ lập trình được sử dụng để tạo các ứng dụng web tương tác. Nó là một ngôn ngữ phía máy chủ phổ biến Trong hướng dẫn này, sẽ xây dựng một biểu mẫu liên hệ bằng PHP. Nó sẽ bao gồm các tính năng như xác thực biểu mẫu, khả năng gửi email bằng máy chủ Gmail SMTP và thư viện PHPMailer Biểu mẫu liên hệ cuối cùng của chúng tôi sẽ trông như hình bên dưới Mục lục- điều kiện tiên quyết
- Tổng quan và thiết lập dự án
- Dự án mới PHP
- Tạo biểu mẫu
- Xác thực mẫu trong PHP
- Gửi Email bằng PHP Mailer và Google Gmail SMTP server
- Phần kết luận
điều kiện tiên quyếtĐể làm theo hướng dẫn này, người đọc nên - Có hiểu biết cơ bản về HTML và PHP
- Đã cài đặt PHP và XAMPP. Chúng tôi sẽ sử dụng XAMPP để chạy PHP cục bộ trên máy của bạn
Sử dụng trang này để tải xuống và cài đặt XAMPP Tổng quan và thiết lập dự ánTrong phần này, chúng tôi sẽ thiết lập dự án của chúng tôi. Lưu ý rằng hướng dẫn này sử dụng XAMPP (môi trường phát triển PHP đa nền tảng miễn phí) Do đó, sau khi cài đặt, hãy khởi động mô-đun <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
3 và <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4Tiếp theo, mở trình duyệt của bạn và điều hướng đến http. // localhost/bảng điều khiển/. Bạn nên xem những điều sau đây Dự án mới PHPHãy tạo một dự án PHP mới Bước 1Trong <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
5 của bạn, hãy mở thư mục <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
0. Trong thư mục này, điều hướng đến thư mục <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
1 và tạo một thư mục mới với tên <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
2Bước 2Mở thư mục <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
2 trong trình chỉnh sửa mã yêu thích của bạn và tạo một tệp mới có tên là <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4Dán mã bên dưới vào tệp <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Điều hướng trở lại <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
6, bạn sẽ thấy tiêu đề có nội dung Hello WorldLưu ý rằng chúng tôi đã không thêm đường dẫn URL vào <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4 vì theo mặc định trong PHP, điều hướng đến trang gốc của thư mục sẽ tự động tải chỉ mục. tập tin phpTạo biểu mẫuTrong phần này, chúng ta sẽ tạo một biểu mẫu cơ bản Bên trong <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4Thay thế mã trước bằng mã sau <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
Chuyện gì đang xảy ra ở đây - Chúng tôi đã tạo một biểu mẫu cơ bản bằng phương thức POST để cuối cùng gửi yêu cầu trở lại trang này
Để tìm hiểu thêm về các biểu mẫu PHP, hãy xem bài viết tuyệt vời này
Chúng tôi cũng đang sử dụng materializeCSS cho một số kiểu dáng mặc định Chúng tôi đã thêm một số biến PHP trong trang HTML của mình để lặp lại thông báo lỗi hoặc giá trị được nhập vào biểu mẫu. Lưu ý rằng chúng tôi chưa tạo các biến này trong tập lệnh PHP của mình nên nó sẽ tạo ra một số lỗi nếu bạn làm mới trình duyệt của mình
Hàm htmlspecialchars được sử dụng để thay đổi các ký tự đặc biệt thành những ký tự mà HTML có thể hiểu và hiển thị đúng cách. Điều này ngăn chặn các lỗ hổng như tấn công kịch bản chéo trang (XSS) bằng cách thay thế tất cả các ký tự có hại bằng các thực thể HTML vô hại. Do đó, hãy luôn bao gồm chức năng này khi xuất đầu vào của người dùng trong HTML của bạn
Xác thực biểu mẫu trong PHPTrong phần này, chúng tôi sẽ tạo logic của trang web của chúng tôi trong <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4 để xác thực đầu vào của người dùngThêm mã bên dưới vào đầu tệp <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
3Bạn nên biết điều gì Trong đoạn mã trên - Chúng tôi đã tạo một số biến để lưu trữ thông báo
<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
30, <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
31 hoặc <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
32 - Chúng tôi cũng đã tạo một mảng
<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
33 để lưu trữ các thông báo lỗi cụ thể
Điều hướng trở lại <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
34 và làm mới trình duyệt của bạnLưu ý rằng tập lệnh PHP này được bao bọc bên trong thẻ <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
35, nếu không, nó sẽ không được coi là mã PHP
Tiếp theo, thêm chức năng sau vào bên trong các thẻ PHP <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
0Bạn nên biết điều gì - Chức năng này được sử dụng để khử trùng chuỗi (đầu vào của người dùng) bằng cách xóa
<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
36, <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
37 và <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
38. Điều này rất quan trọng để ngăn chặn tin tặc nhập văn bản độc hại
Tiếp theo, thêm đoạn mã sau <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4Chuyện gì đang xảy ra ở đây Câu lệnh điều kiện trên kiểm tra xem biểu mẫu đã được gửi chưa. Nếu đúng như vậy, nó sẽ thực hiện một số chức năng để khử trùng và xác thực đầu vào của người dùng hoặc hiển thị bất kỳ thông báo lỗi nào Sự kết hợp của hàm <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
39 và <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
00 kiểm tra xem biểu mẫu có trống khôngHàm <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
01 được sử dụng để kiểm tra đánh giá đầu vào của người dùng dựa trên một số tiêu chí sử dụng regexVà cuối cùng, nếu không có lỗi trong mảng <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
33, email sẽ được gửi
Gửi Email bằng PHP Mailer và Google Gmail SMTP serverĐể gửi email bằng Gmail, chúng ta cần có tài khoản Google. Nếu bạn chưa có, hãy theo liên kết này để tạo một cái Tải xuống thư PHPPHPMailer là một thư viện phổ biến được viết bằng PHP để gửi email Tải xuống PHPMailer bằng liên kết này Giải nén gói bên trong thư mục php-contact Bạn có thể xem qua file readme để hiểu thêm về thư viện này
Định cấu hình tài khoản Gmail của bạnĐể gửi email, bạn cần bật quyền truy cập cho các ứng dụng kém an toàn hơn bằng liên kết này Lưu ý rằng các tài khoản Google đã bật Xác minh 2 bước không hoạt động với các ứng dụng bảo mật Thay vào đó, bạn sử dụng mật khẩu ứng dụng. Bạn có thể tạo mật khẩu ứng dụng bằng liên kết này Thêm đoạn mã sau vào đầu tệp <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
4<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
0Bạn nên biết điều gì Trong đoạn mã trên - Chúng tôi đã bao gồm các gói và tệp cho giao thức PHPMailer và SMTP
- Chúng tôi khởi tạo Trình gửi thư PHP, định cấu hình nó để sử dụng giao thức SMTP và thêm thông tin xác thực
Tiếp theo, thay thế nhận xét này <!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
04 bằng đoạn mã sau<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.error {
color: white;
background-color: crimson;
border-radius: 7px;
text-align: center;
}
.success {
background-color: darkgreen;
color: white;
border-radius: 7px;
text-align: center;
}
</style>
</head>
<body>
<main class="container">
<h4>Contact</h4>
<hr>
<div class="row">
<div class="col s12 l5">
<span class="bold">Get in touch with me via email</span>
</div>
<div class="col s12 l5 offset-l2">
<div class="success"><?php echo $success ?></div>
<div class="error"><?php echo $error ?></div>
<form action="index.php" method="post">
<div class="input-field">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="name" id="name" value="<?php echo htmlspecialchars($name) ?>">
<label for="name">Your name*</label>
<div class="error"><?php echo $errors["name"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">email</i>
<input type="email" name="email" id="email" value="<?php echo htmlspecialchars($email) ?>">
<label for="email">Your email*</label>
<div class="error"><?php echo $errors["email"] ?></div>
</div>
<div class="input-field">
<i class="material-icons prefix">mode_edit</i>
<textarea id="message" class="materialize-textarea" name="message"><?php echo htmlspecialchars($message) ?></textarea>
<label for="message">Your Message*</label>
<div class="error"><?php echo $errors["message"] ?></div>
</div>
<div class="input-field center">
<input type="submit" class="btn-large z-depth-0" name="submit" id="submit" value="Send"></input>
</div>
</form>
</div>
</div>
</main>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
</html>
2Chuyện gì đang xảy ra ở đây - Chúng tôi đã thêm người gửi email và tên (chức năng setFrom)
- Chúng tôi cũng đã thêm người nhận email (chức năng addAddress)
- Chúng tôi đã thêm chủ đề và nội dung và cuối cùng đã gửi thư
Phần kết luậnTrong hướng dẫn này, chúng ta đã học cách thêm biểu mẫu liên hệ vào trang web PHP. Chúng tôi cũng đã xem xét cách gửi email bằng tài khoản Gmail của Google và thư viện PHPMailer
Làm cách nào để gửi email từ một biểu mẫu trong PHP?
Máy chủ lưu trữ web của chúng tôi chạy máy chủ thư cục bộ mà tập lệnh PHP có thể sử dụng để gửi email. Điều này có thể được thực hiện bằng chức năng thư dựng sẵn của PHP. $headers = "Từ. $email_addressn"; $sent = mail('you@domain. com', 'Gửi biểu mẫu phản hồi', $feedback, $headers); Đảm bảo bạn đặt địa chỉ email của mình ở dòng 2.
Làm cách nào để tạo biểu mẫu liên hệ và gửi email trong PHP?
Biểu mẫu liên hệ qua email PHP . Mã phải khớp với phương thức biểu mẫu Định cấu hình máy chủ thư localhost đúng cách Sử dụng một gói gửi thư khác Bật thư tùy chỉnh của PHP. đăng nhập Sử dụng API/SMTP với nhà cung cấp dịch vụ mail uy tín
Làm cách nào để gửi email xác nhận cho người dùng sau khi gửi biểu mẫu bằng PHP?
1 câu trả lời . tạo một trường được kích hoạt trong cơ sở dữ liệu (mặc định là sai) Sau khi đăng ký, email được gửi Điền một liên kết trong email, để bao gồm. a) mã định danh duy nhất của người dùng b) kích hoạt để hoạt động. . Tập lệnh đăng ký của bạn cố lấy người dùng theo id Cập nhật trường đã kích hoạt thành true
Làm cách nào để xác thực email bằng PHP?
Bạn có thể thực hiện email xác thực PHP bằng cách sử dụng hàm filter_var() và chuyển email và id bộ lọc đã cho “FILTER_VALIDATE_EMAIL” làm đối số . Id bộ lọc đã nêu sẽ kiểm tra xem định dạng của email có đúng theo cú pháp trong RFC 822 không. |