HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/fietsparkeer.komma-mediadesign.nl/wwwroot/mvc/controllers/c_contact.php
<?php
/**
 * c_contact.php
 * Created by Komma Mediadesign.
 * Author: mike
 * Date: 3/7/13
 */

require_once DOCUMENT_ROOT.'mvc/models/mail/m_phpmailer.php';
require_once DOCUMENT_ROOT.'mvc/models/mail/m_mailMessage.php';


$formData = array('aanhef','bedrijfsnaam','naam','email','telefoon','bericht');


if(!isset($_SESSION['contact']))
{
    foreach($formData as $field)
    {
        $_SESSION['contact'][$field] = '';
    }
    $_SESSION['contact']['aanhef'] = 'dhr';
}

/*
 * Check Error Message
 */
if(isset($_SESSION['errorFields']))
{
    foreach($_SESSION['errorFields'] as $field)
    {
        $this->setData($field.'Error',' error');
    }

    $errorMsg = '<div class="errorBlock">Helaas is het verzenden niet gelukt.<br /><ul>';
    foreach($_SESSION['errorMessage'] as $msg)
    {
        $errorMsg .= '<li>'.$msg.'</li>';
    }
    $errorMsg .= '</ul></div>';
    $this->setData('errorMessage',$errorMsg);
}

/*
 * Check Succes message
 */
if(isset($_SESSION['succes']))
{
    $this->setData('succesMessage','<div class="succesBlock">'.$_SESSION['succes'].'</div>');
    unset($_SESSION['succes']);
}

/*
 * Check if we need to send the FORM
 */
if(isset($_POST['aanhef']))
{
    foreach($formData as $field)
    {
        $_SESSION['contact'][$field] = $_POST[$field];
    }
    $bericht = nl2br($_POST['bericht']);

    $required = array('naam','email','telefoon','bericht');

    /*
     * Validate requiredFields
     */
    foreach($required as $field)
    {
        if(empty($_POST[$field]))
        {
            $requiredError = TRUE;
            $errorFields[] = $field;
        }
    }
    if(isset($requiredError)) $errorMessage[] = 'U dient de velden met een sterretje in te vullen.';

    /*
     * Validate email
     */
    $email = $_POST['email'];
    if(!checkmail($email))
    {
        if(!in_array('email',$errorFields)) $errorFields[] = 'email';
        $errorMessage[] = 'U dient een geldig email adres in te vullen.';
    }

    if(isset($errorFields))
    {
        $_SESSION['errorFields'] = $errorFields;
        $_SESSION['errorMessage'] = $errorMessage;
        $this->redirect(SITE_ROOT.'contact/');
    }
    else{

        $naam = ucfirst($_POST['naam']);
        $bedrijfsnaam = ucfirst($_POST['bedrijfsnaam']);
        $aanhef = ucfirst($_POST['aanhef']);
        $email = $_POST['email'];
        $telefoon = $_POST['telefoon'];

        // Get/Set info
        $fromName = 'Mecurity Fietsparkeer';
        $from = 'info@mecurity-fietsparkeer.nl';
        $subject = 'Vraag / Opmerking geplaatst';

        // Message
        $str = $aanhef.' '.$naam.' van bedrijf: '.$bedrijfsnaam.' met e-mailadres: '.$email.' en telefoonnummer: '.$telefoon.' heeft de volgende vraag gesteld via ons contactformulier:<br /><br />';
        $str .= '<p>'.$bericht.'</p>';

        $mailMsg = new MailMessage($str, 'John');
        $msg = $mailMsg->get();


        // Send
        $mail = new PHPMailer();
        try
        {
            $mail->AddAddress($from, $naam);
            $mail->SetFrom($from, $fromName);
            //$mail->AddReplyTo($from, $fromName);
            $mail->Subject = $subject;
            $mail->MsgHTML($msg);
            $mail->Send();

            unset($_SESSION['contact']);
            unset($_SESSION['errorMessage']);
            unset($_SESSION['errorFields']);

            $_SESSION['succes'] = 'Bedankt voor je vraag, we zullen hier zo spoedig mogelijk op terug komen.';

            $this->redirect(SITE_ROOT.'bedankt/');
        }
        catch (phpmailerException $e)
        {
            return FALSE;
        }
    }

}

$this->setData('page_title', 'Contact | '.SITE_NAME);
$this->setData('content_view_path', DOCUMENT_ROOT.'mvc/views/v_contact.php');



function checkmail($email) {
    // First, we check that there's one @ symbol, and that the lengths are right
    if (!preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email)) {
        // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
        return false;
    }
    // Split it into sections to make life easier
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if (!preg_match("/^(([A-Za-z0-9!#$%&'*+\/=?^_`{|}~-][A-Za-z0-9!#$%&'*+\/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$/", $local_array[$i])) {
            return false;
        }
    }
    if (!preg_match("/^\[?[0-9\.]+\]?$/", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
        $domain_array = explode(".", $email_array[1]);
        if (sizeof($domain_array) < 2) {
            return false; // Not enough parts to domain
        }
        for ($i = 0; $i < sizeof($domain_array); $i++) {
            if (!preg_match("/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$/", $domain_array[$i])) {
                return false;
            }
        }
    }
    return true;
}