-2

我想知道如何通过 AJAX 将变量传递给另一个 php 文件?

必须传递的变量称为:

$id

问题是我在“pm_form.php”中的表单无法访问变量“$id”。

我的脚本看起来像这样(这个脚本会触发一个模态窗口,并且该模态窗口会加载一个名为“pm_form.php”的表单):

$(".pm_link").colorbox($.extend(defaults, {
        initialWidth:'348',
        initialHeight:'348',
        innerWidth:'348',
        innerHeight:'348',
        type: "POST",
        href: "<?php echo $setting['site_url'];?>/includes/forms/pm_form.php",
    
        onComplete: function(){
            $("#cboxLoadedContent").appendTo("#cboxContent");
                            
            var title = 'Send Message';
            $('#cboxTitle').text(title);
        }
    }));

当我单击表单的提交按钮时,变量“$id”将被传递给适当的 php 文件。

这是我的表格:

<div id="pm_content" class="modal_font_indent">
<div id="pm_form">
    <form name="form1" method="post" action="<?php echo $setting['site_url']?>/index.php?id=<?php echo $id;?>&task=send_message&done=1">
    
        <div id="pm_subject" class="form_alt_design">
            <div id="pm_subject_txt"><label for="message_title">Subject:</label></div>
            <input type="text" name="message_title" id="message_title" class="pm_subject_textbox" value="" />
        </div>
    
        <div id="pm_message" class="form_alt_design">
            <div id="pm_message_txt"><label for="message">Message:</label></div>
            <textarea name="message" cols="50" rows="4" id="message" class="pm_message_textbox"></textarea>
            <div id="pm_chars_left">Characters left:</div>
        </div>    
        
        <div id="pm_submit">
            <input type="submit" name="Submit" value="" class="pm_button" />
        </div>
        
    </form>
</div>
</div>

我不太了解 jQuery / AJAX。

解决方案

我只是回显我的 $id:

href: "/includes/forms/pm_form.php?id=",在我的 pm_form.php 中,我可以使用 $_GET 全局获取该 id 参数:

$id = $_GET['id'];
4

3 回答 3

1

要将变量从一个 PHP 页面传递到另一个页面,您需要使用 POST 或 GET 方法。使用 POST['name of tag'] 并将其存储在单独的变量中。

例如。: $variable1 = $_POST[名称];

于 2013-07-29T01:18:05.373 回答
1

由于您将值作为 POST 发送,因此您可以在另一页中将该值读取为 $_POST['value_from_previous_page'];

这就是我用来将表单值发送到另一个页面的方法

function Gonder()
{
    var str = $("form").serialize();
    $.ajax({
        type: "POST",
        url: "other_page.php",
        data: str,
        success: function(data){
            $('#load').fadeOut();
            $('#ShowResult').html(data);
        }
    });
return false;
}
于 2013-07-29T01:19:37.173 回答
1

根据jQuery 文档

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});
于 2013-07-29T01:25:27.437 回答