PHP的值返回HTML显示

html-css018

PHP的值返回HTML显示,第1张

提交后跳转不能实现你要的功能,

需要用到ajax。

给你个简单的例子:

test.html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>表单所在页面</title>

<style>

#msg{color:red}

</style>

</head>

<body>

<form>

<p>用户名:<input type="text" id="user"></p>

<p>密码:<input type="password" id="psd"></p>

<p><input type="button" value="提交" id="submit"/></p>

<p id="msg"></p>

</form>

<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>

<script>

$("#submit").click(function(){

var data={

'user':$("#user").val(),

'psd':$("#psd").val(),

}

$.post("test.php",data,function(d){

      $("#msg").text(d) 

})

})

</script>

</body>

</html>

test.php:

<?php 

$user=$_POST['user']

$psd=$_POST['psd']

if(!$user||!$psd){exit("用户名或密码不能为空")}

//链接数据库查询

/*

...............

*/

if(true){exit("登录成功")}else{exit("登录失败")}

 ?>

HTML是页面一般是服务器处理后直接交由浏览器展示的.要想在原A.html中显示提交后的信息,可以有这些思路:

(1)在b.php中处理完成后,将要输入的信息保存数据库或session等中,然后使用header跳转到a.html,但是在服务器端要将html文件当成php页面处理,在此html中(相当于php页面),使用php语句获取要输入的信息并生成在html传输到浏览器.(不推荐)

(2)同上,但是服务器端不将html当成php来解析处理,而是在此html页中使用javascript标签,链接指向某一个php,由它取出之前数据并以js语句输出,如:

a.html中:

<script src="j.php"></script>

j.php中:(略过取之前数据的过程)

echo "document.write('$message')"

(3)在a.html中使用ajax通过XMLHttpRequest对象提交数据到b.php,处理完成后输出数据.a.html中可以在不刷新页面的情况下取得返回的信息并按你的想法显示在页面的任何地方.(推荐)