I'm trying to send a form via AJAX and PHP but I'm having an error saying : Use of undefined constant php - assumed 'php'.
I've checked the quotes and the dollar signs and everything seems alright. What am I doing wrong here please?
<?php
$formData = $_POST;
$formFields = escapeAndGetFormFields($formData);
$response = array();
if('form1' == $formFields['form-type']['value']){
    validateNoEmpty($formFields['first_name']);
    validateNoEmpty($formFields['last_name']);
    validateEmail($formFields['email']);
    if(checkResponse($response)){
        sendContact($formFields);
    }
    echo json_encode($response);
}
if('form2' == $formFields['form-type']['value']){
    validateEmail($formFields['email']);
    if(checkResponse($response)){
        sendNewsletter($formFields);
    }
    echo json_encode($response);
}
function validateNoEmpty($field){
    $value = trim($field['value']);
    if (empty($value)) {
        setResponse('error', $field, 'Is required');
    }
}
function validateEmail($field){
    if(!$field['value']){ 
        setResponse('error', $field, 'No email address provided');
    }elseif(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $field['value'])) {
        setResponse('error', $field, 'Email address is invalid');
    }
}
function escapeAndGetFormFields($formData)
{
    $formFields = array();
    foreach ($formData as $name => $value) {
        $formFields[$name] = array('name' => $name, 'value' => htmlspecialchars($value));
    }
    return $formFields;
}
function setResponse($status, $field, $msg)
{
    if(!is_null($field)){
        $field = $field['name'];
    }else{
        $field = null;
    }
    $result = array('status' => $status, 'field' => $field, 'msg' => $msg);
    $GLOBALS['response'][] = $result;
}
function checkResponse($response)
{
    foreach ($response as $key => $value) {
        if('error' == $value['status']){
            return false;
        }
    }
    return true;
}
function sendNewsletter($formFields){
    $body  = "You have got new email : <br><br>";
    $body .= "Email: ".$formFields['email']['value'];
    $headers  = "From: ".$formFields['email']['value']. "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $subject = "New Subscribe";
    mail('mail@mail.com', $subject, $body, $headers);
    setResponse('success', null, 'Success! Thanks for sign up.');
}
function sendContact($formFields){
    $body  =    "You have got a new registration : <br><br>";
    $body .=    "First Name:  ".$formFields['first_name']['value']." <br><br>";
    $body .=    "Last Name:  ".$formFields['last_name']['value']." <br><br>";
    $body .=    "Email:  ".$formFields['email']['value']." <br><br>";
    $headers  = "From: ".$formFields['email']['value']. "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $subject = "New Registration";
    mail('mail@mail.com', $subject, $body, $headers );
    setResponse('success', null, 'Success! Thanks for registration.');
}
?>
Update : I've noticed that another error appear sometimes : PHP Parse error: syntax error, unexpected '$formData' (T_VARIABLE) ... on Line 1
