Ciao vorrei che lo script sottostante, allineasse i numeri dei giorni proprio sotto i nomi della settimana e che lo spazio dopo un immagine venisse eliminata o minima ridotta. Infine vorrei che il giorno attuale invece di spostarsi più a destra restasse al suo posto ma si colorasse di rosso e diventasse grassetto. Qualcuno mi sa aiutare?
Codice PHP:
<?php
error_reporting(0);
if(isset($_GET['p']) == "out") {
session_start();
session_destroy();
}
if(isset($_GET['p']) == "in") {
if(!$_POST['submit']) {
echo '<!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=utf-8" />
<title>Calendario Miki92</title>
<!-- Inizio Codice Standard Pagine -->
<link rel="shortcut icon" href="../../web/favicon.ico" />
<script type="text/javascript" src="../../js/protezione.js"></script>
<script type="text/javascript" src="../../js/status_bar.js"></script>
<script type="text/javascript" src="../../js/jserror.js"></script>
<!-- Fine Codice Standard Pagine -->
</head>
<body onload="welcometext()">
<form action="" method="post">
<label>Username: <input type="text" value="" name="user" /></label><br />
<label>Password: <input type="pass" value="" name="pass" /></label><br />
<input type="submit" value="Login" name="submit" />
</form>
</body>
</html>';
} else {
include("admin.php");
if($_POST['user']==$user && sha1($_POST['pass'])==$pass) {
session_start();
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
echo "Login effettuato con successo!<br />";
} else {
echo "Username e/o password errati.<br />";
}
}
}
function Get($word) {
if(isset($_GET[$word])) {
$combinazione = "files/".$_GET[$word].".php";
if(file_exists($combinazione)) {
require($combinazione);
} else {
Header("Location: ../../errori/404.php");
require("index.php");
}
}
}
function getStyles() {
echo "<style type=\"text/css\">
#giorni {
font-weight:bold;
color:#000000;
border-bottom:1px #000000 solid;
text-align:center;
}
#oggi {
font-weight:bold;
text-align:center;
}
#group {
text-align:center;
width:100%;
}
</style>";
}
function Amministra() {
echo "<a href=\"index.php\">Home Page Calendario</a><br /><br />";
if(isset($_SESSION['user']) && isset($_SESSION['pass'])) {
echo "Benvenuto Amministratore!<br />
<a href=\"index.php?c=admin\">Inserisci evento</a> | <a href=\"index.php?c=new_event\">Crea evento</a> | <a href=\"index.php?c=del_event\">Elimina evento</a> | <a href=\"index.php?c=iscritti\">Mail Iscritti</a> | <a href=\"index.php?c=send\">Invia Mail</a> | <a href=\"index.php?c=new_tizio\">Aggiungi tizio</a> | <a href=\"index.php?p=out\">Logout</a><br />";
} else {
echo "Benvenuto Anonimo.<br />
Se sei l'amministratore autenticati: <a href=\"index.php?p=in\">Login</a><br />";
}
}
function Calendario() {
$dati['giorni_mesi'] = array(31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); // Array con i giorni dei mesi
$dati['mese_num'] = date("n", time()); // Mese corrente ( numerico )
$dati['mese_text'] = date("F", time()); // Mese Corrente ( testuale )
$dati['oggi'] = date("j", time()); // Oggi ( numerico senza eventuali zeri )
$dati['oggi_sett'] = date("w", time()); // Oggi ( nella settimana, numerico )
$dati['anno'] = date("Y", time()); // Anno
$dati['start'] = date("w", mktime(0,0,0, $dati['mese_num'], 1, $dati['anno'])); // Giorno della settimana del primo giorno dell'anno
$dati['giorni_mesi'][1] = (($dati['mese_num']%400) == 0) ? 29 : 28; // Calcolo dei giorni di febbraio
$dati['giorni_mese'] = $dati['giorni_mesi'][$dati['mese_num']-1]; // Giorni del mese corrente
$dati['settimane_mese'] = ceil($dati['giorni_mese']/7); // Settimane del mese corrente arrotondato per eccesso.
// Vi sarete accorti che:
// 1) Nel calcolo dei giorni del mese corrente c'?un -1: Questo ?perch?l'array inizia da 0, non da 1
// 2) Ho arrotondato per eccesso il calcolo delle settimane: Per evitare giorni nascosti nell'ultima settimana
// 3) I giorni della settimana trovati da date() iniziano da 0 ( Domenica ) fino a 6 ( Sabato )
$info['can_start'] = FALSE; // Se il conteggio reale dei giorni pu?partire
$info['to_less'] = 0; // Giorni da accumulare
$text = '<div id="group">'.$dati['mese_text'].'</div>'.
'<table align="center" cellspacing="0" cellpadding="0" border="0" style="border:1px #000000 solid;" width="70%" height="50%">
<tr style="border:1px #000000 solid;">
<td id="giorni">Lun </td>
<td id="giorni">Mar </td>
<td id="giorni">Mer </td>
<td id="giorni">Gio </td>
<td id="giorni">Ven </td>
<td id="giorni">Sab </td>
<td id="giorni">Dom </td>
</tr>'; // Schema fisso dei giorni della settimana
// Ciclo madre: Continua per tutte le settimane del mese
for($ciclo = 0; $ciclo <= $dati['settimane_mese']; $ciclo++) {
$text .= '<tr style="border-bottom:1px #000000 solid;">'; // Aggiungo una griglia
// Ciclo Figlio ( SubCiclo ): Avanza per tutti i giorni della settimana
for($subciclo = 1; $subciclo <= 7; $subciclo++) {
// Controllo se il ciclo pu?partire e se il giorno del ciclo figlio
// corrisponde a quello della settimana del primo giorno del mese
//
if($subciclo != $dati['start'] && $info['can_start'] == FALSE) {
// Se tutti e due sono FALSE:
$text .= '<td id="cal_day"></td>'; // 1) Aggiungo una casella vuota
$info['to_less']++; // 2) Aggiungo un giorno da levare
continue; // 3) Faccio ricominciare il ciclo finch?uno dei due casi si riveli TRUE
} else {
$info['can_start'] = TRUE; // Muto il valore di can_start in TRUE
}
// Naturalmente solo uno dei due casi pu?rivelarsi TRUE: Solo ' $subciclo != $dati['start'] '
// dato che can_start diverr?TRUE solo quando si avverer?la prima condizione. Cos?il conto pu?partire
//
// Ora mi calcolo il giorno corrente, Sommando il valore corrente della variabile di questo ciclo ai giorni
// delle settimane trascorse ( Grazie alla moltiplizacione per 7 di $ciclo ) e levando infine i giorni
// accumulati in precedenza. Vi ricordo che questo di seguito ?la variabile contenente il giorno da mostrare,
// non quello di oggi
$dati['current_day'] = $subciclo+($ciclo*7)-$info['to_less']; // Calcolo il giorno da mostrare
// Controllo ci restano ancora giorni del mese
if($dati['current_day'] <= $dati['giorni_mese']) {
// Se si...
// Vorrete fare capire il giorno di oggi, no? Quindi cambiamo stile
// alla cella in caso questa corrisponda a quella di oggi.
if($dati['current_day'] == $dati['oggi']) // Controllo se il giorno da mostrare ?quello di oggi
{
$tdclass = 'oggi'; // Cambio stile in 'oggi' se ?oggi
} else {
$tdclass = 'noggi'; // Cambio stile in 'Default' se non ?oggi
}
$text .= '<td id="'.$tdclass.'">'.$dati['current_day'];
$xml = simplexml_load_file("data.xml");
foreach($xml->evento as $evento) {
if($evento['mese']==$dati['mese_text'] && $evento['giorno']==$dati['current_day']) {
$text .= "<img src=\"".$evento['type']."\" alt=\"\" />";
}
}
$text .= ' </td>';
} else {
// Se invece non ci restano pi?giorni del mese, faccio terminare il ciclo
break;
}
// Finisce qui il SubCiclo, se ci sono ancora settimane da mostrare il ciclo continuer? se no, si fermer?
}
$text .= '</tr>'; // Chiudo la griglia
}
$text .= '</table>'; // Chiudo la tabella
echo $text;
$xml = simplexml_load_file("data.xml");
foreach($xml->event as $evento) {
echo "<img src=\"".$evento."\" alt=\"\" /> = ".$evento['name']." | ";
}
}
function all() {
$ffl = simplexml_load_file("iscritti.xml");
foreach($ffl->children() as $iscritti) {
include("manual.php");
$msg = "Ciao ".$iscritti['name'].",\n
Hai ricevuto questa mail dal sito www.miki92.net :\n\n
". $echo_msg;
mail($iscritti, "Mail dal sito: www.miki92.net", $msg);
echo "<br />Mail Inviata con successo.";
}
}
?>
Il campione on-line si trova qui.