jQuery对话框,php表单

jQuery对话框,php表单,jquery,dialog,Jquery,Dialog,我有一个对话框,可以在网站的pageload上打开 script type="text/javascript"> $(function() { $('#dialog-message').dialog({ modal: 'true', width: '400' }); }); </script> 这就引出了一个问题,包括: <div id="dialog-message" title="Free Jiu Jitsu Ses

我有一个对话框,可以在网站的pageload上打开

script type="text/javascript">
$(function() {
    $('#dialog-message').dialog({
        modal: 'true',
        width: '400'
    });
});

</script>
这就引出了一个问题,包括:

<div id="dialog-message" title="Free Jiu Jitsu Session at Alliance">
          <!--#include virtual="/includes/guest.php" -->
php有一个由页面本身处理的非常小的表单:

    <?php
$dbh=mysql_connect //login stuff here       
                if (isset($_POST['submit'])) { 

                if (!$_POST['name'] | !$_POST['email']) 
                {
                echo"<div class='error'>Error<br />Please provide your Name and Email Address so we may properly contact you.</div>";
                }
                else
                {
                $age = $_POST['age'];   
                $name = $_POST['name'];
                $gender = $_POST['gender'];
                $email = $_POST['email'];
                $phone = $_POST['phone'];
                $comments = $_POST['comments'];

                $query = "INSERT INTO table here (age,name,gender,email,phone,comments)
                VALUES ('$age','$name','$gender','$email','$phone','$comments')";

                mysql_query($query);

                mysql_close();

                $yoursite = "my site here";
                $youremail = $email;

                $subject = "Website Guest Contact Us Form";
                $message = "message here";

                $email2 = "send to email address";

                mail($email2, $subject, $message, "From: $email");

                echo"<div class='thankyou'>Thank you for contacting us,<br /> we will respond as soon as we can.</div>";

                }
                }
                ?>

                <form id="contact_us" class="guest" method="post" action="/guest.php" >
                    <fieldset>
                        <legend>Personal Info</legend>
                            <label for="name" class="guest">Name:</label>
                            <input type="text" name="name" id="name" value="" /><br>

                            <label for="phone" class="guest">Phone:</label>
                            <input type="text" name="phone" id="phone" value="" /><br>

                            <label for="email" class="guest">Email Address:</label>
                            <input type="text" name="email" id="email" value="" /><br>

                            <label for="age" class="guest">Age:</label>
                            <input type="text" name="age" id="age" value="" size="2" /><br>

                            <label for="gender" class="guest">Sex:</label>
                            <input type="radio" name="gender" value="male" /> Male
                            <input type="radio" name="gender" value="female" /> Female<br />
                    </fieldset>

                    <fieldset>
                       <legend>Comments</legend>     

                            <label for="comments" class="guest">Comments / Questions:</label>
                            <textarea id="comments" name="comments" rows="4" cols="22"></textarea><br>

                            <input type="submit" value="Submit" name="submit" /> <input type="Reset" value="Reset" />

                    </fieldset> 
                </form>
问题是,表单操作的路径不起作用,因为此对话框位于站点的index.html页面上,如果我放置绝对路径,它不会处理

我在另一个“联系我们”页面上有这个功能,所以我知道它可以工作,但在对话框中,它似乎难住了我


我该怎么办?

尝试分离代码或使用in-action属性

我认为最简单的方法实际上是将表单发布到包装页Thank.php或其他包含guest.php代码的页面


按照现在的方式,将结果发布到include/guest.php文件中,该文件周围没有明显的HTML标记。听起来您可能希望结果以某种AJAX-y方式加载到对话框中?

是的,我希望将“谢谢您”保持在同一个对话框中,这是不可能的吗?当然可能,但您必须研究某种类型的AJAX解决方案——简言之,通过异步JavaScript将数据发送到服务器,然后用新的HTML更新DIV。网上有无数的教程。我的特别选择是使用JQuery库。Google$.get服务器端包含本身不会按照您希望的方式运行,因为这一切都取决于浏览器作为一个响应页面+服务器包含。除非你只是想伪装一下,让你的Thanke.php包装页看起来和感觉和原来的完全一样:-这可能是我现在最好的选择。。。假装的。谢谢这是真正的guest.php代码吗?您在这里展示的内容很容易受到SQL注入攻击。您正在清理用户输入吗?