Web lists-archives.com

[PHP] Strange LOGIC Behavior...




I have a echoed $_POST array which has theses values:

[s_date_start] => 2016-02-01
[s_date_start] => 2016-03-31
[s_int_tue] => 1
[s_int_thu] => 1
[s_int_sat] => 1

then I declare variables for the these post array values:

$this->s_date_start=$db->prepare_input($_POST['s_date_start']);
$this->s_date_end=$db->prepare_input($_POST['s_date_end'])
$this->s_int_mon=$db->prepare_input($_POST['s_int_mon']);
$this->s_int_tue=$db->prepare_input($_POST['s_int_tue']);
$this->s_int_wed=$db->prepare_input($_POST['s_int_wed']);
$this->s_int_thu=$db->prepare_input($_POST['s_int_thu']);
$this->s_int_fri=$db->prepare_input($_POST['s_int_fri']);
$this->s_int_sat=$db->prepare_input($_POST['s_int_sat']);
$this->s_int_sun=$db->prepare_input($_POST['s_int_sun']);

the prepare_input() functions guards against injections - produces proper values.

I am trying to add some logic to build arrays of days and dates based on the options:

$tDate = $this->s_date_start;
$eDate = $this->s_date_end;

$days = '';
if($this->s_int_mon == '1') $days[] = '1';
if($this->s_int_tue == '1') $days[] = '2';
if($this->s_int_wed == '1') $days[] = '3';
if($this->s_int_thu == '1') $days[] = '4';
if($this->s_int_fri == '1') $days[] = '5';
if($this->s_int_sat == '1') $days[] = '6';
if($this->s_int_sun == '1') $days[] = '0';
							
while (strtotime($tDate) <= strtotime($eDate)) {
    if(in_array(date('w', strtotime($tDate)), $days)) $date_array[] = $tDate;
    $tDdate = date ("Y-m-d", strtotime("+1 day", strtotime($tDate)));
 }

This is giving me ALL THE DAYS (60 days) instead of weekdays == ‘1’

Can anyone enlighten me on what I am doing incorrect? Thanks!

Don Wieland