面向对象写法:登录模板login.html,处理类,LoginAction.class.php。给你个最简单的过程化代码login.php:
在莲湖等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站建设 网站设计制作按需定制设计,公司网站建设,企业网站建设,高端网站设计,成都全网营销,成都外贸网站建设,莲湖网站建设费用合理。
html
head
meta http-equiv="content-type" content="text/html; charset=utf-8"
titleLogin/title
/head
body
div id="pic"
a href="#" title="立刻体检"img src="../img/login.jpg"//a
/div
div id="input"
form action="do_login.php" method="post"
p class="name"用户名:input class="in" type="text" name="username"//p
p class="name"密nbsp;nbsp;码:input class="in" type="password" name="password"//p
input id="deng" type="image" src="../img/login.gif" title="登录" name="submit" value="登录"/
/form
/div
/body
/html
dologin.php:
?php
session_start();
include './config.php';
if(isset($_POST['submit'])){
$username=$_POST['username'];
$password=md5($_POST['password']);
$error=array();
$sql="select * from user where username='{$username}' and password='{$password}'";
$result= mysql_query($sql);
if(mysql_num_rows($result)0){
$_SESSION['username']=$username;
header("location:./head.php");
exit;
}else{
$error[]="用户名或密码错误,请重新输入!";
$_SESSION['error']=$error;
header("location:./error.php?from=login.php");
exit;
}
mysql_close();
}
?
phpstudy集成wamp包。控制界面上或菜单里就有。看图你就明白了,带mysql导入导出的。支持多版本php切换
insert_form.html(表单页面):
form action="insert.php" method="post"
用户名: input type="text" name="username" /
br /
电子邮箱: input type="text" name="email" /
br /
input type="submit" /
/form
insert.php(写入数据页面):
?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("连接数据库失败:" . mysql_error());
}
mysql_select_db("test", $conn);
mysql_query("set names 'gbk'"); //为避免中文乱码做入库编码转换
if($_POST){
$sql = "INSERT INTO user (username email) VALUES ('$_POST[username]', '$_POST[email]')";
if(!mysql_query($sql,$conn)){
echo "添加数据失败:".mysql_error();
} else {
echo "添加数据成功!";
}
}
请将mysql_connect("localhost","root","root123");中的用户名和密码更改是实际的。
?
1. 尝试设置一个页面模板
1)拷贝一个index.php并改名为其它名,如list.php;
2)在list.php页面最顶部添加
?php /*
Template Name: 友链
*/
?
以上两步就可以创建一个页面模板了,修改并保存好这个文件后,创建一个新页面或者修改已存在的页面。在右下边有个“页面模板”的面板,在下拉菜单中选中“友链”后保存就可以了。
然后在页面中添加任何内容,包括html代码就可以显示了。可是我的需求是要自己完成PHP代码获取数据并展示,它不能这么做。
2. 调用 WordPress 的 API实现URL正确跳转
这种方法的自由度较高,并且可以创建非WordPress格式的URL。比如我们要把 转交给主题文件夹下的 /custom/list.php 来处理,就可以用这种方式来处理。这种方法用到 template redirect 钩子,template redirect 是 WordPress 在预处理好所有参数设置之后决定调用主题模板的时候调用的。
在functions.php模板函数文件中添加以下实例代码:
function loadCustomTemplate($template) {
global $wp_query;
if(!file_exists($template))return;
$wp_query-is_page = true;
$wp_query-is_single = false;
$wp_query-is_home = false;
$wp_query-comments = false;
// if we have a 404 status
if ($wp_query-is_404) {
// set status of 404 to false
unset($wp_query-query["error"]);
$wp_query-query_vars["error"]="";
$wp_query-is_404=false;
}
// change the header to 200 OK
header("HTTP/1.1 200 OK");
//load our template
include($template);
exit;
}
function templateRedirect() {
$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');
这样就实现了 WordPress 查找 /custom 文件夹下的 php 文件,并且将相匹配的 URL 请求转交给对应的 php 文件来处理的效果,与此同时,这个 php 文件还保持了对 WordPress API 的调用,因此留给我们的空间非常大。
接下来就可以在 /custom 文件夹下自定义一个list.php文件然后通过链接访问。
3. 添加页面内容,获取自定义数据库/表中的内容
然后就可以根据需要自己需要来实现自己想要的功能,这里需要有以下几点要处理:
1)如何操作数据库
WordPress提供了一个全局变量$wpdb,并将其实例化为wpdb类的对象。这样我们就可以直接使用$wpdb来调用所有的数据库操作函数。通过这个$wpdb对象,我们可以对WordPress数据库进行任何操作,包括建表、查询、删除、更新等。使用$wpdb-get_results实现执行sql语句操作数据库,并获取结果。
global $wpdb;
$sql= "SELECT * FROM ".$wpdb-prefix.table;
$a = $wpdb-get_results($sql);
2)使用wordpress的样式
通过F12查看首页代码就可以发现只要使用对应的class样式就能轻松让页面统一规整。那么就把对应的html添加到自定义PHP页面中即可。
3)利用wordpress的规则轻松实现翻页
wordpress已经默认支持翻页,格式如:,只要在自定义的页面里面定义好每页返回正确的内容就好啦。
4. 设置nginx rewrite规则
可读性强的URL一定不能是这样的格式,对爬虫也不友好,那就需要配置好rewrite规则,我使用的是nginx的配置为:
rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;
到现在为止,离成功只有一步之遥了,那就是新建一个页面, 大功告成!
创建conn.php,连接数据库。
$dns = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = 'root';
// 1.连接数据库,创建PDO对象
$pdo = new PDO($dns,$username,$password);
创建login.html,登陆页面。
用户名
密 码
创建login.php,验证账号密码。
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"])){
exit("错误执行");
}//检测是否有submit操作
include('conn.php');//链接数据库
$name = $_POST['name'];//post获得用户名表单值
$pwd = sha1($_POST['password']);//post获得用户密码单值
if ($name $pwd){//如果用户名和密码都不为空
$sql = "select * from user where username = '$name' and password='$pwd'";//检测数据库是否有对应的username和password的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
if($stmt-fetch(PDO::FETCH_BOUND)){//0 false 1 true
header("refresh:0;url=welcome.html");//如果成功跳转至welcome.html页面
exit;
}else{
echo "用户名或密码错误";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";//如果错误使用js 1秒后跳转到登录页面重试;
}
}else{//如果用户名或密码有空
echo "表单填写不完整";
echo "
setTimeout(function(){window.location.href='login.html';},1000);
";
//如果错误使用js 1秒后跳转到登录页面重试;
}
$pdo = null;
创建signup.html,注册页面
用户名:
密 码:
创建signup.php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST['submit'])){
exit("错误执行");
}//判断是否有submit操作
$name=$_POST['name'];//post获取表单里的name
$pwd = sha1($_POST['password']);//post获取表单里的password
include('conn.php');//链接数据库
$sql="insert into user(id,username,password) values (null,'$name','$pwd')";//向数据库插入表单传来的值的sql
$stmt = $pdo-prepare($sql);
$stmt-execute();
$stmt-fetch(PDO::FETCH_BOUND);
if (!$stmt){
die('Error: ' . $stmt-getMessage());//如果sql执行失败输出错误
}else{
echo "注册成功";//成功输出注册成功
}
$pdo = null;//关闭数据库
能把表单也截取出来就更好了。只要表单的提交地址正确,就是你现在截图的这个页面地址,然后method是post,两个input的name分别是username和password就行了