[PHP]Release - Ambition Studio's Email to request form

Status
Not open for further replies.

Josh

Active Member
76
2010
0
0
This was from my site Ambition Studio. I was using mailto code and it would pop up and I used a format but that was very inefficient. I then decided to use PHP > ticket system so I programmed this PHP form that checks to make sure the valuables are checked or filled, and the text input areas have a minimum character limit to prevent spam. This can be used for anything so long as you change the HTML and PHP code but, the base is complete for you.

This was my first ever and only ever PHP written code so if you decide to troll me it just shows how boring your life is, and I wont give a shit really.

Demo

To preview the email sent:
complete the form in the Demo then continue to login here: http://project-infinity.net/webmail
(I suggest Roundcube for webmail provider)

Email (user): demo@project-infinity.net
password: test

PHP:
<?PHP

$payment_options = array(
1 => 'Request a free Template (Explain Below why)',
2 => 'Pay by PayPal',
3 => 'Pay by Mail'
);
// Start Checks
    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        if($_POST['submit'] == 'Submit'){
            // General
            if(strlen($_POST['element_1_1']) < 3){
                $message[] = 'No first name has been entered';
            }
            if(strlen($_POST['element_1_2']) < 3){
                $message[] = 'No last name has been entered';
            }
            if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])↪*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['element_2'])){
                $message[] = 'No (valid) e-mail has been entered';
            }
            if(strlen($_POST['element_3']) < 15){
                $message[] = 'No description has been entered';
            }
            if(preg_match("/^(http(s?):\\/\\/)(\/?)$/i", $_POST['element_5'])){
                $message[] = 'No (valid) url has been entered';
            }
            
            if(empty($_POST['element_7_1']) && empty($_POST['element_7_2']) && empty($_POST['element_7_3']) && empty($_POST['element_7_4']) && empty($_POST['element_7_5']) && empty($_POST['element_7_6']) && empty($_POST['element_7_7'])){
                $message[] = 'Atleast make one selection for the Navbar';
            }
            
            // Details
            if(isset($_POST['element_7_1']) && !is_numeric($_POST['element_7_1'])){
                $message[] = 'No valid selection has been made on ToS';
            }
            if(isset($_POST['element_7_2']) && !is_numeric($_POST['element_7_2'])){
                $message[] = 'No valid selection has been made on Forums';
            }
            if(isset($_POST['element_7_3']) && !is_numeric($_POST['element_7_3'])){
                $message[] = 'No valid selection has been made on Galleries';
            }
            if(isset($_POST['element_7_4']) && !is_numeric($_POST['element_7_4'])){
                $message[] = 'No valid selection has been made on Home page';
            }
            if(isset($_POST['element_7_5']) && !is_numeric($_POST['element_7_5'])){
                $message[] = 'No valid selection has been made on Donate';
            }
            if(isset($_POST['element_7_6']) && !is_numeric($_POST['element_7_6'])){
                $message[] = 'No valid selection has been made on Contact';
            }
            if(isset($_POST['element_7_7']) && !is_numeric($_POST['element_7_7'])){
                $message[] = 'No valid selection has been made on Other';
            }
            
            //Payment
            if(!is_numeric($_POST['element_8'])){
                $message[] = 'No valid selection has been made on Payment options';
            }
            if(strlen($_POST['element_6']) < 10){
                $message[] = 'No description has been entered';
            }
        }
        if(!isset($message)){
            // E-mail.
            $header  = 'MIME-Version: 1.0' . "\r\n";
            $header .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
            $header .= 'From: Project Infinity <demo@project-infinity.net>'."\r\n";
            
            // Change numeric to text
            if($_POST['element_7_1'] == 1){
                $tos = 'Yes';
            } else {
                $tos = 'No';
            }
            if($_POST['element_7_2'] == 1){
                $forum = 'Yes';
            } else {
                $forum = 'No';
            }
            if($_POST['element_7_3'] == 1){
                $gallery = 'Yes';
            } else {
                $gallery = 'No';
            }
            if($_POST['element_7_4'] == 1){
                $home = 'Yes';
            } else {
                $home = 'No';
            }
            if($_POST['element_7_5'] == 1){
                $donate = 'Yes';
            } else {
                $donate = 'No';
            }
            if($_POST['element_7_6'] == 1){
                $contact = 'Yes';
            } else {
                $contact = 'No';
            }
            if($_POST['element_7_7'] == 1){
                $other = 'Yes';
            } else {
                $other = 'No';
            }
            // Mail HTML / Body
            $html = '
            <html>
                <body>
                    <table>
                        <tr>
                            <td>
                                <strong>Name:</strong>
                            </td>
                            <td>
                                '.$_POST['element_1_1'].' '.$_POST['element_1_2'].'
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <strong>Email:</strong>
                            </td>
                            <td>
                                '.$_POST['element_2'].'
                            </td>
                        </tr>
                        <tr>
                            <td valign="top">
                                <strong>Description:</strong>
                            </td>
                            <td>
                                '.nl2br($_POST['element_3']).'
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <strong>Website URL:</strong>
                            </td>
                            <td>
                                '.$_POST['element_5'].'
                            </td>
                        </tr>
                        <tr>
                            <td valign="top">
                                <strong>Navbar Options:</strong>
                            </td>
                            <td>
                                <ul>
                                    <li>Terms of Service - '.$tos.'</li>
                                    <li>Forum - '.$forum.'</li>
                                    <li>Gallery - '.$gallery.'</li>
                                    <li>Home - '.$home.'</li>
                                    <li>Doante - '.$donate.'</li>
                                    <li>Contact - '.$contact.'</li>
                                    <li>Other - '.$other.'</li>
                                </ul>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <strong>Payment Option:</strong>
                            </td>
                            <td>
                                '.$payment_options[$_POST['element_8']].'
                            </td>
                        </tr>
                        <tr>
                            <td valign="top">
                                <strong>Other Information:</strong>
                            </td>
                            <td>
                                '.nl2br($_POST['element_6']).'
                            </td>
                        </tr>
                    </table>
                </body>
            </html>';
            
            // Send
            if(mail('Demo <demo@project-infinity.net>', 'Template Request', $html, $header)){
                $js_alert = "
                <script>
                     alert('E-mail has been sent succesfully.');
                </script>";
                unset($_POST);
            } else {
                $js_alert = "
                <script>
                     alert(\"E-mail hasn't been sent,\\nPlease try again later.\");
                </script>";
            }
        }
    }
    
    // If an message is set, then make the alert.
    if(isset($message)){
        $js_alert = '<script>
        alert(\'The following problems have occured:';
            foreach($message AS $value){
                $js_alert .= '\\n- '.$value.'.';
            }
        $js_alert .= '\');
        </script>';
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ambition-Studio Template Request Form</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<script type="text/javascript" src="view.js"></script>
</head>
<body id="main_body" >    
    <img id="top" src="top.png" alt="">
    <div id="form_container">
    
        <h1><a>Ambition-Studio Templates</a></h1>
                    <div class="form_description">
                    <div align="center">
            <h2><font face ="times new roman" color="#9ECEDC">Request a Template from Ambition Studio</font></h2>
            <p><font color="#C8E1E8">Once sent this form will be reviewed and replied to as soon as possible via Email.</font></p>
        </div>
            </div>
            <form name="Request a Template" method="post" action="<?PHP echo $_SERVER['PHP_SELF']; ?>">
            <ul>
            
                    <li id="li_1" >
                    <!--font face="Georgia" color="#9ECEDC"-->
        <label class="description" for="element_1"><font color="#C8E1E8">Your Name: </font></label>
        <span>
            <input id="element_1_1" name= "element_1_1" class="element text" maxlength="255" size="8" value="<?PHP echo $_POST['element_1_1']; ?>"/>
            <label>First</label>
        </span>
        <span>
            <input id="element_1_2" name= "element_1_2" class="element text" maxlength="255" size="14" value="<?PHP echo $_POST['element_1_2']; ?>"/>
            <label>Last</label>
        </span><p class="guidelines" id="guide_1"><small>Please enter your real First and Last name.</small></p> 
        </li>        <li id="li_2" >
        <label class="description" for="element_2"><font color="#C8E1E8">Your Email: </font></label>
        <div>
            <input id="element_2" name="element_2" class="element text medium" type="text" maxlength="255" value="<?PHP echo $_POST['element_2']; ?>"/> 
        </div><p class="guidelines" id="guide_2"><small>Make sure that you enter a valid email we can reach you at.</small></p> 
        </li>        <li id="li_3" >
        <label class="description" for="element_3"><font color="#C8E1E8">Describe what your template shall include: </font></label>
        <div>
            <textarea id="element_3" name="element_3" class="element textarea medium"><?PHP echo $_POST['element_3']; ?></textarea> 
        </div><p class="guidelines" id="guide_3"><small>Describe to us what you would like your template to be made up of.</small></p> 
        </li>        <li id="li_5" >
        <label class="description" for="element_5"><font color="#C8E1E8">Your Site URL: </font></label>
        <div>
            <input id="element_5" name="element_5" class="element text medium" type="text" maxlength="255" value="<?PHP if(isset($_POST['element_5'])){ echo $_POST['element_5'];} else { echo 'http://'; } ?>"/> 
        </div><p class="guidelines" id="guide_5"><small>Make sure that this URL is valid.</small></p> 
        </li>        <li class="section_break">
            <h3>Request Details:</h3>
            <p></p>
        </li>        <li id="li_7" >
        <label class="description" for="element_7"><font color="#C8E1E8">My Navbar should include... </font></label>
        <span>
            <input id="element_7_1" name="element_7_1" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_1'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_1">Terms of Service.</label>
<input id="element_7_2" name="element_7_2" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_2'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_2">Forum.</label>
<input id="element_7_3" name="element_7_3" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_3'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_3">Gallery.</label>
<input id="element_7_4" name="element_7_4" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_4'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_4">A Home Page.</label>
<input id="element_7_4" name="element_7_5" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_5'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_5">Donate.</label>
<input id="element_7_4" name="element_7_6" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_6'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_6">Contact.</label>
<input id="element_7_4" name="element_7_7" class="element checkbox" type="checkbox" value="1"<?PHP if($_POST['element_7_7'] == 1){ echo ' checked="checked"';} ?> />
<label class="choice" for="element_7_7">Other. (specify below)</label>


        </span><p class="guidelines" id="guide_7"><small>Check the boxes that you would like links to in your navigation bar.</small></p> 
        </li>        <li id="li_8" >
        <label class="description" for="element_8"><font color="#C8E1E8">Payment Options: </font></label>
        <div>
        <select class="element select medium" id="element_8" name="element_8"> 
            <option value=""></option>
            <?PHP
                foreach($payment_options AS $key=>$value){
                    echo "\n\t\t\t".'<option value="'.$key.'"'; if($_POST['element_8'] == $key){ echo ' selected="selected"';} echo '>'.$value.'</option>';
                }
            ?>
        </select>
        </div><p class="guidelines" id="guide_8"><small>Choose an option describing how you would like to set it up.</small></p> 
        </li>    
        <li id="li_6" >
        <label class="description" for="element_6"><font color="#C8E1E8">Other Information: </font></label>
        <div>
            <textarea id="element_6" name="element_6" class="element textarea medium"><?PHP echo $_POST['element_6']; ?></textarea> 
        </div><p class="guidelines" id="guide_6"><small>Add any other information here.</small></p> 
        </li>
            
                    <li class="buttons">
                <input id="saveForm" class="button_text" type="submit" name="submit" value="Submit" />
        </li>
            </ul>
            <!--/font-->
        </form>    
        <div id="footer">
            This page is associated with <a href="http://www.ambitionstudio.com/">Ambition Studio</a>
            <br />
            Copyright Ambition Studio - Express yourself© 
        </div>
    </div>
    <img id="bottom" src="bottom.png" alt="">
    <?PHP if(isset($js_alert)){ echo $js_alert; } ?>
    </body>
</html>
 
Status
Not open for further replies.
Back
Top