But since this has been such a HUGE help to me I thought I would post my progress for others =-). My script has now been divided into 3 files.
calendar.php
<?php
//Include database connection details
require_once('config.php');
//Connect to mysql server
$mysql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if(!$mysql) {
die('Failed to connect to server: ' . mysql_error());
}
mysql_select_db("fpe_calendar2", $mysql) or die( "Unable to select database" . mysql_error());
define("ADAY", (60*60*24));
if ((!isset($_POST['month'])) || (!isset($_POST['year']))) {
$nowArray = getdate();
$month = $nowArray['mon'];
$year = $nowArray['year'];
} else {
$month = $_POST['month'];
$year = $_POST['year'];
}
$start = mktime(12,0,0,$month,1,$year);
$firstDayArray = getdate($start);
?>
<html>
<head>
<title><?php echo "Calendar: ".$firstDayArray['month']."" . $firstDayArray['year']; ?></title>
<script type="text/javascript">
function eventWindow(url){
event_popupWin = window.open(url, 'event', 'resizable=yes, scrollbars=yes, toolbar=no,width=800,height=900');
event_popupWin.opener = self;
}
</script>
</head>
<body><center>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="month">
<?php
$months = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
for ($x=1; $x<=count($months); $x++){
echo "<option value=\"$x\"";
if ($x == $month){
echo " selected";
}
echo ">".$months[$x-1]."</option>";
}
?>
</select>
<select name="year">
<?php
$thisYear = date('Y');
for ($x=$thisYear - 0; $x<=$thisYear + 2; $x++){
echo "<option";
if ($x == $year){
echo " selected";
}
echo ">$x</option>";
}
?>
</select>
<input type="submit" name="submit" value="Dazzle Me">
</form>
<br />
<?php
$days = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
echo "<table border=\"1\" cellpadding=\"5\"><tr>\n";
foreach ($days as $day) {
echo "<td style=\"background-color: #CCCCCC; text-align: center; width: 14%\">
<strong>$day</strong></td>\n";
}
for ($count=0; $count < (6*7); $count++) {
$dayArray = getdate($start);
if (($count % 7) == 0) {
if ($dayArray["mon"] != $month) {
break;
} else {
echo "</tr><tr>\n";
}
}
if ($count < $firstDayArray["wday"] || $dayArray["mon"] != $month) {
echo "<td> </td>\n";
} else {
$chkEvent_sql = "SELECT event_title FROM calendar_events WHERE month(event_start) = '".$month."' AND dayofmonth(event_start) = '".$dayArray["mday"]."' AND year(event_start) = '".$year."' ORDER BY event_start";
$chkEvent_res = mysql_query($chkEvent_sql) or die(mysql_error());
if (mysql_num_rows($chkEvent_res) > 0) {
$event_title = "<br/>";
while ($ev = mysql_fetch_array($chkEvent_res)) {
$event_title .= stripslashes($ev["event_title"])."<br/>";
}
mysql_free_result($chkEvent_res);
} else {
$event_title = "";
}
echo "<td valign=\"top\"><a href=\"javascript:eventWindow('event.php?m=".$month."&d=".$dayArray["mday"]."&y=$year');\">".$dayArray["mday"]."</a><br/>".$event_title."</td>\n";
unset($event_title);
$start += ADAY;
}
}
echo "</tr></table>";
mysql_close($mysql);
?>
</body>
</html>
event.php
<html>
<head>
<title>Show / Add Events</title>
</head>
<body><center>
<h1>Events <?php
if ($_POST){
echo $_POST['m']." / " . $_POST['d']." / " . $_POST['y'];
}
else {
echo $_GET['m']." / " . $_GET['d']." / " . $_GET['y'];
}
?></h1> </center>
<?php
session_start();
//Include database connection details
include('config.php');
//Connect to mysql server
$mysql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if(!$mysql) {
die('Failed to connect to server: ' . mysql_error());
}
mysql_select_db("yourtablename", $mysql) or die( "Unable to select database" . mysql_error());
// Add our new events
if ($_POST){
$m = $_POST['m'];
$d = $_POST['d'];
$y = $_POST['y'];
//Formatting for SQL datetime (if this is edited, it will NOT work.)
$event_date = $y."-".$m."-".$d." ".$_POST["event_time_hh1"].":".$_POST["event_time_mm1"].":00";
$insEvent_res = mysql_query($insEvent_sql, $mysql)
or die(mysql_error($mysql));
} else {
$m = $_GET['m'];
$d = $_GET['d'];
$y = $_GET['y'];
}
// Show the events for this day:
$getEvent_sql = "SELECT event_title, event_shortdesc, event_price, dress_code, event_local, event_link,
date_format(event_start, '%l:%i %p') as fmt_date FROM
calendar_events WHERE month(event_start) = '".$m."'
AND dayofmonth(event_start) = '".$d."' AND
year(event_start)= '".$y."'
ORDER BY event_start";
$getEvent_res = mysql_query($getEvent_sql, $mysql)
or die(mysql_error($mysql));
if (mysql_num_rows($getEvent_res) > 0){
$event_txt = "<ul>";
while($ev = @mysql_fetch_array($getEvent_res)){
$event_title = stripslashes($ev["event_title"]);
$event_shortdesc = stripslashes($ev["event_shortdesc"]);
$fmt_date = $ev["fmt_date"];
$event_price = $ev["event_price"];
$dress_code = $ev["dress_code"];
$event_local = $ev["event_local"];
$event_link = $ev["event_link"];
$event_txt .= "<li><strong><h3>".$event_title."</h3></strong>
".$fmt_date." @ ".$event_local."<br/> Event Price: ".$event_price." | Dress Code: ".$dress_code."<p>".$event_shortdesc.
"<br/> Get more info at: <a href=http://".$event_link.">".$event_link."</a></li><p>";
}
$event_txt .="</ul>";
mysql_free_result($getEvent_res);
} else {
$event_txt = "";
}
mysql_close($mysql);
if ($event_txt != ""){
echo "<p><strong>Today's Events:</strong></p>
$event_txt
<hr/>";
}
// Show form for adding the event:
echo "
<form method=\"post\" action=\"verify.php\">
<p><strong><h2><center>Add Event:</center></h2></strong></p>
<center><table border=5><tr><td>
<p><strong>Event Title:</strong>
<input type=\"text\" name=\"event_title\" size=\"25\" maxlength=\"75\"/></p>
<p><strong>Event Description:</strong><br/>
<textarea name=\"event_shortdesc\" rows=\"10\" cols=\"30\" size=\"50\" maxlength=\"650\"/></textarea>
<p><strong>Link:</strong>
http://<input type=\"text\" name=\"event_link\" size=\"25\" maxlength=\"150\"/></p>
</td><td valign=top>
<p><strong>Event Start Time:</strong><br/>
<select name=\"event_time_hh\">";
for ($x=1; $x<=24; $x++){
echo "<option value=\"$x\">$x</option>";
}
echo "</select> :
<select name=\"event_time_mm\">
<option value=\"00\">00</option>
<option value=\"15\">15</option>
<option value=\"30\">30</option>
<option value=\"45\">45</option>
</select>
<input type=\"hidden\" name=\"m\" value=\"".$m."\">
<input type=\"hidden\" name=\"d\" value=\"".$d."\">
<input type=\"hidden\" name=\"y\" value=\"".$y."\">
<br/>
<p><strong>Price:</strong><br/>
<input type=\"text\" name=\"event_price\" size=\"25\" maxlength=\"100\"/></p>
<p><strong>Dress Code:</strong><br/>
<input type=\"text\" name=\"dress_code\" size=\"25\" maxlength=\"100\"/></p>
<p><strong>Location:</strong><br/>
<input type=\"text\" name=\"event_local\" size=\"25\" maxlength=\"100\"/></p>
</td></tr>
<tr><td><center>";
require_once('recaptchalib.php');
$publickey ="your public key from captcha";
echo recaptcha_get_html($publickey);
echo "<br>
<input type=\"submit\" name=\"submit\" value=\"Add Event!\"></td>
<td><center><img src=\"../images/yourcustomimage.jpg\" height=\"200\" width=\"200\"><br>
Thanks for Updating!</td></tr>
</table>
</form>";
?>
</body>
</html>
and finally the verify.php
<?php
require_once('recaptchalib.php');
$privatekey = "your recaptcha key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
//Include database connection details
include('config.php');
//Connect to mysql server
$mysql = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if(!$mysql) {
die('Failed to connect to server: ' . mysql_error());
}
mysql_select_db("yourtablename", $mysql) or die( "Unable to select database" . mysql_error());
// Add our new events
if ($_POST){
$m = $_POST['m'];
$d = $_POST['d'];
$y = $_POST['y'];
// Formatting for SQL datetime (if this is edited, it will NOT work.)
$event_date = $y."-".$m."-".$d." ".$_POST["event_time_hh"].":".$_POST["event_time_mm"].":00";
$insEvent_sql = "INSERT INTO calendar_events (event_title,
event_shortdesc, event_start, event_price, dress_code, event_local, event_link) VALUES('
".$_POST["event_title"]."',
'".$_POST["event_shortdesc"]."',
'$event_date',
'".$_POST["event_price"]."',
'".$_POST["dress_code"]."',
'".$_POST["event_local"]."',
'".$_POST["event_link"]."')";
$insEvent_res = mysql_query($insEvent_sql, $mysql)
or die(mysql_error($mysql));
} else {
$m = $_GET['m'];
$d = $_GET['d'];
$y = $_GET['y'];
}
// Show the events for this day:
$getEvent_sql = "SELECT event_title, event_shortdesc, event_local, event_link, event_price, dress_code,
date_format(event_start, '%l:%i %p') as fmt_date FROM
calendar_events WHERE month(event_start) = '".$m."'
AND dayofmonth(event_start) = '".$d."' AND
year(event_start)= '".$y."'
ORDER BY event_start";
$getEvent_res = mysql_query($getEvent_sql, $mysql)
or die(mysql_error($mysql));
if (mysql_num_rows($getEvent_res) > 0){
$event_txt = "<ul>";
while($ev = @mysql_fetch_array($getEvent_res)){
$event_title = stripslashes($ev["event_title"]);
$event_shortdesc = stripslashes($ev["event_shortdesc"]);
$fmt_date = $ev["fmt_date"];
$event_price = $ev["event_price"];
$dress_code = $ev["dress_code"];
$event_local = $ev["event_local"];
$event_link = $ev["event_link"];
$event_txt .= "<li><strong><h3>".$event_title."</h3></strong>
".$fmt_date." @ ".$event_local."<br/> Event Price: ".$event_price." | Dress Code: ".$dress_code."<p>".$event_shortdesc.
"<br/> Get more info at: <a href=http://".$event_link.">".$event_link."</a></li><p>";
}
$event_txt .="</ul>";
mysql_free_result($getEvent_res);
} else {
$event_txt = "";
}
mysql_close($mysql);
if ($event_txt != ""){
echo "<p><strong>Today's Events:</strong></p>
$event_txt
<hr/>";
}
}
?>
</body>
</html>






MultiQuote



|