php编写网站页面

PHP 中的 $_GET 和 $_POST 变量用于接收表单中的传递的信息,比如用户输入

有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单转成可供 PHP 脚本使用

表单

简单的表单页面

下面的实例包含了一个 HTML 表单,带有两个输入框和一个提交按钮

<html>
<head>
<meta charset="utf-8">
</head>
<body>

<form action="rear.php" method="post">
名字: <input type="text" name="fname">
年龄: <input type="text" name="age">
<input type="submit" value="提交">
</form>

</body>
</html>

当用户填写完上面的表单并点击提交按钮时,表单的数据会被送往名为 "rear.php" 的 PHP 文件:

<html>
<head>
<meta charset="utf-8">
</head>
欢迎<?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?> 
</html>

以上的实例是一个典型的前后端分离的网站页面,采用简单的表单来处理用户的输入数据,将数据传递到后端的rear.php页面并跳转

PHP 获取下拉菜单数据

<html>
<head>
<meta charset="utf-8">
</head>
<body>
<!-- 
请补充PHP代码
要求选择用户选择对应的站点以后回显网站的url 
-->
<form action="" method="get"> 
    <select name="q">
    <option value="">选择一个站点:</option>
    <option value="baidu">Baidu</option>
    <option value="google">Google</option>
    <option value="taobao">Taobao</option>
    <option value="tianmao">Taobao</option>
    </select>
    <input type="submit" value="提交">
    </form>
</form>
<!-- 完整代码如下:-->

<?php
$q=$_GET['q'];
if($q=="baidu"){
    echo "<a href='https://baidu.com' target='_blank' title='新窗口进入百度'>百度</a>";
}elseif($q=="google"){
    echo "<a href='https://www.google.com' target='_blank' title='新窗口进入谷歌'>谷歌</a>";
}elseif($q=="taobao"){
    echo "<a href='https://www.taobao.com' target='_blank' title='新窗口进入淘宝'>淘宝</a>";
}elseif($q=="tianmao"){
    echo "<a href='https://www.tmall.com/' target='_blank' title='新窗口进入天猫'>天猫</a>";
}
?>
</body>
</html>

以上案例是一个不分页处理的下拉表单页面,前端代码和后端代码同在一个php文件

PHP 下拉菜单多选

如果下拉菜单是多选的( multiple="multiple"),我们可以通过将设置 select name="q[]" 以数组的方式获取,以下使用 POST 方式提交,代码如下所示:

<html>
<head>
<meta charset="utf-8">
</head>
<body>


<!-- 补充代码,要求用户选中对应的网站的时候可以传值完后同时输出内容 -->
<form action="" method="post"> 
    <select multiple="multiple" name="q[]">
    <option value="">选择一个站点:</option>
    <option value="Baidu">Baidu</option>
    <option value="Google">Google</option>
    <option value="Taobao">Taobao</option>
    <option value="Tianmao">Tianmao</option>
    </select>
    <input type="submit" value="提交">
    </form>
</body>
<?php
$a = $_REQUEST['q'];
foreach($a as $aa){  
    if(strpos($aa,"Baidu") !==false){
        echo "<a href='https://baidu.com' target='_blank' title='新窗口进入百度'>百度</a>"."<br>";
    }elseif(strpos($aa,"Google") !==false){
        echo "<a href='https://www.google.com' target='_blank' title='新窗口进入谷歌'>谷歌</a>"."<br>";
    }elseif(strpos($aa,"Taobao") !==false){
        echo "<a href='https://www.taobao.com' target='_blank' title='新窗口进入淘宝'>淘宝</a>"."<br>";
    }elseif((strpos($aa,"Tianmao") !==false)){
        echo "<a href='https://www.tmall.com/' target='_blank' title='新窗口进入天猫'>天猫</a>"."<br>";
    }
}
?>
</html>

以上案例演示了php下拉菜单的不分页网站页面实现;不分页处理第一次进入页面会有一个报错但是并不影响程序运行。当然,我们最好还是采用分页处理的方式,分页处理只需要在<form action="" method="post">这行修改action="页面名称"就可,分页处理就交给大家自己实现了

PHP 单选按钮表单

PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的,代码如下所示:

<html>
<head>
<meta charset="utf-8">
</head>
<form action="" method="get"> 
    <input type="radio" name="q" value="RUNOOB" />Runoob
    <input type="radio" name="q" value="GOOGLE" />Google
    <input type="radio" name="q" value="TAOBAO" />Taobao
    <input type="submit" value="提交">
</form>

以上案例只是简单演示了单选框按钮的的实现,相信友友们经过了上面案例的熏陶已经掌握了具体页面的实现,我们后面就不多做演示了

PHP checkbox 复选框

<head>
<meta charset="utf-8">
</head>
<form action="" method="post"> 
    <input type="checkbox" name="q" value="RUNOOB"> Runoob<br> 
    <input type="checkbox" name="q" value="GOOGLE"> Google<br> 
    <input type="checkbox" name="q" value="TAOBAO"> Taobao<br>
    <input type="submit" value="提交">
</form>

表单验证

下面我们将介绍如何使用PHP验证客户端提交的表单数据

为了防止黑客及垃圾信息,我们在处理PHP表单时需要考虑安全性

需求如下:

1、需要一个注册页面的处理系统

字段验证规则
名字可以输入字符串
E-mail可以输入字符串
爱好多选(足球、篮球、羽毛球、看书、写字;)
备注多行输入字段(文本域)
性别单选(男、女)

首先,根据我们所学的知识,可以很轻松的写出前端基本框架

<html>
<head>
<meta charset="utf-8">
</head>
<form action="" method="post"> 
名字:
<input type="text" name="name" > <br> 
邮件:
<input type="text" name="email" ><br> 
爱好:
<input type="checkbox" name="aihao[]" value="足球" >足球
<input type="checkbox" name="aihao[]" value="篮球">篮球
<input type="checkbox" name="aihao[]" value="羽毛球">羽毛球
<input type="checkbox" name="aihao[]" value="看书">看书
<input type="checkbox" name="aihao[]" value="写字">写字
<input type="checkbox" name="aihao[]"><br>
备注:
<textarea name="beizhu" ></textarea><br>
性别:
<input type="radio" name="xingbie" value="男">男<input type="radio" name="xingbie" value="女">女<br>
<input type="submit" value="提交">
</form>
value="提交">
</form>
</html>

写出后端页面,要求能接收到用户输入的数据

<?php
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$aihao=$_REQUEST['aihao'];

$beizhu=$_REQUEST['beizhu'];
$xingbie=$_REQUEST['xingbie'];

echo "名字为:".$name."</br>";
echo "邮箱为:".$email."</br>";
echo "爱好为:";
foreach($aihao as $ah){
    echo $ah."      ";
};
echo "</br>备注为:".$beizhu."</br>";
echo "性别为:".$xingbie."</br>";
?>

但是其实只是这样简单的写,就已经产生了安全漏洞,这就是安全漏洞的由来

一般的程序员只会考虑用户的需求,不会考虑安全问题

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
编写一个完整的注册登录网站需要多个页面和功能,以下是一个简单的示例: 1. 创建数据库 首先,您需要创建一个数据库来存储用户信息。您可以使用 MySQL 或其他关系型数据库来完成这个任务。在数据库中创建一个表来存储用户信息,包括用户名、密码和电子邮件地址等。 2. 注册页面 创建一个注册页面,其中包括一个表单,要求用户输入用户名、密码和电子邮件地址等信息。当用户提交表单时,将数据插入到数据库中。 3. 登录页面 创建一个登录页面,其中包括一个表单,要求用户输入用户名和密码。当用户提交表单时,检查数据库中是否存在该用户,并验证其密码是否正确。如果验证成功,则将用户重定向到他们的个人资料页面。否则,显示错误消息并要求用户重新输入用户名和密码。 4. 个人资料页面 当用户成功登录后,将其重定向到个人资料页面,该页面显示用户的详细信息,包括他们的用户名、电子邮件地址和其他相关信息。还可以提供一些操作,例如更改密码或编辑个人资料。 下面是一个简单的示例代码,仅供参考: register.php ``` <?php // 处理用户注册请求 if ($_SERVER["REQUEST_METHOD"] == "POST") { // 连接数据库 $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdatabase"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 获取用户输入 $username = $_POST["username"]; $password = $_POST["password"]; $email = $_POST["email"]; // 插入数据 $sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')"; if ($conn->query($sql) === TRUE) { echo "注册成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); } ?> <!DOCTYPE html> <html> <head> <title>注册</title> </head> <body> <h2>注册</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> 用户名: <input type="text" name="username"><br> 密码: <input type="password" name="password"><br> 电子邮件地址: <input type="email" name="email"><br> <input type="submit" value="注册"> </form> </body> </html> ``` login.php ``` <?php // 处理用户登录请求 session_start(); if ($_SERVER["REQUEST_METHOD"] == "POST") { // 连接数据库 $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdatabase"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 获取用户输入 $username = $_POST["username"]; $password = $_POST["password"]; // 验证用户信息 $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = $conn->query($sql); if ($result->num_rows == 1) { $_SESSION["username"] = $username; header("Location: profile.php"); } else { echo "用户名或密码不正确"; } $conn->close(); } ?> <!DOCTYPE html> <html> <head> <title>登录</title> </head> <body> <h2>登录</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> 用户名: <input type="text" name="username"><br> 密码: <input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html> ``` profile.php ``` <?php // 显示用户资料 session_start(); if (!isset($_SESSION["username"])) { header("Location: login.php"); exit; } $username = $_SESSION["username"]; // 连接数据库 $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdatabase"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 获取用户信息 $sql = "SELECT * FROM users WHERE username='$username'"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $email = $row["email"]; $conn->close(); ?> <!DOCTYPE html> <html> <head> <title>个人资料</title> </head> <body> <h2>个人资料</h2> <p>用户名: <?php echo $username; ?></p> <p>电子邮件地址: <?php echo $email; ?></p> <a href="change_password.php">更改密码</a> </body> </html> ``` 请注意,这只是一个简单的示例,您需要根据您的需求和具体情况进行修改和扩展。还要注意安全问题,例如防止 SQL 注入和密码泄露等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值