页面上的Jquery框加载php

时间:2014-02-14 00:22:56

标签: javascript php jquery html

我有一个表单,用户可以使用日期和时间保存当天的活动。(index.php)。我已经构建了一个jquery,在页面加载时打开一个对话框弹出窗口...我想在我的第二个php页面中包含这个代码。该页面名为add.php。用户在页面index.php中按下提交按钮时去那里。当他按下提交按钮时,要添加活动并在该时间和日期存在活动,我想显示一个弹出窗口。但是如何在add.php中包含下面的弹出窗口。

我的代码在

下面
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/start/jquery-ui.css"
    rel="stylesheet" type="text/css" />
<script type="text/javascript">
    $(function () {
        $("#dialog").dialog({
            title: "jQuery Dialog Popup",
            buttons: {
                Close: function () {
                    $(this).dialog('close');
                }
            }
        });
    });
</script>
<div id="dialog" style="display: none">
    You have an activity on this time
</div>

这是add.php

<?php
$con = mysql_connect('127.0.0.1','root','');
if (!$con)
  {
  die('<div class="content">Lidhja me databazen nuk mund te kryhet</div>' .mysql_error(). ' </body></html>');
  }
if(!mysql_select_db("Axhenda",$con))
die('<div class="content">Nuk mund te hapet databaza Axhenda</div>'.mysql_error(). '</body></html>');



$Data=$_POST['date'];
$Ora=$_POST['time'];
$Emri=$_POST['emritakimit'];
$Pershkrimi=$_POST['pershkrimi'];

session_start();


if (!isset($_SESSION['user_id'])){

header('location:index.php');
}

//variabli SESSION per te ruajtur ID e perdoruesit
$perdoruesi=$_SESSION['user_id'];

$selekto=mysql_query("SELECT * FROM aktiviteti WHERE Data='$Data' and Ora='$Ora'");

$nr_rreshtave=mysql_num_rows($selekto);

if ($nr_rreshtave>0)
{   
    //here I want to include the function above


header('locationindex.php');}


    else
    {


$query ="INSERT into aktiviteti VALUES('', '$perdoruesi', '$Emri', '$Pershkrimi' ,'$Data','$Ora')";


$result=mysql_query($query,$con);






if($result)

{   header('location:index.php?error-akt1=1');}

else

{   header('location:index.php?error-akt2=1');}}

mysql_close($con);

?>

请帮助我......提前致谢

1 个答案:

答案 0 :(得分:0)

您确实希望弹出窗口仅在出现错误时显示,在这种情况下,add.php会重定向到以error-akt1=1error-akt2=2作为参数的网址。如果您将弹出窗口添加到add.php,则会破坏重定向。因此,您需要在index.php上执行此操作,但仅限于加载参数时。

要使参数可用,请在此帖子中使用BrunoLM提供的代码:How can I get query string values in JavaScript? (或该帖子中的任何其他代码,但BrunoLM在jQuery中提供了一个,而不是纯Javascript)。我在这里复制主要部分:

(function($) {
    $.QueryString = (function(a) {
        if (a == "") return {};
        var b = {};
        for (var i = 0; i < a.length; ++i)
        {
            var p=a[i].split('=');
            if (p.length != 2) continue;
            b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
        }
        return b;
    })(window.location.search.substr(1).split('&')) })(jQuery);

通过放置:

来获得查询
$.QueryString["param-name"]

一旦你有参数,只需在加载警报时使用if语句,如下所示:

$(function () {
   var error-akt1 = $.QueryString["error-akt1"];

   if (error-akt1 == 1) {
        $("#dialog").dialog({
            title: "jQuery Dialog Popup",
            buttons: {
                Close: function () {
                    $(this).dialog('close');
                }
            }
        });
   }
});

重复error-akt2,或者更好的是,使用error-akt=1error-akt=2在同一个参数和querystring变量中发送不同的错误消息。