- Joined
- May 17, 2007
- Messages
- 2,741
- Reaction score
- 937
Let's first start by adding a name='' to the submit button, which the PHP reads to execution if the forum as been submitted.
To call the execution we can use if(isset()){} basically, isset is called if its 0 or 1. 0= hasn't been called, 1 = been called. Like a boolean.
Then, I don't know where you want to display that date poop you have, why you didn't use
, I don't know but for the sake of time I'll just add it and you can put whatever else you want inside of it!
All I'm really going to do is add
Again, you cannot do
because isset acts on only 0 or 1. If you want to do it that way, take the isset out! :$:
So here we go~
You can perform other security checks, but always make sure you have mysql_real_escape_string();
To call the execution we can use if(isset()){} basically, isset is called if its 0 or 1. 0= hasn't been called, 1 = been called. Like a boolean.
Code:
<form action="date.php" method="post">
Day: <input type="text" name="day" />
<br />
Month: <input type="text" name="month" />
<br />
Year: <input type="text" name ="year" />
<input type="submit" name="submitform" value="Submit" />
</form>
PHP:
date("");
All I'm really going to do is add
PHP:
if(isset($_POST['submitform'])){ }
PHP:
if(isset($_POST['submitform']) == "Submit"){}
So here we go~
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
/*2. Schrijf een functie die als parameter meekrijgt hoeveel dagen er verstreken zijn sinds maandag 1 januari 1900 en als return value de naam geeft van de opgegeven dag (maandag, dinsdag, woendag enz.). Schrijf unit tests voor de volgende situaties:
* als er 0 dagen verstreken zijn, is het resultaat "maandag";
* als het aantal verstreken dagen een veelvoud van zeven is (0, 7, 14, 21 enz.), is het resultaat "maandag".
Test tenslotte een specifiek geval; bijvoorbeeld, na 999 dagen is het een zaterdag.
3. Schrijf een functie die als parameters de dag, de maand en het jaar meekrijgt en als return value het aantal dagen geeft dat is verstreken sinds 1 januari 1900. Je hoeft geen rekening te houden met data vòòr 1 januari 1900 of met niet bestaande data. Voorbeeld: als de invoer 30, 1, 1900 is, dan is het antwoord 29.
Houd rekening met schrikkeljaren. Voor elk schrikkeljaar moet je een extra dag optellen bij het aantal verstreken dagen. Een schrikkeljaar doet zich iedere vier jaar voor, behalve als het jaartal deelbaar is door honderd. Echter, als het jaartal deelbaar is door vierhonderd, dan is het weer wel een schrikkeljaar. Dus, 1900 is geen schrikkeljaar, maar 1904 en 2000 wel.
Schrijf unit tests voor de volgende situaties:
* op 1 januari 1900 zijn er 0 dagen verstreken;
* op 2 januari 1900 is er 1 dag verstreken;
* op 1 februari 1900 zijn er 31 dagen verstreken;
* op 1 januari 1901 zijn er 365 dagen verstreken;
* op 1 januari 1904 zijn er 1460 dagen verstreken;
* op 28 februari 1904 zijn er 1518 dagen verstreken;
* op 1 maart 1904 zijn er 1520 dagen verstreken;
* op 1 januari 1905 zijn er 1826 dagen verstreken;
* op 1 januari 2000 zijn er 36524 dagen verstreken;
* op 1 maart 2000 zijn er 36584 dagen verstreken;
* op 1 maart 2200 zijn er 109632 dagen verstreken;
* op 17 oktober 2002 zijn er 37544 dagen verstreken.
4. Zorg ervoor dat de gebruiker een datum in kan voeren en dat het programma teruggeeft op wat voor dag die datum valt.
(Met dank aan Stefan Holdermans.)*/
function weekDay ($day)
{
//input modulo 7
day %= 7;
case $day == 0:
return "Monday";
break;
case $day == 1:
return "Tuesday";
break;
case $day == 2:
return "Wednesday";
break;
case $day == 3:
return "Thursday";
break;
case $day == 4:
return "Friday";
break;
case $day == 5:
return "Saturday";
break;
case $day == 6:
return "Sunday";
break;
default:
"This won't happen anyways..";
}
function past ($day,$month,$year)
{
//default year is 1900.
$myYear = year - 1900;
// calculate the past days
$myDaysInYears = 365 * $myYear;
//Calculate special (?) years
$mySpecialYear = ($myYear) / 4;
mySpecialYear -= ($myYear) / 100;
mySpecialYear += ($myYear + 300) / 400;
// is this a special year?
if (($year % 4) == 0) && (($year %100) != 100) $$ (($year % 400) == 0)
{
// yes, did we pass februari?
if (month < 3)
{
//no, don't count the special year
mySpecialYear--;
}
}
//add for each specialyear a day in myDaysInYears
$myDaysInYears += $mySpecialYear;
//calculate the months that have past
$myMonths = $month - 1;
// calculate the past days converted from months
$myDaysInMonths = $myMonths * 31;
switch ($month)
{
// The following months don't have 31 days.
// Has Februari passed?
case 3:
$myDaysInMonths -= 3;
// Has April passed?
case 5:
$myDaysInMonths--;
// Has June passed?
case 7:
$myDaysInMonths--;
//Has semptembre passed?
case 10:
$myDaysInMonths--;
//Has Novembre passed?
case 12:
$myDaysInMonths--;
break;
//lalala
default:
break;
}
//calculate amount of days passed since 1-1-1900
$myTotalDays = $day - 1; // -1 since today isn't acutally past
// print the total amount of days
return $myTotalDays + $myDaysInMonths + $myDaysInYears;
}
echo "Hello there! I am a calculating Genuis! \n I can tell you what day it is today. Isn't that Cool! =D"; ?>
<form action="date.php" method="post">
Day: <input type="text" name="day" />
<br />
Month: <input type="text" name="month" />
<br />
Year: <input type="text" name ="year" />
<input type="submit" name="submitform" value="Submit" />
</form>
<br><br>
<?PHP
if(isset($_POST['submitform'])){
$day = mysql_real_escape_string($_POST['day']);
$month = mysql_real_escape_string($_POST['month']);
$year = mysql_real_escape_string($_POST['year']);
echo " <h1>You have entered the following:</h1> <br><br>
Day: $day <br/>
Month: $month <br />
Year: $year <br/><br/>
";
echo "bla.";
}
?>
</body>
</html>
You can perform other security checks, but always make sure you have mysql_real_escape_string();