Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PHP Sessions and checkdate() 1

Status
Not open for further replies.

MJAZ

Programmer
Aug 1, 2006
73
US
Hello! I have two questions for you all today: Are the built-in sessions for PHP secure and if so how can I make then secure. Also, I am having problems with PHP's checkdate() function. I am passing some dates from a drop-down list that has the numbers 1-12, 1-31, and 1900-1994. It always returns false, so it looks as if my form is not valid. Any ideas?



Matt
 
For the first question: in The words of Sleipnir:
"Not enough information for a meaningful answer"
They are as secure as the server on which you are running PHP.

Fro the second one, how exactly are you passing the drop down lists values to the function?







----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.
 
Something like this?:
Code:
if(checkdate($_POST['month_dropdown'],$_POST['day_dropdown'],$_POST['year_dropdown']){
echo "The date is valid";
}
else{
echo "the date is not valid";
}





----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.
 
What error do you get?


----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.
 
Could we see the code you are using? As well as the code for the select boxes. so we know what you are doing.

----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.
 
Sure:

Code:
$bmon = $_POST["birthday_month"];
$bday = $_POST["birthday_day"];
$byr = $_POST["birthday_year"];

if(!checkdate(intval($mon), intval($bday), intval($byr))) {
		$errors[] = "Invalid date. Please enter a valid, true date.";
}

Here is the code for the select boxes:

Code:
<select name="birthday_day" tabindex="5">
              <option>DD</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>
              <option value="29">29</option>
              <option value="30">30</option>
              <option value="31">31</option>
            </select>
            <select name="birthday_month" tabindex="6">
              <option>MM</option>
              <option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
            </select>
            <select name="birthday_year" tabindex="7">
              <option>YYYY</option>
              <option value="99">1999</option>
              <option value="98">1998</option>
              <option value="97">1997</option>
              <option value="96">1996</option>
              <option value="95">1995</option>
              <option value="94">1994</option>
              <option value="93">1993</option>
              <option value="92">1992</option>
              <option value="91">1991</option>
              <option value="90">1990</option>
              <option value="89">1989</option>
              <option value="88">1988</option>
              <option value="87">1987</option>
              <option value="86">1986</option>
              <option value="85">1985</option>
              <option value="84">1984</option>
              <option value="83">1983</option>
              <option value="82">1982</option>
              <option value="81">1981</option>
              <option value="80">1980</option>
              <option value="82">1982</option>
              <option value="81">1981</option>
              <option value="80">1980</option>
              <option value="79">1979</option>
              <option value="78">1978</option>
              <option value="77">1977</option>
              <option value="76">1976</option>
              <option value="75">1975</option>
              <option value="74">1974</option>
              <option value="73">1973</option>
              <option value="72">1972</option>
              <option value="71">1971</option>
              <option value="70">1970</option>
              <option value="69">1969</option>
              <option value="68">1968</option>
              <option value="67">1967</option>
              <option value="66">1966</option>
              <option value="65">1965</option>
              <option value="64">1964</option>
              <option value="63">1963</option>
              <option value="62">1962</option>
              <option value="61">1961</option>
              <option value="60">1960</option>
              <option value="59">1959</option>
              <option value="58">1958</option>
              <option value="57">1957</option>
              <option value="56">1956</option>
              <option value="55">1955</option>
              <option value="54">1954</option>
              <option value="53">1953</option>
              <option value="52">1952</option>
              <option value="51">1951</option>
              <option value="50">1950</option>
              <option value="49">1949</option>
              <option value="48">1948</option>
              <option value="47">1947</option>
              <option value="46">1946</option>
              <option value="45">1945</option>
              <option value="44">1944</option>
              <option value="43">1943</option>
              <option value="42">1942</option>
              <option value="41">1941</option>
              <option value="40">1940</option>
              <option value="39">1939</option>
              <option value="38">1938</option>
              <option value="37">1937</option>
              <option value="36">1936</option>
              <option value="35">1935</option>
              <option value="34">1934</option>
              <option value="33">1933</option>
              <option value="32">1932</option>
              <option value="31">1931</option>
              <option value="30">1930</option>
              <option value="29">1929</option>
              <option value="28">1928</option>
              <option value="27">1927</option>
              <option value="26">1926</option>
              <option value="25">1925</option>
              <option value="24">1924</option>
              <option value="23">1923</option>
              <option value="22">1922</option>
              <option value="21">1921</option>
              <option value="20">1920</option>
              <option value="19">1919</option>
              <option value="18">1918</option>
              <option value="17">1917</option>
              <option value="16">1916</option>
              <option value="15">1915</option>
              <option value="14">1914</option>
              <option value="13">1913</option>
              <option value="12">1912</option>
              <option value="11">1911</option>
              <option value="10">1910</option>
              <option value="09">1909</option>
              <option value="08">1908</option>
              <option value="07">1907</option>
              <option value="06">1906</option>
              <option value="05">1905</option>
              <option value="04">1904</option>
              <option value="03">1903</option>
              <option value="02">1902</option>
              <option value="01">1901</option>
              <option value="00">1900</option>
            </select>

The PHP is condensed, all I removed was the other things that validate my form. The $errors[] array is then printed out on an HTML page.

Matt
 
You assign the value of your post variable for birthday_month to a variable named $bmon, however you check the validity using a variable named $mon . Unless $mon is defined i'm sure checkdate will fail.
Code:
[red]$bmon[/red] = $_POST["birthday_month"];
$bday = $_POST["birthday_day"];
$byr = $_POST["birthday_year"];

if(!checkdate(intval([red]$mon[/red]), intval($bday), intval($byr))) {
        $errors[] = "Invalid date. Please enter a valid, true date.";
}

----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top