PHP:在同一页面上发送邮件到div而不是另一页面

时间:2014-02-18 14:08:07

标签: javascript php html

我有一个名为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');
    }

1 个答案:

答案 0 :(得分:1)

您需要做的是使用ajax提交表单。试试这个插件并添加以下代码

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

下载插件

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

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


   });
  return false;

}