I would like to know how do I pass a variable to another php-file via AJAX?
The variable that has to be passed is called:
$id
The problem is that my form in ‘pm_form.php’ has no access to the variable ‘$id’.
My script looks like this (this script fires a modal-window and that modal window loads a form called ‘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); } }));
When I click on a submit button of my form the variable ‘$id’ shall be passed to the appropriate php-file.
This is my form:
<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>
I don’t know much about jQuery / AJAX.
Solution
I just echo my $id:
href: “/includes/forms/pm_form.php?id=”, and in my pm_form.php, I can grab that id parameter using the $_GET global as:
$id = $_GET['id'];
Advertisement
Answer
To pass variable from one PHP page to another, you need to use POST or GET method. Use POST[‘name of tag’] and store it in a separate variable.
Eg. : $variable1 = $_POST[name];