contact.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. // Sloodle Browser website, contact form
  3. require_once('config.php');
  4. $CFG->curpage = 'contact';
  5. $CFG->pagetitle = 'Sloodle Browser :: Contact';
  6. // Email address to send the contact form to
  7. $contactemail = 'Malcolm.Crowe@uws.ac.uk ';
  8. $contactsubject = 'Sloodle Browser (contact via website)';
  9. // Start a session so we can track user data in the contact form
  10. session_name('sloodlebrowser');
  11. session_start();
  12. // Default values for the contact form
  13. $sb_sendername = '';
  14. $sb_senderemail = '';
  15. $sb_message = '';
  16. // Was the message sent? 0 = not attempted, -1 = error, 1 = success
  17. $messagesent = 0;
  18. // Has a contact form been submitted?
  19. if (isset($_POST['sb_submitcontactform'])) {
  20. // Yes - transfer everything to session data
  21. $_SESSION['sb_submitcontactform'] = true;
  22. $_SESSION['sb_sendername'] = $_POST['sb_sendername'];
  23. $_SESSION['sb_senderemail'] = $_POST['sb_senderemail'];
  24. $_SESSION['sb_message'] = $_POST['sb_message'];
  25. // Redirect back to this page again, to eliminate the POST parameters
  26. if (headers_sent()) exit('Failed to send message -- headers already sent.');
  27. header("Location: {$CFG->wwwroot}/contact.php");
  28. exit();
  29. }
  30. // Has contact form data been passed as session data?
  31. if (isset($_SESSION['sb_submitcontactform'])) {
  32. // Grab all the session data out
  33. $sb_sendername = htmlentities($_SESSION['sb_sendername'], ENT_QUOTES);
  34. $sb_senderemail = addslashes($_SESSION['sb_senderemail']);
  35. $sb_message = htmlentities($_SESSION['sb_message'], ENT_QUOTES);
  36. // Unset all the session data
  37. unset($_SESSION['sb_submitcontactform']);
  38. unset($_SESSION['sb_sendername']);
  39. unset($_SESSION['sb_senderemail']);
  40. unset($_SESSION['sb_message']);
  41. // Attempt to send the email
  42. $headers = "From: {$sb_senderemail}";
  43. $message = "Message from {$sb_sendername} via Sloodle Browser website:\n\n".$sb_message;
  44. $result = @mail($contactemail, $contactsubject, $message, $headers);
  45. // Was it successful?
  46. if ($result) {
  47. $messagesent = 1;
  48. // Clear the data from the form
  49. $sb_sendername = '';
  50. $sb_senderemail = '';
  51. $sb_message = '';
  52. } else {
  53. $messagesent = -1;
  54. }
  55. }
  56. print_header();
  57. ?>
  58. <!-- MAIN PAGE CONTENT -->
  59. <?php start_page_content(); ?>
  60. <?php start_page_entry('Contact Us'); ?>
  61. <?php
  62. // Was a message sent or failed?
  63. if ($messagesent < 0) echo '<h3 style="color:#aa0000;text-align:center;">Failed to send message<br/></h3>';
  64. else if ($messagesent > 0) echo '<h3 style="color:#00aa00;text-align:center;">Message sent successfully<br/></h3>';
  65. ?>
  66. <p>
  67. The Sloodle Browser is maintained by Malcolm Crowe at the University of the West of Scotland.
  68. You can use the form below to send him an email:
  69. </p>
  70. <form action="contact.php" method="post">
  71. <fieldset style="text-align:center;">
  72. <label for="sb_sendername">Your name:</label>
  73. <input type="text" name="sb_sendername" id="sb_sendername" size="30" maxlength="100" value="<?php echo $sb_sendername; ?>" />
  74. <br/>
  75. <label for="sb_senderemail">Your email:</label>
  76. <input type="text" name="sb_senderemail" id="sb_senderemail" size="30" maxlength="100" value="<?php echo $sb_senderemail; ?>" />
  77. <br/><br/>
  78. <label for="sb_message">Message:</label><br/>
  79. <textarea name="sb_message" id="sb_message" cols="30" rows="12"><?php echo $sb_message; ?></textarea>
  80. <br/><br/>
  81. <input type="submit" name="sb_submitcontactform" id="sb_submitcontactform" value="Send" />
  82. </fieldset>
  83. </form>
  84. <?php end_page_entry(); ?>
  85. <?php end_page_content(); ?>
  86. <!-- END MAIN PAGE CONTENT -->
  87. <?php include_once($CFG->dirroot.'/sidebar.php'); ?>
  88. <?php print_footer(); ?>