PHP是一种广泛使用的开源服务器端脚本语言,用于创建Web应用程序和网站。PHP代码的可扩展性和易用性,使其成为许多开发者和企业常用的编程语言。在这篇文章中,我将介绍21个常用的PHP代码示例和它们的应用,包括使用方法和代码实例。
1. 连接 MySQL 数据库
PHP和MySQL深度集成,连接MySQL数据库是PHP应用程序中的基本操作。下面是一个简单的代码示例:
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
```
在这个示例中,我们使用mysqli_connect函数连接MySQL数据库,将其与服务器名称,用户名,密码和数据库名称一起使用。然后,我们检查连接是否成功,如果失败,则使用mysqli_connect_error函数输出错误消息。最后,在连接成功后,我们使用echo输出一个成功消息。
2. 插入数据到 MySQL 数据库
知道如何连接数据库后,接下来是将数据插入到数据库的操作。下面是一个示例代码:
```php
// SQL 语句
$sql = "INSERT INTO users (username, password, email) VALUES ('john', 'password123', 'john@example.com')";
if (mysqli_query($conn, $sql)) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "
" . mysqli_error($conn);
}
```
在这个示例中,我们使用INSERT语句将数据插入到名为“users”的表中。如果插入成功,则输出成功消息,否则输出错误消息。
3. 从 MySQL 数据库中读取数据
读取MySQL数据库中的数据是PHP中另一个常见的操作。下面是一个示例代码:
```php
$sql = "SELECT id, username, email FROM users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// 输出数据
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . $row["email"]. "
";
}
} else {
echo "0 结果";
}
```
在这个示例中,我们使用SELECT语句从名为“users”的表中选择id,username和email列,然后使用mysqli_query函数执行查询。然后,我们使用mysqli_num_rows函数检查是否有任何结果,并使用mysqli_fetch_assoc函数获取查询的结果集中的所有行,并通过循环来输出行数据。
4. 删除 MySQL 数据库中的数据
下面是一个示例代码,用于从MySQL数据库中删除数据:
```php
$sql = "DELETE FROM users WHERE id=3";
if (mysqli_query($conn, $sql)) {
echo "记录删除成功";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
```
在这个示例中,我们使用DELETE语句删除名为“users”的表中id = 3的行。如果删除成功,则输出成功消息,否则输出错误消息。
5. 更新 MySQL 数据库中的数据
下面是一个示例代码,用于更新MySQL数据库中的数据:
```php
$sql = "UPDATE users SET email='newemail@example.com' WHERE username='john'";
if (mysqli_query($conn, $sql)) {
echo "记录更新成功";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
```
在这个示例中,我们使用UPDATE语句将名为“users”的表中具有username =“john”的所有行的email列更新为新值“newemail@example.com”。如果更新成功,则输出成功消息,否则输出错误消息。
6. 文件上传
下面是一个示例代码,用于上传文件到服务器:
```php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// 检查文件是否存在
if (file_exists($target_file)) {
echo "文件已存在。";
$uploadOk = 0;
}
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "文件过大。";
$uploadOk = 0;
}
// 允许上传的文件类型
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "仅支持 JPG, JPEG, PNG 和 GIF 文件格式。";
$uploadOk = 0;
}
// 检查上传过程是否出错
if ($uploadOk == 0) {
echo "文件上传失败。";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件 ". basename( $_FILES["fileToUpload"]["name"]). " 上传成功。";
} else {
echo "文件上传失败。";
}
}
```
在这个示例中,我们首先定义文件上传目录,然后使用$_FILES一个全局变量来获取上传文件的相关信息,例如文件名,大小和临时路径。然后,我们检查文件是否存在,文件大小和允许上传的文件类型。如果检查没有问题,则使用move_uploaded_file函数将文件移动到上传目录中,否则输出错误消息。
7. 前端表单验证
下面是一个示例代码,用于前端表单验证:
```html
```
在这个示例中,我们使用HTML5的required属性作为表单验证的基本要求。我们使用JavaScript函数validateForm来确保输入的值不为空,如果为空,则弹出警告框,并返回false。然后,在表单提交事件监听中,我们检查validateForm函数的返回值,如果为false,则使用e.preventDefault函数阻止表单提交。
8. 过滤和消毒输入数据
保护Web应用程序免受常见安全漏洞是一个重要的问题。其中一个最基本的安全问题是SQL注入攻击。下面是一个示例代码,用于过滤和消毒输入数据,并从SQL注入攻击中保护Web应用程序:
```php
$name = mysqli_real_escape_string($conn, $_POST['name']);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
```
在这个示例中,我们使用mysqli_real_escape_string函数过滤用户输入的$name变量,过滤掉任何可能影响SQL查询的字符。我们使用filter_var函数并将过滤器FILTER_SANITIZE_EMAIL传递给输入的$email变量,以删除电子邮件地址中任何不必要的字符。最后,使用password_hash函数对$password变量中输入的密码进行加密。
9. 实现用户注册和登录
下面是一个示例代码,用于实现用户注册和登录:
```php
// 用户注册
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['register'])) {
// 消毒和过滤用户输入数据
$name = mysqli_real_escape_string($conn, $_POST['name']);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
// 插入用户信息到数据库
$sql = "INSERT INTO users (name, email, password) VALUES ('$name', '$email', '$password')";
mysqli_query($conn, $sql);
// 重定向到登录页面
header('Location: login.php');
exit;
}
// 用户登录
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['login'])) {
// 消毒和过滤用户输入数据
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$password = mysqli_real_escape_string($conn, $_POST['password']);
// 检查用户信息是否正确
$sql = "SELECT password FROM users WHERE email='$email'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
if (password_verify($password, $row['password'])) {
// 认证成功,设置SESSION和COOKIE
$_SESSION['user_id'] = $row['id'];
if (!empty($_POST['remember_me'])) {
setcookie('remember_me', true, time()+2592000); // 30天
} else {
setcookie('remember_me', false, time()-3600);
}
// 重定向到会员页面
header('Location: member.php');
exit;
}
}
// 认证失败,显示错误消息
$error_message = "无效的电子邮件或密码";
}
```
在这个示例中,我们实现了一个基本的用户注册和登录系统。在用户注册中,我们使用INSERT语句将用户名,电子邮件和加密后的密码插入到名为“users”的表中。在用户登录中,我们使用password_verify函数比较用户输入的密码和数据库中存储的加密密码,以确定用户是否已经认证。如果认证成功,则使用SESSION和COOKIE存储用户ID,并重定向到会员页面。否则,我们输出错误消息并保持登录页面不变。
10. 发送电子邮件
下面是一个示例代码,用于发送电子邮件:
```php
$to = "youremail@example.com";
$subject = "邮件主题";
$message = "这是一封测试邮件";
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
mail($to, $subject, $message, $headers);
```
在这个示例中,我们使用mail函数将一封电子邮件从webmaster@example.com发往一个具体电子邮件地址。其中相应的内容都可以自定义,例如收件人地址,主题,邮件内容以及邮件头信息等。
11. 使用 AJAX 技术进行异步数据请求
下面是一个示例代码,用于使用AJAX技术进行异步数据请求:
```html
欢迎使用 AJAX
输入一个名字:
推荐选项:
```
在这个示例中,我们创建了一个基本的HTML页面,包括一个输入字段和一个显示推荐选项的段落。当用户在输入字段中输入字符时,我们使用 AJAX 技术将字符发送到gethint.php文件。
下面是gethint.php文件的示例代码:
```php
// 一些名字
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Diana";
$a[] = "Eva";
$a[] = "Fiona";
$a[] = "Gunda";
$a[] = "Hege";
$a[] = "Inga";
$a[] = "Johanna";
$a[] = "Kitty";
$a[] = "Linda";
$a[] = "Nina";
$a[] = "Ophelia";
$a[] = "Petunia";
$a[] = "Amanda";
$a[] = "Raquel";
$a[] = "Cindy";
$a[] = "Doris";
$a[] = "Eve";
$a[] = "Evita";
$a[] = "Sunniva";
$a[] = "Tove";
$a[] = "Unni";
$a[] = "Violet";
$a[] = "Liza";
$a[] = "Elizabeth";
$a[] = "Ellen";
$a[] = "Wenche";
$a[] = "Vicky";
// 从 URL 中取得参数 q
$q = $_REQUEST["q"];
$hint = "";
// 检查是否存在匹配的名称
if ($q !== "") {
$q = strtolower($q);
$len = strlen($q);
foreach($a as $name) {
if (stristr($q, substr($name, 0, $len))) {
if ($hint === "") {
$hint = $name;
} else {
$hint .= ", $name";
}
}
}
}
// 输出结构
echo $hint === "" ? "无推荐选项" : $hint;
?>
```
在这个示例中,我们使用PHP数组存储一些用于测试的名称。然后获取由AJAX传递的请求参数$q,循环遍历数组,并检查是否存在与$q具有相同字符开头的名称。如果有,则将推荐选项添加到$hint变量中,并使用echo输出$hint变量。
12. 使用Composer管理依赖关系
Composer是PHP中最流行的依赖管理工具之一。通过Composer,你可以轻松地管理PHP应用程序的依赖关系和自动加载。下面是一个示例代码,用于安装和使用Composer:
首先,下载和安装Composer:
```sh
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
```
接下来,创建一个composer.json文件来定义项目所需的依赖关系。在此处,我们使用PHPMailer作为示例依赖关系:
```json
{
"require": {
"phpmailer/phpmailer": "^6.5"
}
}
```
然后,在终端中使用如下命令安装依赖:
```sh
php composer.phar install
```
最后,加载所需的类文件,通过如下代码调用依赖:
```php
// 加载类文件
require 'vendor/autoload.php';
// 实例化 PHPMailer 类
$mail = new PHPMailer\PHPMailer\PHPMailer();
```
13. 使用 Gulp 进行前端自动化运行任务
Gulp是一个流行的前端构建工具,可以大量降低Web开发工作的重复性。下面是一个示例代码,用于使用Gulp运行前端自动化任务:
首先,安装全局gulp CLI:
```sh
npm install -g gulp-cli
```
然后,在项目根目录下创建一个package.json文件,并定义项目所需的依赖关系和脚本:
```json
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"scripts": {
"gulp": "gulp"
},
"dependencies": {
"gulp": "^4.0.2",
"gulp-sass": "^4.0.2,
"gulp-uglify": "^3.0.2",
"gulp-imagemin": "^6.1. 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复