我有一个名为login.php的页面加载到另一个页面上的div(index.php)。 login.php包含一个表单,其操作指向login.php
按下提交按钮后,页面将在新选项卡中打开(如果未指定目标),或者作为整个页面打开(如果目标是_top,则覆盖index.php)。我想要的是将index.php打开,同时将login.php加载到它的div中,并将post数据转到div中的login.php。甚至可能吗?
的login.php
<!DOCTYPE html>
<html>
<head>
<link href="others.css" rel="stylesheet">
</head>
<body>
<?php
require_once('funcs.php');
if (!empty($_POST['user']) && !empty($_POST['pass']))
{
$username=cleanInput($_POST['user']);
$password=cleanInput($_POST['pass']);
if (login($username,$password)) { show_login_form("Invalid username or password!"); }
else
{
// login...
echo "okay boss!";
}
}
else { show_login_form(null); }
?>
</body>
</html>
FUNCS.PHP
<?php
function cleanInput($data)
{
$data=trim($data);
$data=htmlspecialchars($data,ENT_QUOTES, "UTF-8");
return $data;
}
function show_login_form($err)
{
echo '<h4>Enter username and password:</h4>';
if (isset($err)) { echo "<span style='color:red'>Error: $err</span><br>"; }
echo '
<br><form method="post" action="login.php">
username: <br><input name="user" type="text"><br>
password: <br><input name="pass" type="password"><br><br>
<input id="button" type="submit" value="Login"></form>
';
}
?>
的index.php
<!DOCTYPE html>
<html>
<head>
<title>Dating Site</title>
<link href="site.css" rel="stylesheet">
</head>
<body>
<?php require_once ("header.php"); ?>
<div id="mainframe" class="mainframe">
<?php require_once ("home.php"); ?>
</div>
<?php require_once ("footer.php"); ?>
</body>
</html>
并将页面加载到“mainframe”div中,我使用以下代码:
function loadsel(page)
{
if (page == 1)
$("div#mainframe").load('login.php');
}
答案 0 :(得分:1)
您需要做的是使用ajax提交表单。试试这个插件并添加以下代码
http://jquery.malsup.com/form/#ajaxSubmit
下载插件
function login(){
$('#login_form').ajaxSubmit({
target:'#output_login',
url:'./php/login.php'
});
return false;
}