creative1 Posted September 17, 2010 Share Posted September 17, 2010 Hi, I'm new to PHP and have dabbled a little but need some help or someone to point me in the right direction if possible. I have an ajax web-form that sends the inputed data to a php file and then emails the results to the designated address (all working fine). However, what I am looking to do is have the php file (in addition to the current function) convert the data into XML and then attach the XML file to the email that is sent out. As mentioned I'm new to php and have a small amount of knowledge so any help on this would be very much appreciated. Cheers Quote Link to comment https://forums.phpfreaks.com/topic/213649-converting-and-sending-web-form-data-as-xml/ Share on other sites More sharing options...
Adam Posted September 17, 2010 Share Posted September 17, 2010 Do you have an example of the data and desired XML output? Quote Link to comment https://forums.phpfreaks.com/topic/213649-converting-and-sending-web-form-data-as-xml/#findComment-1112026 Share on other sites More sharing options...
the182guy Posted September 17, 2010 Share Posted September 17, 2010 So basically there are 3 parts: [*]Build the XML string from the submitted form fields [*]Save the XML string as a .xml file [*]Send the XML file as an attachment to an email Part 1 - build the XML string. I presume you're posting the form data? $name = htmlentities($_POST['name']); $comments = htmlentities($_POST['comments']); $xml = trim(" <?xml version=\"1.0\" encoding=\"UTF-8\"?> <submission> <name>$name</name> <comments>$comments</comments> </submission> "); Part 2 - write the XML file. Code here: http://www.tizag.com/phpT/filewrite.php Part 3 - send as email attachment. Code here: http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php Quote Link to comment https://forums.phpfreaks.com/topic/213649-converting-and-sending-web-form-data-as-xml/#findComment-1112027 Share on other sites More sharing options...
creative1 Posted September 17, 2010 Author Share Posted September 17, 2010 Many Thanks for this info, your right I am posting the info, one quick question on building the string? The php file I'm using already performs some validation, returns results etc, where would I look to start building the string from before or after the validation? (I realise i will need to include the "htmlentities") Below if the code for the form I am using. Many thanks Ben <?php if(!$_POST) exit; $name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $subject = $_POST['subject']; $comments = $_POST['comments']; $verify = $_POST['verify']; if(trim($name) == '') { echo '<div class="error_message">Attention! You must enter your name.</div>'; exit(); } else if(trim($email) == '') { echo '<div class="error_message">Attention! Please enter a valid email address.</div>'; exit(); } else if(trim($phone) == '') { echo '<div class="error_message">Attention! Please enter a valid phone number.</div>'; exit(); } else if(!is_numeric($phone)) { echo '<div class="error_message">Attention! Phone number can only contain digits.</div>'; exit(); } else if(!isEmail($email)) { echo '<div class="error_message">Attention! You have enter an invalid e-mail address, try again.</div>'; exit(); } if(trim($subject) == '') { echo '<div class="error_message">Attention! Please enter a subject.</div>'; exit(); } else if(trim($comments) == '') { echo '<div class="error_message">Attention! Please enter your message.</div>'; exit(); } else if(trim($verify) == '') { echo '<div class="error_message">Attention! Please enter the verification number.</div>'; exit(); } else if(trim($verify) != '4') { echo '<div class="error_message">Attention! The verification number you entered is incorrect.</div>'; exit(); } if($error == '') { if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); } $address = "[email protected]"; $e_subject = 'You\'ve been contacted by ' . $name . '.'; $e_body = "You have been contacted by $name with regards to $subject, their additional message is as follows.\r\n\n"; $e_content = "\"$comments\"\r\n\n"; $e_reply = "You can contact $name via email, $email or via phone $phone"; $msg = $e_body . $e_content . $e_reply; if(mail($address, $e_subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n")) { echo "<fieldset>"; echo "<div id='success_page'>"; echo "<h1>Email Sent Successfully.</h1>"; echo "<p>Thank you <strong>$name</strong>, your message has been submitted to us.</p>"; echo "</div>"; echo "</fieldset>"; } else { echo 'ERROR!'; } } function isEmail($email) { return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email)); } ?> Quote Link to comment https://forums.phpfreaks.com/topic/213649-converting-and-sending-web-form-data-as-xml/#findComment-1112032 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.