У меня есть страница login.php, загруженная в div на другой странице (index.php). login.php включает форму с действием, указывающим на login.php
Как только я нажму кнопку "Отправить", страница откроется либо на новой вкладке (если не указана цель), либо как целая страница (если цель - _top, переписывание index.php). я хочу, чтобы index.php открывался, а login.php загружался в него div, а данные post - в login.php, который находится внутри div. что это возможно?
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>
и загрузить страницу в div "mainframe", я использую этот код:
function loadsel(page)
{
if (page == 1)
$("div#mainframe").load('login.php');
}
Что вам нужно сделать, это использовать ajax для отправки вашей формы. Попробуйте этот плагин и добавьте следующий код
http://jquery.malsup.com/form/#ajaxSubmit
скачать плагин
function login(){
$('#login_form').ajaxSubmit({
target:'#output_login',
url:'./php/login.php'
});
return false;
}
]
что приведет к ошибке. Просто говорю. Я уверен, что вы имели в виду этот урок ;-)