PHP: отправить сообщение в div на той же странице, а не на другой странице

0

У меня есть страница 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');
    }
  • 1
    ^ - ondeweb.in/ajax-login-form-with-jquery-and-php @ sємsєм содержит форматирование вашей ссылки ] что приведет к ошибке. Просто говорю. Я уверен, что вы имели в виду этот урок ;-)
  • 1
    @ Fred-ii- :) Вы говорите о форме входа в AJAX. Вы можете использовать этот учебник ondeweb.in/ajax-login-form-with-jquery-and-php или выполнить поиск «формы входа ajax» на этом веб-сайте.
Теги:

1 ответ

1

Что вам нужно сделать, это использовать ajax для отправки вашей формы. Попробуйте этот плагин и добавьте следующий код

   http://jquery.malsup.com/form/#ajaxSubmit

скачать плагин

   function login(){
      $('#login_form').ajaxSubmit({

    target:'#output_login',
    url:'./php/login.php'


   });
  return false;

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню