-2

Header location not working on live server but works on localhost.

This code worked until last week, but it does not work anymore.

So, I have started testing on localhost. It is working as before.

I tried to add "ob_start()" on the top of the code; not working.

Please review this code and comment.

<?php session_start();
$fnameErr ="";
$lnameErr ="";
$emailErr ="";
$phoneErr = "";
$dateErr = "";
$timeErr = "";
$errMsg = "";

$area = "";
$local3 = "";
$local4 = "";

$cust_info = "";

$charOnly = "/^[a-z]+[a-z]$/i";
$reg_email = "/^[^0-9~!@#$%^&*()_+=?.,][a-z0-9_]+([.][a-z0-9_]+)*[@][a-z0-9_]+([.][a-z0-9_]+)*[.][a-z]{2,3}$/i";
$reg_phone = "/^(\d{3}+\d{3}+\d{4}|\d{3}\d{3}+[\s]{1}+\d{4}|\d{3}+[\s]{1}+\d{3}+[\s]{1}+\d{4}||\d{3}+[-]{1}+\d{3}+[-]{1}+\d{4}|\d{3}+[\s]{1}+\d{7}|\(\d{3}\)\s{1}\d{3}[\s-]{1}\d{4})$/";/*"/^(\d{3}|[(]\d{3}[)]|\d{3}[)])[ -]*\d{3}[ -]*\d{4}$/";*/

$dataValid = true;

$phone = $area .''. $local3 .''. $local4;
$phoneValid = true;
// If submit with POST
if ($_POST) { 
    $errMsg = "Debugging";
    $area = $_POST['c_area'];
    $local3 = $_POST['c_local3'];
    $local4 = $_POST['c_local4'];

    $cust_info = array( "first" => $_POST['c_fname'], 
                  "last" => $_POST['c_lname'], 
                  "email" => $_POST['c_email'], 
                  "phone" => array("area"=> $area,
                                    "mid" => $local3,
                                    "last" => $local4), 
                  "date" => $_POST['c_date'], 
                  "time" => $_POST['c_time']);
     // Test for nothing entered in field
    if ($_POST['c_fname'] == "") {
        $fnameErr = "Please enter your first name.";
        $dataValid = false;
    }
    else {  
        if ( preg_match($charOnly, $_POST['c_fname']) ) 
        {
            $fnameErr = "";
        } else {
            $fnameErr = "This is an invalid name.";
            $dataValid = false;
        }
    }
    if ($_POST['c_lname'] == "") {
        $lnameErr = "Please enter your last name.";
        $dataValid = false;
    }
    else {  
        if ( preg_match($charOnly, $_POST['c_lname']) ) 
        {
            $lnameErr = "";
        } else {
            $lnameErr = "This is an invalid name.";
            $dataValid = false;
        }
    }
    if ($_POST['c_email'] == "") {
        $emailErr = "Please enter E-mail address.";
        $dataValid = false;     
    }
    else {  
        if ( preg_match($reg_email, $_POST['c_email']) ) 
        {
            $emailMsg = "";
        } else {
            $emailMsg = "E-mail is not Valid.";
            $dataValid = false;
        }
    }
    if ($_POST['c_area'] == "") {
        $phoneErr = "Please enter phone number.";
        $dataValid = false; 
        $phoneValid = false;    
    }
    if ($_POST['c_local3'] == "") {
        $phoneErr = "Please enter phone number.";
        $dataValid = false;     
        $phoneValid = false;    
    }
    if ($_POST['c_local4'] == "") {
        $phoneErr = "Please enter phone number.";
        $dataValid = false;     
        $phoneValid = false;    
    }
    if( $phoneValid ) {
        $phone = $area . "" . $local3 . "" .$local4;        
        if ( preg_match($reg_phone, $phone) ) {
            $phoneErr = "";
        } else {
            $phoneErr = "Phone number is not Valid.";
            $dataValid = false;
        }
    } else {
        $area = "";
        $local3 = "";
        $local4 = "";
        $phone = "";

    }
    if ($_POST['c_date'] == "") {
        $dateErr = "Please choose a date.";
        $dataValid = false;     
    }
    if ($_POST['c_time'] == "" || $_POST['c_time'] == "Morning" || $_POST['c_time'] == "Afternoon") {
        $timeErr = "Please choose a time.";
        $dataValid = false;
    } else {
        if ("07:00" == $_POST['c_time']){
            $Checked0700 = 'selected';
        }  
        else if ("07:30" == $_POST['c_time']){
            $Checked0730 = 'selected';
        }  
        else if ("08:00" == $_POST['c_time']){
            $Checked0800 = 'selected';
        } 
        else if ("08:30" == $_POST['c_time']){
            $Checked0830 = 'selected';
        } 
        else if ("09:00" == $_POST['c_time']){
            $Checked0900 = 'selected';
        }
        else if ("09:30" == $_POST['c_time']){
            $Checked0930 = 'selected';
        } 
        else if ("10:00" == $_POST['c_time']){
            $Checked1000 = 'selected';
        } 
        else if ("10:30" == $_POST['c_time']){
            $Checked1030 = 'selected';
        } 
        else if ("11:00" == $_POST['c_time']){
            $Checked1100 = 'selected';
        } 
        else if ("11:30" == $_POST['c_time']){
            $Checked1130 = 'selected';
        } 
        else if ("12:00" == $_POST['c_time']){
            $Checked1200 = 'selected';
        } 
        else if ("12:30" == $_POST['c_time']){
            $Checked1230 = 'selected';
        } 
        else if ("13:00" == $_POST['c_time']){
            $Checked1300 = 'selected';
        } 
        else if ("13:30" == $_POST['c_time']){
            $Checked1330 = 'selected';
        } 
        else if ("14:00" == $_POST['c_time']){
            $Checked1400 = 'selected';
        } 
        else if ("14:30" == $_POST['c_time']){
            $Checked1430 = 'selected';
        } 
        else if ("15:00" == $_POST['c_time']){
            $Checked1530 = 'selected';
        } 
        else if ("15:30" == $_POST['c_time']){
            $Checked1530 = 'selected';
        } 
        else if ("16:00" == $_POST['c_time']){
            $Checked1600 = 'selected';
        } 
        else if ("16:30" == $_POST['c_time']){
            $Checked1630 = 'selected';
        } 
        else if ("17:00" == $_POST['c_time']){
            $Checked1700 = 'selected';
        } 
        else if ("after" == $_POST['c_time']){
            $Checkedafter = 'selected';
        } 
    }
}

if ($_POST && $dataValid) { 


    $_SESSION['token1'] = "ok";
    $_SESSION['cust'] = $cust_info;

    header('Location:innout-booking-step2.php');
    exit();
?>

1 Answers1

1

I also faced such problem so I tried following steps to resolve it.
1. Remove or comment spaces, echos, print_r, error reporting before calling header location.
2. Remove spaces after php end tag (after ?> )
3. Modify header location syntax for this what I generally do is open w3schools copy header location syntax and paste it. In your case you should try to change your header code as
header('Location: innout-booking-step2.php'); (space after : )

Sumit Patil
  • 556
  • 1
  • 5
  • 19
  • I remove all echo $variables='Values'; from my code than it work , I don't why echo cause problem... – rtraees Dec 21 '17 at 07:00