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'];