Note that there are some explanatory texts on larger screens.

plurals
  1. POCalling jQuery function in php (or modifying javascript so php runs the remaining code)
    primarykey
    data
    text
    <p>I was having difficulty calling the necessary jQuery functions in php so I added them to the javascript, but the method I’m familiar with (the success function) prevents the php from performing anything other than the INSERT INTO and SELECT queries. How would I change this script so that it completes the php, and/or how would I combine the code so that the following can be accomplished?</p> <p>Validates form (with separate rules for Men and Women)</p> <p>If validation is successful: Both Genders: parent.close_field('notice'); (currently only works in javascript)</p> <p>If Gender is Female: </p> <ul> <li>INSERT information into customer_info table</li> <li>Identifies user_id assigned to this account</li> <li>Redirects user to the next page (currently in both php &amp; javascript)</li> </ul> <p>If Gender is Male: </p> <ul> <li>Generates email notifying me of the request</li> <li>INSERT information into invite_requests table</li> <li>Echo message to Men (currently in both; Preferred method is in php)</li> <li>Close Fancybox iframe (currently only works in javascript) </li> </ul> <p>I am using fancybox2 and this jQuery validation plugin <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" rel="nofollow">http://bassistance.de/jquery-plugins/jquery-plugin-validation/</a></p> <p>Javascript</p> <pre><code>var $custInfo = $("#customer_info"); $(document).ready(function () { var validator = $custInfo.validate({ rules: {...}, messages: {...}, errorLabelContainer: "#messageBox", submitHandler: function () { $custInfo.ajaxSubmit({ success: function () { if ($('input[name=gender][value=female]').is(':checked')) { parent.close_field('notice'); window.location.href = "page1.html"; } else if ($('input[name=gender][value=male]').is(':checked')) { parent.close_field('notice'); parent.$.fancybox.close(); alert("This isn’t available yet for men, but we’ll send you an invitation as soon as it is"); } } }); } }); $custInfo.find("input[name=gender]").change(function () { if ($(this).val() == "male") { $custInfo.submit(); } }); }); </code></pre> <p>PHP</p> <pre><code>&lt;?php //Start session and connection to database goes here //Function to sanitize values received from the form goes here $gender = $_POST['gender']; if ($gender==="female" ) { // INSERT information into customer_info table $qry = "INSERT INTO customer_info(fname, lname, gender, zip, email, phone, terms, security_question, security_answer, participating_retailers, notify_new_items, notify_promotions, priority1, priority2, priority3, priority4, priority5, gift_privacy, user_name, password, Quickfill) VALUES('$_POST[fname]','$_POST[lname]','$_POST[gender]','$_POST[zip]','$_POST[email]','$_POST[phone]','$_POST[terms]','$_POST[security_question]','$_POST[security_answer]','$_POST[participating_retailers]','$_POST[notify_new_items]','$_POST[notify_promotions]','$_POST[priority1]','$_POST[priority2]','$_POST[priority3]','$_POST[priority4]','$_POST[priority5]','$_POST[gift_privacy]','$user_name','".md5($_POST['password'])."','$_POST[Quickfill]')"; $result = @mysql_query($qry); if($result) { // Identifies user_id assigned to this account $qry="SELECT * FROM customer_info WHERE user_name='$user_name' AND password='".md5($_POST['password'])."'"; $result=mysql_query($qry); if($result) { if(mysql_num_rows($result) == 1) { session_regenerate_id(); $member = mysql_fetch_assoc($result); $_SESSION['SESS_USER_ID'] = $member['user_id']; $_SESSION['SESS_USER_NAME'] = $member['user_name']; session_write_close(); // Redirects user to the next page header("location: page1.html"); exit(); }else { //user_name failed header("location: login_failed.html"); exit(); } }else { die("Unable to access your account (Error Message 1)"); } }else { die("Unable to access your account (Error Message 2)"); } } // If Gender is Male else { // Notify us of request via email $sendto = "info@click2fit.com";$userfname = $_POST['fname'];$userlname = $_POST['lname'];$usermail = $_POST['email'];$gender = $_POST['gender'];$subject = "Invite Request - " . ($gender) . " "; // INSERT information into invite_requests table $qry = "INSERT INTO invite_requests(fname, lname, gender, zip, email, phone, terms, participating_retailers, notify_new_items, notify_promotions, priority1, priority2, priority3, priority4, priority5, gift_privacy, user_name, password, Quickfill) VALUES('$_POST[fname]','$_POST[lname]','$_POST[gender]','$_POST[zip]','$_POST[email]','$_POST[phone]','$_POST[terms]','$_POST[participating_retailers]','$_POST[notify_new_items]','$_POST[notify_promotions]','$_POST[priority1]','$_POST[priority2]','$_POST[priority3]','$_POST[priority4]','$_POST[priority5]','$_POST[gift_privacy]','$user_name','".md5($_POST['password'])."','$_POST[Quickfill]')"; $result = @mysql_query($qry); // Echo message to Men echo "&lt;p&gt;&lt;strong&gt;Click2Fit is not yet available for men, but we'll be sure to send an invitation as soon as it is&lt;/strong&gt;&lt;/p&gt;"; // Redirects user - This should be replaced with the function which closes the fancybox iframe header("location: home.html"); exit(); } ?&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload