今天在做表單提交的項目中,和公司中的后台人員簡單的學習了一下表單的前端和后台是怎樣進行數據操作的.(下面僅僅是一個小例子,畢竟我是前端工程師,不太懂后台的東西...(嘿嘿));
首先要有一個服務器進行保存數據,本文中使用的是MYSQL服務器,此服務器比較強大,能夠完美與php兼容,使用簡單,最重要的是他是免費的...其他服務器有Oracle、Microsoft SQL Server 和IBM DB2 、sqllite都是關系型數據庫系統
(database system),可以選擇使用.
首先要有自己html代碼 如下(比較簡單,不進行注釋)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>注冊頁面</title>
</head>
<body>
<form action="http://127.0.0.1/160811/php/phpDay4/前端/2.register.php" method="post" accept-charset="utf-8">
<!-- format屬性 -->
<label>姓名:<input type="text" name="name" autocomplete="off" placeholder="請輸入用戶" maxlength="5" ></label><br>
<label>密碼:<input type="password" name="pwd"></label><br>
<label>郵箱:<input type="email" name="email"></label><br>
<label>性別:<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女</label><br>
<label>愛好:<input type="checkbox" name="hobby[]" value="籃球">籃球
<input type="checkbox" name="hobby[]" value="美女">美女
<input type="checkbox" name="hobby[]" value="金錢">金錢
</label><br>
<input type="submit" value="注冊">
</form>
</body>
</html>
php代碼:
前端頁面method 用post方式
后台php用 $name = $_POST["name"] 的形式接收 表單中的數據
在將數據保存到數據庫中
if($name){
//鏈接到服務器
$con = mysql_connect('127.0.0.1',"root","");//括號內分別是 服務器地址+端口號(端口號可省略),服務器名字,服務器密碼.
//如果鏈接到服務器
if($con){
mysql_select_db("160811"); // 進行操作的數據庫
mysql_query("set names utf8"); // 解析漢字,使數據能以漢字形式出現
$findSql = "SELECT * FROM user_info WHERE user_name = '$name'"; //搜索整個數據庫, user_info是數據庫的表格名字, WHERE后面 索引到具體要對哪一行進行操作.
$res = mysql_query($insertSql); //執行語句 數據庫的增刪改查等操作 都會用這條語句執行
if ($res && mysql_num_rows($res) > 0) { //如果數據庫中存在輸入進來的name
echo "<script>window.history.back();alert('該用戶名已被注冊')</script>"; //alert 並返回上一步
}else{
$res = mysql_query("INSERT INTO user_info (user_name) VALUES ('$name')"); //數據添加到數據庫中
}
}
}
以上是注冊信息代碼
登錄界面的html代碼如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登錄</title>
<style type="text/css">
*{margin: 0;padding: 0}
div{border:1px solid black;width: 200px;margin: 50px auto;background-color: lightcyan;box-shadow: -2px -2px 5px blue;}
a{font-size: 15px;text-decoration: none;}
</style>
</head>
<body>
<div>
<form action="http://127.0.0.1/160811/php/phpDay4/%E5%90%8E%E7%AB%AF/denglu.php" method="post" accept-charset="utf-8" style="line-height: 40px">
<label>用戶名:<input type="text" name="name" placeholder="請輸入用戶名" maxlength="5"></label><br>
<label>密碼 :<input type="password" name="pwd" placeholder="密碼"></label><br>
<input type="submit" value="登錄" style="margin-left: 85px"><br>
<a href="http://127.0.0.1/160811/php/phpDay4/%E5%89%8D%E7%AB%AF/%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81.html">忘記密碼?</a>
<a href="http://127.0.0.1/160811/php/phpDay4/%E5%89%8D%E7%AB%AF/1.%E6%B3%A8%E5%86%8C.html" style="margin-left: 90px;">注冊</a>
</form>
</div>
</body>
</html>
登錄界面的php代碼
<?php
$name = $_POST["name"];
$pwd = $_POST["pwd"];
if ($name && $pwd) {
$con = mysql_connect("127.0.0.1","root","");
if ($con) {
mysql_select_db("160811");
mysql_query("set names utf8");
$findSql = "SELECT *FROM user_info WHERE user_name = '$name' And user_pwd = '$pwd'";
$res = mysql_query($findSql);
if ($res && mysql_num_rows($res) > 0) {
echo "<script>alert('登錄成功')</script>";
}else{
echo "<script>alert('登錄失敗')</script>";
}
}
}
?>
重置密碼的html代碼如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="http://127.0.0.1/160811/php/phpDay4/%E5%89%8D%E7%AB%AF/%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81.php" method="post" >
<label>姓名:<input type="text" name="name" autocomplete="off" placeholder="請輸入用戶名" maxlength="5"></label><br>
<label>郵箱:<input type="email" name="email" placeholder="注意格式"></label><br>
<label>性別:<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女</label><br>
<label>愛好:<input type="checkbox" name="hobby[]" value="籃球">籃球
<input type="checkbox" name="hobby[]" value="美女">美女
<input type="checkbox" name="hobby[]" value="金錢">金錢
</label><br>
<label>輸入新密碼:<input type="password" name="pwd"></label><br>
<input type="submit" value="輸入正確提交后可重置密碼">
</form>
</body>
</html>
重置密碼的php代碼如下
<?php
$name = $_POST["name"];
$email = $_POST["email"];
$sex = $_POST["sex"];
$hobby = $_POST["hobby"];
$pwd = $_POST["pwd"];
if ($name && $email && $sex && $hobby) {
$con = mysql_connect("127.0.0.1","root","");
if ($con) {
mysql_select_db("160811");
mysql_query("set names utf8");
$hobbyStr = implode("-", $hobby);
$findSql = "SELECT * FROM user_info WHERE user_name = '$name' AND user_sex = '$sex' AND user_hobby = '$hobbyStr'";
$res = mysql_query($findSql);
if ($res && mysql_num_rows($res) > 0) {
$update = "UPDATE user_info SET user_pwd = '$pwd' WHERE user_name = '$name'";
mysql_query($update);
echo "<script>alert('修改完成');window.location.href = 'http://127.0.0.1/160811/php/phpDay4/%E5%89%8D%E7%AB%AF/%E7%99%BB%E5%BD%95%E7%95%8C%E9%9D%A2.html'</script>";
}else{
echo "<script>alert('輸入錯誤,請重試');window.history.back();</script>";
}
}
}
?>
注: php代碼的注釋在注冊信息代碼中顯示,后面的php代碼與注釋與注冊信息代碼大同小異.