www.webdeveloper.com
Results 1 to 15 of 15

Thread: php form email enquiry

  1. #1
    Join Date
    Sep 2009
    Posts
    15

    php form email enquiry

    Hi all.

    I have created a php form. I have done everything right and the email sends etc which is great but i get back blank fields.

    Full name:

    Email:
    none@noone.com

    Telephone:

    Comments:
    nonononee none none none

    Company Name:

    Which Plan:

    Which Phone:

    When should we call you?:

    Type of business:

    Number of employees:

    Existing number of lines:

    Existing number of extensions:

    Referrer contact name:

    Referral email:

    Referral telephone:

    Referral company name:

    It sends some of the info but not all. here is the code below.
    HTML Code:
    <div id="contact-wrapper">
    
    <?php if(isset($hasError)) { //If errors are found ?>
        <p class="error">Please check if you've filled all the fields with valid information. Thank you.</p>
    <?php } ?>
    
    <?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
        <p><strong>Email Successfully Sent!</strong></p>
        <p>Thank you <strong><?php echo $name;?></strong> for using my contact form! Your email was successfully sent and I will be in touch with you soon.</p>
    <?php } ?>
    
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
            <div class="section_title">
                <h3>Let's get started... </h3>
                <p></p>
        </div>
        <div>
            <label for="name"><strong>Full Name:</strong></label>
            <input type="text" size="50" name="contactname" id="contactname" value="" class="required" />
        </div>
    
        <div>
            <label for="company name"><strong>Company Name:</strong></label>
            <input type="text" size="50" name="companyname" id="companyname" value="" class="required" />
        </div>
        <div>
            <label for="email"><strong>Email:</strong></label>
            <input type="text" size="20" name="email" id="email" value="" class="required email" />
        </div>
        <div>
            <label for="telephone"><strong>Telephone:</strong></label>
            <input type="text" size="25" name="telephone" id="telephone" value="" class="required" />
        </div>
        <div>
            <label for="whentocall"><strong>When should we call you?:</strong></label>
            <input type="text" size="25" name="whentocall" id="whentocall" value="" class="required" />
        </div>
        <div>
            <label for="whichplan"><strong>Which plan?:</strong></label>
            <input type="text" size="25" name="whichplan" id="whichplan" value="" class="required" />
        </div>
        <div>
            <label for="whichphone"><strong>Which phone?:</strong></label>
            <input type="text" size="25" name="whichphone" id="whichphone" value="" class="required" />
        </div>
        <div>
            <label for="whatbusiness"><strong>Type of business?:</strong></label>
            <input type="text" size="25" name="whatbusiness" id="whatbusiness" value="" class="required" />
        </div>
        <div>
            <label for="employees"><strong>Number of employees?:</strong></label>
            <input type="text" size="25" name="employees" id="employees" value="" class="required" />
        </div>
        <div>
            <label for="lines"><strong>Existing number of lines?:</strong></label>
            <input type="text" size="25" name="lines" id="lines" value="" class="required" />
        </div>
        <div>
            <label for="extensions"><strong>Existing number of extensions?:</strong></label>
            <input type="text" size="25" name="extensions" id="extensions" value="" class="required" />
        </div>
        <div>
            <label for="notes"><strong>Comments</strong></label>
            <textarea rows="3" cols="50" name="comments" id="comments" class="required"></textarea>
        </div>
        <div class="section_break">
                <h3>Who referred you?...</h3>
                <p></p>
        </div>
        <div>
            <label for="referral name"><strong>Full Name:</strong></label>
            <input type="text" size="50" name="referralcontactname" id="referralcontactname" value="" class="required" />
        </div>
    
        <div>
            <label for="referral company name"><strong>Company Name:</strong></label>
            <input type="text" size="50" name="referralcompanyname" id="referralcompanyname" value="" class="required" />
        </div>
        <div>
            <label for="referral email"><strong>Email:</strong></label>
            <input type="text" size="20" name="referralemail" id="referralemail" value="" class="required email" />
        </div>
        <div>
            <label for="referral telephone"><strong>Telephone:</strong></label>
            <input type="text" size="25" name="referraltelephone" id="referraltelephone" value="" class="required" />
        </div>
        <input type="submit" value="Send Message" name="submit" />
    </form>
    and the php side;
    Code:
    <?php
    //If the form is submitted
    if(isset($_POST['submit'])) {
    
        //Check to make sure that the name field is not empty
        if(trim($_POST['contactname']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['contactname']);
        }
            //Check to make sure that the companyname field is not empty
        if(trim($_POST['companyname']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['companyname']);
        }
    
        //Check to make sure that the telephone field is not empty
        if(trim($_POST['telephone']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['telephone']);
        }
            //Check to make sure that the whentocall field is not empty
        if(trim($_POST['whentocall']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['whentocall']);
        }
            //Check to make sure that the telephone field is not empty
        if(trim($_POST['whichplan']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['whichplan']);
        }
                //Check to make sure that the telephone field is not empty
        if(trim($_POST['whichphone']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['whichphone']);
        }
                    //Check to make sure that the telephone field is not empty
        if(trim($_POST['whatbusiness']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['whatbusiness']);
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['employees']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['employees']);
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['lines']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['lines']);
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['extensions']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['extensions']);
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['comments']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['comments']);
        }
    
        //Check to make sure sure that a valid email address is submitted
        if(trim($_POST['email']) == '')  {
            $hasError = true;
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
            $hasError = true;
        } else {
            $email = trim($_POST['email']);
        }
            //Check to make sure that the name field is not empty
        if(trim($_POST['referralcontactname']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['referralcontactname']);
        }
            //Check to make sure that the companyname field is not empty
        if(trim($_POST['referralcompanyname']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['referralcompanyname']);
        }
    
        //Check to make sure that the telephone field is not empty
        if(trim($_POST['referraltelephone']) == '') {
            $hasError = true;
        } else {
            $subject = trim($_POST['referraltelephone']);
        }
            //Check to make sure sure that a valid email address is submitted
        if(trim($_POST['referralemail']) == '')  {
            $hasError = true;
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['referralemail']))) {
            $hasError = true;
        } else {
            $email = trim($_POST['referralemail']);
        }
    
        //Check to make sure comments were entered
        if(trim($_POST['comments']) == '') {
            $hasError = true;
        } else {
            if(function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['comments']));
            } else {
                $comments = trim($_POST['comments']);
            }
        }
    
        //If there is no error, send the email
        if(!isset($hasError)) {
            $emailTo = 'ryanshawgd@gmail.com, mdunbavan@gmail.com'; //Put your own email address here
            $body = "\n\nFull name: \n$contactname 
            \n\nEmail: \n$email 
            \n\nTelephone: \n$telephone 
            \n\nComments:\n $comments 
            \n\nCompany Name:\n $companyname 
            \n\nWhich Plan:\n $whichplan 
            \n\nWhich Phone:\n $whichphone 
            \n\nWhen should we call you?:\n $whentocall 
            \n\nType of business:\n $whatbusiness 
            \n\nNumber of employees:\n $employees 
            \n\nExisting number of lines:\n $lines
            \n\nExisting number of extensions:\n $extensions  
            \n\nReferrer contact name:\n $referralcontactname 
            \n\nReferral email:\n $referralemail 
            \n\nReferral telephone:\n $referraltelephone 
            \n\nReferral company name:\n $referralcompanyname";
            $headers = 'From: Digivox Referrals/Tester email <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
    
            mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    }
    ?>
    Iam wondering if it is the email address or something. I cannot see where the problem is with this at all.

    Any help would be much appreciated on this one.

    Regards
    Mark

  2. #2
    Join Date
    Apr 2010
    Posts
    213
    Although you trimmed your $_POST[] responses, you should also urldecode() them.

  3. #3
    Join Date
    Sep 2009
    Posts
    15
    Well having looked into it apparently it seems to be okay. Does it depend on the different types of server websites work from.

    I am not quite sure how to urldecode() $_POST[] responses with this though. Where would this be edited and how would it work?

    Thanks for your help.

    Mark

  4. #4
    Join Date
    Apr 2010
    Posts
    213
    Thusly:
    Code:
    if(urldecode(trim($_POST['contactname'])) == '') {
    for example.

    The php manual explains it better than I could so here's the ref:
    http://php.net/manual/en/function.urldecode.php

    Good luck

  5. #5
    Join Date
    Sep 2009
    Posts
    15
    okay so I made the changes but it still does exactly the same thing. This is what I entered in to php:

    PHP Code:
        //Check to make sure that the name field is not empty
        
    if(urldecode(trim($_POST['contactname'])) == '') {
            
    $hasError true;
        } else {
            
    $name trim($_POST['contactname']);
        } 
    Does this also need to be included on the bottom part of the code here where we have:

    PHP Code:
    $name trim($_POST['contactname']); 
    Thanks,

    Mark

  6. #6
    Join Date
    Apr 2010
    Posts
    213
    By all means, you should urldecode() all of the $_POST assignments. Also, I notice that all of your $_POST[] elements are assigned to either $name, $subject, $email, or $comments. If you look down further in the '//If there is no error, send the email' section, you will see additional variables to which some of them might be more appropriately assigned.

    Good luck and have a nice day

  7. #7
    Join Date
    Sep 2009
    Posts
    15
    Yes well I am kind of new to php but this is what I changed from the original first line so far;

    PHP Code:
        if(urldecode(trim($_POST['\n$contactname'])) == '') {
            
    $hasError true;
        } else {
            
    $contactname = (urldecode(trim($_POST['\n$contactname'])) == '');
        } 
    I saw a few things that were not quite right but I am hoping this will help it a long a bit. The only problem I have is when I click to submit it usually sends the form without some of the information. now it says there is an error.

    This seems to be a good thing because it must mean the php code was wrong and now must be slowly getting to what it should be.

  8. #8
    Join Date
    Apr 2010
    Posts
    213
    $_POST['\n$contactname'] should be $_POST['$contactname'] (the variable begins with '$').

    It's getting there, though

  9. #9
    Join Date
    Sep 2009
    Posts
    15
    Thanks a lot. I am still struggling with it. All i get back on the form is:

    "Please check if you've filled all the fields with valid information. Thank you."

    I know that this is what I wrote in the php code but cannot see where it is that could be happening because I filled all the form fields out.

    Arghhhhhhhhhh!

    Sorry of I am starting to annoy you but I wanna get this nailed!

  10. #10
    Join Date
    Apr 2010
    Posts
    213

    Part 1

    Lol... although I'll admit it was an aggravating day, your project had little to do with it and by a happy coincidence, I've learned that when I feel cranky it always makes me happier to do something nice for someone... The code below needs a little work, but they are only cosmetic and minor things that you'll find instructive to tinker with. Although it's a single file, I have to send it in two parts due to its size... the php section (this part) goes first and the html second (next message).

    Code:
    <?php
    //If the form is submitted
    if (!isset($_POST['submit'])) {
    	// Prevent undefined variables in the html section
    	$vars = array('errmsg', 'contactname', 'companyname', 'email', 'telephone',
    				'whentocall', 'whichplan', 'whichphone', 'whatbusiness', 'employees',
    				'lines', 'extensions', 'comments', 'referralcontactname', 'referralcompanyname',
    				'referralemail', 'referraltelephone');
    	foreach($vars as $v) {
    		$$v = '';
    	}
    } else {
    	foreach ($_POST as $key => $val) {
    	  $$key = urldecode(trim($val));
    	}
    
        //Check to make sure that the name field is not empty
        if(trim($_POST['contactname']) == '') {
            $hasError = true;
            $errmsg = 'Contact name is empty';
        }
            //Check to make sure that the companyname field is not empty
        if(trim($_POST['companyname']) == '') {
            $hasError = true;
            $errmsg = 'Company name is empty';
        }
    
        //Check to make sure that the telephone field is not empty
        if(trim($_POST['telephone']) == '') {
            $hasError = true;
            $errmsg = 'Telephone is empty';
        }
            //Check to make sure that the whentocall field is not empty
        if(trim($_POST['whentocall']) == '') {
            $hasError = true;
            $errmsg = 'When to call is empty';
        }
            //Check to make sure that the telephone field is not empty
        if(trim($_POST['whichplan']) == '') {
            $hasError = true;
            $errmsg = 'Which plan is empty';
        }
                //Check to make sure that the telephone field is not empty
        if(trim($_POST['whichphone']) == '') {
            $hasError = true;
            $errmsg = 'Telephone is empty';
        }
                    //Check to make sure that the telephone field is not empty
        if(trim($_POST['whatbusiness']) == '') {
            $hasError = true;
            $errmsg = 'Business is empty'; 
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['employees']) == '') {
            $hasError = true;
            $errmsg = 'employees is empty';
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['lines']) == '') {
            $hasError = true;
            $errmsg = 'Lines is empty';
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['extensions']) == '') {
            $hasError = true;
            $errmsg = 'Extensions is empty';
        }
                        //Check to make sure that the telephone field is not empty
        if(trim($_POST['comments']) == '') {
            $hasError = true;
            $errmsg = 'Comments is empty';
        }
    
        //Check to make sure sure that a valid email address is submitted
        if(trim($_POST['email']) == '')  {
            $hasError = true;
            $errmsg = 'Email is empty';
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
            $hasError = true;
            $errmsg = 'Email is invalid';
        }
            //Check to make sure that the name field is not empty
        if(trim($_POST['referralcontactname']) == '') {
            $hasError = true;
            $errmsg = 'Referral name is empty';
        }
            //Check to make sure that the companyname field is not empty
        if(trim($_POST['referralcompanyname']) == '') {
            $hasError = true;
            $errmsg = 'Referral company is empty';
        }
    
        //Check to make sure that the telephone field is not empty
        if(trim($_POST['referraltelephone']) == '') {
            $hasError = true;
            $errmsg = 'Referral teltphone is empty';
        }
            //Check to make sure sure that a valid email address is submitted
        if(trim($_POST['referralemail']) == '')  {
            $hasError = true;
            $errmsg = 'Referral email is empty';
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['referralemail']))) {
            $hasError = true;
            $errmsg = 'Referral email is invalid';
        }
    
        //Check to make sure comments were entered
        if(trim($_POST['comments']) == '') {
            $hasError = true;
            $errmsg = 'Comments is empty';
        } else {
            if(function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['comments']));
            }
        }
    
        //If there is no error, send the email
        if(!isset($hasError)) {
            $emailTo = 'ryanshawgd@gmail.com, mdunbavan@gmail.com'; //Put your own email address here
            $body = "\n\nFull name: \n$contactname 
            \n\nEmail: \n$email 
            \n\nTelephone: \n$telephone 
            \n\nComments:\n $comments 
            \n\nCompany Name:\n $companyname 
            \n\nWhich Plan:\n $whichplan 
            \n\nWhich Phone:\n $whichphone 
            \n\nWhen should we call you?:\n $whentocall 
            \n\nType of business:\n $whatbusiness 
            \n\nNumber of employees:\n $employees 
            \n\nExisting number of lines:\n $lines
            \n\nExisting number of extensions:\n $extensions  
            \n\nReferrer contact name:\n $referralcontactname 
            \n\nReferral email:\n $referralemail 
            \n\nReferral telephone:\n $referraltelephone 
            \n\nReferral company name:\n $referralcompanyname";
            $headers = 'From: Digivox Referrals/Tester email <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
    
            mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    }
    ?>
    Stay tuned for part 2

  11. #11
    Join Date
    Apr 2010
    Posts
    213

    Part 2

    Part 2

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
    <head></head>
    <body>
    <div id="contact-wrapper">
    
    <?php if(isset($hasError)) { //If errors are found ?>
        <p class="error">Please check for the following error: <?php echo $errmsg ?>. Thank you.</p>
    <?php } ?>
    
    <?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
        <p><strong>Email Successfully Sent!</strong></p>
        <p>Thank you <strong><?php echo $name;?></strong> for using my contact form! Your email was successfully sent and I will be in touch with you soon.</p>
    <?php } ?>
    
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
        <div class = "hidden">
          <input type="hidden" name="errmsg" id="errmsg" value="<?php echo $errmsg ?>" />
        </div>
        <div class="section_title">
                <h3>Let's get started... </h3>
                <p></p>
        </div>
        <div>
            <label for="name"><strong>Full Name:</strong></label>
            <input type="text" size="50" name="contactname" id="contactname" value="<?php echo $contactname ?>" class="required" />
        </div>
    
        <div>
            <label for="company name"><strong>Company Name:</strong></label>
            <input type="text" size="50" name="companyname" id="companyname" value="<?php echo $companyname ?>" class="required" />
        </div>
        <div>
            <label for="email"><strong>Email:</strong></label>
            <input type="text" size="20" name="email" id="email" value="<?php echo $email ?>" class="required email" />
        </div>
        <div>
            <label for="telephone"><strong>Telephone:</strong></label>
            <input type="text" size="25" name="telephone" id="telephone" value="<?php echo $telephone ?>" class="required" />
        </div>
        <div>
            <label for="whentocall"><strong>When should we call you?:</strong></label>
            <input type="text" size="25" name="whentocall" id="whentocall" value="<?php echo $whentocall ?>" class="required" />
        </div>
        <div>
            <label for="whichplan"><strong>Which plan?:</strong></label>
            <input type="text" size="25" name="whichplan" id="whichplan" value="<?php echo $whichplan ?>" class="required" />
        </div>
        <div>
            <label for="whichphone"><strong>Which phone?:</strong></label>
            <input type="text" size="25" name="whichphone" id="whichphone" value="<?php echo $whichphone ?>" class="required" />
        </div>
        <div>
            <label for="whatbusiness"><strong>Type of business?:</strong></label>
            <input type="text" size="25" name="whatbusiness" id="whatbusiness" value="<?php echo $whatbusiness ?>" class="required" />
        </div>
        <div>
            <label for="employees"><strong>Number of employees?:</strong></label>
            <input type="text" size="25" name="employees" id="employees" value="<?php echo $employees ?>" class="required" />
        </div>
        <div>
            <label for="lines"><strong>Existing number of lines?:</strong></label>
            <input type="text" size="25" name="lines" id="lines" value="<?php echo $lines ?>" class="required" />
        </div>
        <div>
            <label for="extensions"><strong>Existing number of extensions?:</strong></label>
            <input type="text" size="25" name="extensions" id="extensions" value="<?php echo $extensions ?>" class="required" />
        </div>
        <div>
            <label for="notes"><strong>Comments</strong></label>
            <textarea rows="3" cols="50" name="comments" id="comments" class="required"><?php echo $comments ?></textarea>
        </div>
        <div class="section_break">
                <h3>Who referred you?...</h3>
                <p></p>
        </div>
        <div>
            <label for="referral name"><strong>Full Name:</strong></label>
            <input type="text" size="50" name="referralcontactname" id="referralcontactname" value="<?php echo $referralcontactname ?>" class="required" />
        </div>
    
        <div>
            <label for="referral company name"><strong>Company Name:</strong></label>
            <input type="text" size="50" name="referralcompanyname" id="referralcompanyname" value="<?php echo $referralcompanyname ?>" class="required" />
        </div>
        <div>
            <label for="referral email"><strong>Email:</strong></label>
            <input type="text" size="20" name="referralemail" id="referralemail" value="<?php echo $referralemail ?>" class="required email" />
        </div>
        <div>
            <label for="referral telephone"><strong>Telephone:</strong></label>
            <input type="text" size="25" name="referraltelephone" id="referraltelephone" value="<?php echo $referraltelephone ?>" class="required" />
        </div>
        <div>
          <input type="submit" value="Send Message" name="submit" />
        </div>
    </form>
    </div>
    </body>
    </html>
    Enjoy

  12. #12
    Join Date
    Sep 2009
    Posts
    15
    Hi chipzzz.

    Thats quite funny but brilliant in another way. Thank you for your help. So let me get this straight. The code we have here has missing parts on purpose so I have to find them. I tried sending the form and it displayed the have you filled in everything text so i am assuming I need to go into the php and find the parts missing and fill them in?

    Thanks so much

    Mark

  13. #13
    Join Date
    Apr 2010
    Posts
    213
    Hi Mark,

    Well, I figured if you wanted it all done for you, you'd have gone to Rent-A-Coder or someplace like that, so coupled with my intrinsic laziness, I thought I would fix it enough that you would be able to learn from what I had done as well as fix a few odds and ends on your own. For example, I'm sure you don't want comments to be mandatory, yet as originally written, they were. I'm sure you can fix it, so I left it that way. Similarly, but a little more difficult, you might like the form displayed in a table so that you had columns of labels and columns of data. You'll have to stretch your abilities a bit but I think you'll be able to manage it, so I left that for you. That's all that comes immediately to mind in that regard, and as for learning from the code as it stands, I would draw your attention to the beginning of the file, where the $_POST array is read. I think you'll appreciate the efficiency with which that is done as opposed to the original version. Also, the 'have you filled in everything' has been enhanced to include a more specific error message. So, in summary, the code is fully functional but as I said, it could stand a few cosmetic improvements and some tinkering of which I think you are probably capable. If I misread the situation, I apologize and will continue improving it as time permits.

    Thanks for the praise (a pat on the back is always welcome) & have a nice evening

  14. #14
    Join Date
    Sep 2009
    Posts
    15
    Hi Chipzz.

    Just a quick update. Been tinkering with the php form and added a few things and now just trying to figure out how to get some of the input area's to sit next to each other horizontally. This will make it loads more compact and easier to fill in as opposed to it being really long and arduous.

    I have seen a few of the things you did and they are great. Thanks again.

    I will post up here the finished site so you can see what I have been doing.

    Thanks,

    Mark

  15. #15
    Join Date
    Apr 2010
    Posts
    213
    Good work and I look forward to seeing it. There are a couple of ways to do what you want. The quickest and easiest is probably to embed a table in the form as explained here: http://www.w3schools.com/html/html_tables.asp .

    Good luck and I'm glad I could help

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles