Hello, Can somebody help me with my contact form? I am getting this error message "Parse error: syntax error, unexpected T_IF in contact/contact-form-handler.php on line 5". I tried adding more parenthesis but I can't seem to figure it out. Thank you!

<?php 
$errors = '';
$myemail = 'emailaddress@gmail.com';//<-----Put Your email address here.
if(empty($_POST['contact[first_name]']) || 
if(empty($_POST['contact[last_name]']) || 
if(empty($_POST['contact[email]']) || 
if(empty($_POST['contact[phone]']) || 
if(empty($_POST['contact[company]']) || 
if(empty($_POST['contact[position]']) || 
if(empty($_POST['contact[country]']) || 
if(empty($_POST['contact[question]']))

{
    $errors .= "\n Error: all fields are required";
}

$contact[first_name] = $_POST['contact[first_name]'];
$contact[last_name] = $_POST['contact[last_name]'];
$contact[email] = $_POST['contact[email]'];
$contact[phone] = $_POST['contact[phone]'];
$contact[company] = $_POST['contact[company]'];
$contact[position] = $_POST['contact[position]'];
$contact[country] = $_POST['contact[country]'];
$contact[question] = $_POST['contact[question]'];

if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email_address))
{
    $errors .= "\n Error: Invalid email address";
}

if( empty($errors))
{
    $to = $myemail; 
    $email_subject = "Contact form submission: $name";
    $email_body = "You have received a new message. ".
    " Here are the details:
    \n First Name: $contact[first_name] 
    \n Last Name: $contact[last_name]
    \n Email: $contact[email]
    \n Phone: $contact[phone] 
    \n Company: $contact[company]
    \n Position: $contact[position]
    \n Country: $contact[country]
    \n Question: $contact[question]"; 

    $headers = "From: $myemail\n"; 
    $headers .= "Reply-To: $email_address";

    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: http://www.domain.com/contacts');
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Contact form handler</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>

Recommended Answers

All 6 Replies

Hey,

Haven't ran it, so might not work.. But try this:

<?php 
$errors = '';
$myemail = 'emailaddress@gmail.com';//<-----Put Your email address here.

if(empty($_POST['contact[first_name]']) || (empty($_POST['contact[last_name]']) || empty($_POST['contact[email]']) ||empty($_POST['contact[phone]']) || (empty($_POST['contact[company]']) || 
(empty($_POST['contact[position]']) || 
(empty($_POST['contact[country]']) || 
(empty($_POST['contact[question]'])))))))

{
    $errors .= "\n Error: all fields are required";
}

$contact[first_name] = $_POST['contact[first_name]'];
$contact[last_name] = $_POST['contact[last_name]'];
$contact[email] = $_POST['contact[email]'];
$contact[phone] = $_POST['contact[phone]'];
$contact[company] = $_POST['contact[company]'];
$contact[position] = $_POST['contact[position]'];
$contact[country] = $_POST['contact[country]'];
$contact[question] = $_POST['contact[question]'];

if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email_address))
{
    $errors .= "\n Error: Invalid email address";
}

if( empty($errors))
{
    $to = $myemail; 
    $email_subject = "Contact form submission: $name";
    $email_body = "You have received a new message. ".
    " Here are the details:
    \n First Name: $contact[first_name] 
    \n Last Name: $contact[last_name]
    \n Email: $contact[email]
    \n Phone: $contact[phone] 
    \n Company: $contact[company]
    \n Position: $contact[position]
    \n Country: $contact[country]
    \n Question: $contact[question]"; 

    $headers = "From: $myemail\n"; 
    $headers .= "Reply-To: $email_address";

    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: http://www.domain.com/contacts');
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Contact form handler</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>

Thank you for the help! It doesn't give me the T_IF error message anymore but when I click on submit it shows

Error: all fields are required
Error: Invalid email address

even if the email address is correct (name@domain.com) and all the fields are completed.

Is your text input name is contact[first_name] ??
Post your form code.

this is what I have after the changes suggested by phorce. Thank you for the help.

<?php
$errors = '';
$myemail = 'name@gmail.com';//<-----Put Your email address here.
if(empty($_POST['contact[first_name]']) || (empty($_POST['contact[last_name]']) || empty($_POST['contact[email]']) || empty($_POST['contact[phone]']) || (empty($_POST['contact[company]']) || empty($_POST['contact[position]']) || (empty($_POST['contact[country]']) || (empty($_POST['contact[question]'])))))))

{
    $errors .= "\n Error: all fields are required";
}

$contact[first_name] = $_POST['contact[first_name]'];
$contact[last_name] = $_POST['contact[last_name]'];
$contact[email] = $_POST['contact[email]'];
$contact[phone] = $_POST['contact[phone]'];
$contact[company] = $_POST['contact[company]'];
$contact[position] = $_POST['contact[position]'];
$contact[country] = $_POST['contact[country]'];
$contact[question] = $_POST['contact[question]'];

if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$contact[email]))
{
    $errors .= "\n Error: Invalid email address";
}

if( empty($errors))
{
    $to = $myemail;
    $email_subject = "Contact form submission: $name";
    $email_body = "You have received a new message. ".
    " Here are the details:
    \n First Name: $contact[first_name]
    \n Last Name: $contact[last_name]
    \n Email: $contact[email]
    \n Phone: $contact[phone]
    \n Company: $contact[company]
    \n Position: $contact[position]
    \n Country: $contact[country]
    \n Question: $contact[question]";

    $headers = "From: $myemail\n";
    $headers .= "Reply-To: $contact[email]";

    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: http://www.domain.com/contacts');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Contact form handler</title>
</head>

<body>
    <!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>

`

Please post your FORM code e.g.

<form method="post" action="" >

  // form code
  // form code
 </form>

So we can help you more :)

oooooh ok - I understand now.

<form method="POST" name="contactform" action="contact-form-handler.php" class="new_contact" id="new_contact"> 
<div style="margin:0;padding:0;display:inline">
<input name="authenticity_token" type="hidden" value="frdo6KlphNeXBnC2uG48OullzxkbTonYFbzkXfpKgAE=">
</div>
<br>
<div class='grid_2 omega'>
<label for="contact_first_name">First name</label>
</div>
<div class='grid_2'>
<input id="contact_first_name" name="contact[first_name]" size="30" type="text">
</div>
<div class='grid_2 omega'>
<label for="contact_last_name">Last name</label>
</div>
<div class='grid_2'>
<input id="contact_last_name" name="contact[last_name]" size="30" type="text">
</div>
<div class='clear'></div>
<br>
<div class='grid_2 omega'>
<label for="contact_email">Email</label>
</div>
<div class='grid_2'>
<input id="contact_email" name="contact[email]" size="30" type="text">
</div>
<div class='grid_2 omega'>
<label for="contact_phone">Phone</label>
</div>
<div class='grid_2'>
<input id="contact_phone" name="contact[phone]" size="30" type="text">
</div>
<div class='clear'></div>
<br>
<div class='grid_2 omega'>
<label for="contact_company">Company</label>
</div>
<div class='grid_2'>
<input id="contact_company" name="contact[company]" size="30" type="text">
</div>
<div class='grid_2 omega'>
<label for="contact_position">Position</label>
</div>
<div class='grid_2'>
<select id="contact_position" name="contact[position]">
<option value=""></option>
<option value="CEO">CEO</option>
<option value="CIO/CTO">CIO/CTO</option>
<option value="SVP/MD of Technology">SVP/MD of Technology</option>
<option value="VP of IT Operations / Infrastructure">VP of IT Operations / Infrastructure</option>
<option value="VP / Director of IT Services">VP / Director of IT Services</option>
<option value="VP of IT Strategy or Business Management">VP of IT Strategy or Business Management</option>
<option value="CFO of IT">CFO of IT</option>
<option value="VP / Director of Finance for IT">VP / Director of Finance for IT</option>
<option value="Finance Controller for IT">Finance Controller for IT</option>
<option value="Other">Other</option></select>
</div>
<div class='clear'></div>
<br>
<div class='grid_2 omega'>
<label for="contact_country">Country</label>
</div>
<div class='grid_2'>
<select id="contact_country" name="contact[country]">
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua And Barbuda">Antigua And Barbuda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Bosnia and Herzegowina">Bosnia and Herzegowina</option>
<option value="Botswana">Botswana</option>
<option value="Bouvet Island">Bouvet Island</option>
<option value="Brazil">Brazil</option>
<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
<option value="Brunei Darussalam">Brunei Darussalam</option>
<option value="Bulgaria">Bulgaria</option>
<option value="Burkina Faso">Burkina Faso</option>
<option value="Burundi">Burundi</option>
<option value="Cambodia">Cambodia</option>
<option value="Cameroon">Cameroon</option>
<option value="Canada">Canada</option>
<option value="Cape Verde">Cape Verde</option>
<option value="Cayman Islands">Cayman Islands</option>
<option value="Central African Republic">Central African Republic</option>
<option value="Chad">Chad</option>
<option value="Chile">Chile</option>
<option value="China">China</option>
<option value="Christmas Island">Christmas Island</option>
<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
<option value="Colombia">Colombia</option>
<option value="Comoros">Comoros</option>
<option value="Congo">Congo</option>
<option value="Congo, the Democratic Republic of the">Congo, the Democratic Republic of the</option>
<option value="Cook Islands">Cook Islands</option>
<option value="Costa Rica">Costa Rica</option>
<option value="Cote d'Ivoire">Cote d'Ivoire</option>
<option value="Croatia">Croatia</option>
<option value="Cuba">Cuba</option>
<option value="Cyprus">Cyprus</option>
<option value="Czech Republic">Czech Republic</option>
<option value="Denmark">Denmark</option>
<option value="Djibouti">Djibouti</option>
<option value="Dominica">Dominica</option>
<option value="Dominican Republic">Dominican Republic</option>
<option value="Ecuador">Ecuador</option>
<option value="Egypt">Egypt</option>
<option value="El Salvador">El Salvador</option>
<option value="Equatorial Guinea">Equatorial Guinea</option>
<option value="Eritrea">Eritrea</option>
<option value="Estonia">Estonia</option>
<option value="Ethiopia">Ethiopia</option>
<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>
<option value="Faroe Islands">Faroe Islands</option>
<option value="Fiji">Fiji</option>
<option value="Finland">Finland</option>
<option value="France">France</option>
<option value="French Guiana">French Guiana</option>
<option value="French Polynesia">French Polynesia</option>
<option value="French Southern Territories">French Southern Territories</option>
<option value="Gabon">Gabon</option>
<option value="Gambia">Gambia</option>
<option value="Georgia">Georgia</option>
<option value="Germany">Germany</option>
<option value="Ghana">Ghana</option>
<option value="Gibraltar">Gibraltar</option>
<option value="Greece">Greece</option>
<option value="Greenland">Greenland</option>
<option value="Grenada">Grenada</option>
<option value="Guadeloupe">Guadeloupe</option>
<option value="Guam">Guam</option>
<option value="Guatemala">Guatemala</option>
<option value="Guernsey">Guernsey</option>
<option value="Guinea">Guinea</option>
<option value="Guinea-Bissau">Guinea-Bissau</option>
<option value="Guyana">Guyana</option>
<option value="Haiti">Haiti</option>
<option value="Heard and McDonald Islands">Heard and McDonald Islands</option>
<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
<option value="Honduras">Honduras</option>
<option value="Hong Kong">Hong Kong</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Isle of Man">Isle of Man</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jersey">Jersey</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea, Democratic People's Republic of">Korea, Democratic People's Republic of</option>
<option value="Korea, Republic of">Korea, Republic of</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Lao People's Democratic Republic">Lao People's Democratic Republic</option>
<option value="Latvia">Latvia</option>
<option value="Lebanon">Lebanon</option>
<option value="Lesotho">Lesotho</option>
<option value="Liberia">Liberia</option>
<option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>
<option value="Liechtenstein">Liechtenstein</option>
<option value="Lithuania">Lithuania</option>
<option value="Luxembourg">Luxembourg</option>
<option value="Macao">Macao</option>
<option value="Macedonia, The Former Yugoslav Republic Of">Macedonia, The Former Yugoslav Republic Of</option>
<option value="Madagascar">Madagascar</option>
<option value="Malawi">Malawi</option>
<option value="Malaysia">Malaysia</option>
<option value="Maldives">Maldives</option>
<option value="Mali">Mali</option>
<option value="Malta">Malta</option>
<option value="Marshall Islands">Marshall Islands</option>
<option value="Martinique">Martinique</option>
<option value="Mauritania">Mauritania</option>
<option value="Mauritius">Mauritius</option>
<option value="Mayotte">Mayotte</option>
<option value="Mexico">Mexico</option>
<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>
<option value="Moldova, Republic of">Moldova, Republic of</option>
<option value="Monaco">Monaco</option>
<option value="Mongolia">Mongolia</option>
<option value="Montenegro">Montenegro</option>
<option value="Montserrat">Montserrat</option>
<option value="Morocco">Morocco</option>
<option value="Mozambique">Mozambique</option>
<option value="Myanmar">Myanmar</option>
<option value="Namibia">Namibia</option>
<option value="Nauru">Nauru</option>
<option value="Nepal">Nepal</option>
<option value="Netherlands">Netherlands</option>
<option value="Netherlands Antilles">Netherlands Antilles</option>
<option value="New Caledonia">New Caledonia</option>
<option value="New Zealand">New Zealand</option>
<option value="Nicaragua">Nicaragua</option>
<option value="Niger">Niger</option>
<option value="Nigeria">Nigeria</option>
<option value="Niue">Niue</option>
<option value="Norfolk Island">Norfolk Island</option>
<option value="Northern Mariana Islands">Northern Mariana Islands</option>
<option value="Norway">Norway</option>
<option value="Oman">Oman</option>
<option value="Pakistan">Pakistan</option>
<option value="Palau">Palau</option>
<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>
<option value="Panama">Panama</option>
<option value="Papua New Guinea">Papua New Guinea</option>
<option value="Paraguay">Paraguay</option>
<option value="Peru">Peru</option>
<option value="Philippines">Philippines</option>
<option value="Pitcairn">Pitcairn</option>
<option value="Poland">Poland</option>
<option value="Portugal">Portugal</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Qatar">Qatar</option>
<option value="Reunion">Reunion</option>
<option value="Romania">Romania</option>
<option value="Russian Federation">Russian Federation</option>
<option value="Rwanda">Rwanda</option>
<option value="Saint Barthelemy">Saint Barthelemy</option>
<option value="Saint Helena">Saint Helena</option>
<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
<option value="Saint Lucia">Saint Lucia</option>
<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>
<option value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option>
<option value="Samoa">Samoa</option>
<option value="San Marino">San Marino</option>
<option value="Sao Tome and Principe">Sao Tome and Principe</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Senegal">Senegal</option>
<option value="Serbia">Serbia</option>
<option value="Seychelles">Seychelles</option>
<option value="Sierra Leone">Sierra Leone</option>
<option value="Singapore">Singapore</option>
<option value="Slovakia">Slovakia</option>
<option value="Slovenia">Slovenia</option>
<option value="Solomon Islands">Solomon Islands</option>
<option value="Somalia">Somalia</option>
<option value="South Africa">South Africa</option>
<option value="South Georgia and the South Sandwich Islands">South Georgia and the South Sandwich Islands</option>
<option value="Spain">Spain</option>
<option value="Sri Lanka">Sri Lanka</option>
<option value="Sudan">Sudan</option>
<option value="Suriname">Suriname</option>
<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>
<option value="Swaziland">Swaziland</option>
<option value="Sweden">Sweden</option>
<option value="Switzerland">Switzerland</option>
<option value="Syrian Arab Republic">Syrian Arab Republic</option>
<option value="Taiwan, Province of China">Taiwan, Province of China</option>
<option value="Tajikistan">Tajikistan</option>
<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>
<option value="Thailand">Thailand</option>
<option value="Timor-Leste">Timor-Leste</option>
<option value="Togo">Togo</option>
<option value="Tokelau">Tokelau</option>
<option value="Tonga">Tonga</option>
<option value="Trinidad and Tobago">Trinidad and Tobago</option>
<option value="Tunisia">Tunisia</option>
<option value="Turkey">Turkey</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States" selected="selected">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
<option value="Uruguay">Uruguay</option>
<option value="Uzbekistan">Uzbekistan</option>
<option value="Vanuatu">Vanuatu</option>
<option value="Venezuela">Venezuela</option>
<option value="Viet Nam">Viet Nam</option>
<option value="Virgin Islands, British">Virgin Islands, British</option>
<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
<option value="Wallis and Futuna">Wallis and Futuna</option>
<option value="Western Sahara">Western Sahara</option>
<option value="Yemen">Yemen</option>
<option value="Zambia">Zambia</option>
<option value="Zimbabwe">Zimbabwe</option></select>
</div>
<div class='grid_2 omega'>
<label for="contact_industry">Industry</label>
</div>
<div class='grid_2'>
<select id="contact_industry" name="contact[industry]"><option value=""></option>
<option value="Agriculture">Agriculture</option>
<option value="Apparel">Apparel</option>
<option value="Banking">Banking</option>
<option value="Biotechnology">Biotechnology</option>
<option value="Chemicals">Chemicals</option>
<option value="Communications">Communications</option>
<option value="Construction">Construction</option>
<option value="Education">Education</option>
<option value="Electronics">Electronics</option>
<option value="Energy">Energy</option>
<option value="Engineering">Engineering</option>
<option value="Entertainment">Entertainment</option>
<option value="Environmental">Environmental</option>
<option value="Finance">Finance</option>
<option value="Food and Beverage">Food and Beverage</option>
<option value="Government">Government</option>
<option value="Healthcare">Healthcare</option>
<option value="Hospitality">Hospitality</option>
<option value="Insurance">Insurance</option>
<option value="Machinery">Machinery</option>
<option value="Manufacturing">Manufacturing</option>
<option value="Media">Media</option>
<option value="Not For Profit">Not For Profit</option>
<option value="Other">Other</option>
<option value="Recreation">Recreation</option>
<option value="Retail">Retail</option>
<option value="ShippingTechnology">ShippingTechnology</option>
<option value="Telecommunications">Telecommunications</option>
<option value="Transportation">Transportation</option>
<option value="Utilities">Utilities</option></select>
</div>
<div class='clear'></div>
<br>
<div class='grid_2 omega'>
<label for="contact_question">Question</label>
</div>
<div class='grid_6'>
<textarea cols="40" id="contact_question" name="contact[question]" rows="20"></textarea>
</div>
<div class='clear'></div>
<br>
<div class='grid_4'>
<p>Note: All fields are required</p>
</div>
<div class='grid_4 omega align_right'>
<input class="button" id="contact_submit" name="commit" type="submit" value="Submit">
</div>
<div class='clear'></div>
</form>
</div>
</div>

<script language="JavaScript">
// Code for validating the form
// Visit http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
// for details
var frmvalidator  = new Validator("contactform");
frmvalidator.addValidation("contact[first_name]","req","Please provide your First name");
frmvalidator.addValidation("contact[last_name]","req","Please provide your Last name");
frmvalidator.addValidation("contact[email]","email","Please enter a valid email address"); 
frmvalidator.addValidation("contact[phone]","req","Please provide your phone number.");
frmvalidator.addValidation("contact[company]","req","Please provide your company.");
frmvalidator.addValidation("contact[position]","req","Please provide your position.");
frmvalidator.addValidation("contact[country]","req","Please provide your country.");
frmvalidator.addValidation("contact[question]","req","Please type in your question.");
</script>
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.