Trois questions pour un site portail : date du jour + utilisateurs connectés en simultanés + includes valides
1er cas :
Jusqu’à ce jour j’utilisais un fichier index.php dans lequel j’insérais des codes pour la date
du type, je voudrais avoir recours au php pour afficher la date sur une page html de spip
<?
$tMois = array(
"Janvier", "Février", "Mars", "Avril", "Mai",
"Juin", "Juillet", "Août", "Septembre",
"Octobre", "Novembre", "Décembre");
$tJours=array(
"Dimanche", "Lundi", "Mardi",
"Mercredi", "Jeudi", "Vendredi", "Samedi");
echo $tJours[date("w")] ." ";
echo date("j").(date("j") == 1 ? "er " : " ");
echo $tMois[date("n")-1]." ".date("Y");
?>
/
<?
$tMois = array(
"Yennayer", "Furar", "Meghres", "Ibrir", "Maggu",
"Yunyu", "Yulyu", "Ghuct", "Ctember",
"Thuber", "Wamber", "Budjamber");
$tJours=array(
"Atcher(Lhed)", "Arim(Letnayen)", "Aram(Tslata)",
"Ahad(Larbaa)", "Amhad(Lexmis)", "Sed(Ldjemâa)", "Sed(Ssebt)");
echo $tJours[date("w")] ." ";
echo date("j").(date("j") == 1 ? "er " : " ");
echo $tMois[date("n")-1]." ";
?>
Aujourd’hui j’aurais besoin de faire la même chose mais sur la page d’accueil de SPIP hors cette page est en html et le code qui doit s’exécuter est en php.
2nd cas :
Pour les utilsateurs connectés en simultané, j’ai besoin d’appeler la base manuellement, je pense que cela cause un conflit avec le module
<?
//Nom de la base :
$opt_connectes_cfgbase = "sa29144";
//Nom d'utilisateur :
$opt_connectes_cfguser = "sa29144";
//Mot de passe :
$opt_connectes_cfgpass = "Cge86i5O";
//Chemin sgbd :
$opt_connectes_cfghote = "mysql4.amen.fr";
// Nombre de secondes de connexion
$nb_connectes_connexion=300; // 5 minutes
// Connexion à la base de données
$base_connectes=mysql_connect($opt_connectes_cfghote, $opt_connectes_cfguser,$opt_connectes_cfgpass);
if (!$base_connectes)
{
("Erreur de connexion à la base de données...");
exit();
}
// Sélection de la base
if (! mysql_select_db("$opt_connectes_cfgbase",$base_connectes))
{
mysql_close($base_connectes);
print("Erreur de connexion à la base de données...");
exit();
}
// Heure courante
$heure_connectes=date("U");
// Récupère l'adresse IP
$ip_connectes=$REMOTE_ADDR;
// Recherche de l'Ip dans la base de données
$query_connectes="SELECT * FROM nb_connectes WHERE ip='$ip_connectes'";
[$result_connectes=@mysql_query($query_connectes,$base_connectes](mailto:$result_connectes=@mysql_query($query_connectes,$base_connectes));
if (!$result_connectes)
{
mysql_close($base_connectes);
print("Impossible d'exécuter la requête...");
exit();
}
[$nb_connectes=@mysql_num_rows($result_connectes](mailto:$nb_connectes=@mysql_num_rows($result_connectes));
if ($nb_connectes)
{
// Mise à jour de la connexion
$query_connectes="UPDATE nb_connectes SET time='$heure_connectes' WHERE ip='$ip_connectes'";
[$result_connectes=@mysql_query($query_connectes,$base_connectes](mailto:$result_connectes=@mysql_query($query_connectes,$base_connectes));
}
else
{
// Création de la connexion
$query_connectes="INSERT INTO nb_connectes (ip, time) VALUES ('";
$query_connectes.=$ip_connectes;
$query_connectes.="', '";
$query_connectes.=$heure_connectes;
$query_connectes.="')";
[$result_connectes=@mysql_query($query_connectes,$base_connectes](mailto:$result_connectes=@mysql_query($query_connectes,$base_connectes));
}
// Calcul tps max de connexion
$heure_max_connectes=$heure_connectes-$nb_connectes_connexion;
// Suppression des connexions max dans la base de données
$query_connectes="DELETE FROM nb_connectes WHERE time<'$heure_max_connectes'";
[$result_connectes=@mysql_query($query_connectes,$base_connectes](mailto:$result_connectes=@mysql_query($query_connectes,$base_connectes));
// Fermeture de la connexion à la base
mysql_close($base_connectes);
?>
<?
//Nom de la base :
$opt_connectes_cfgbase = "base";
//Nom d'utilisateur :
$opt_connectes_cfguser = "login";
//Mot de passe :
$opt_connectes_cfgpass = "pass";
//Chemin sgbd :
$opt_connectes_cfghote = "mysqln°.amen.fr";
// Connexion à la base de données
$base_connectes=mysql_connect($opt_connectes_cfghote, $opt_connectes_cfguser,$opt_connectes_cfgpass);
if (!$base_connectes)
{
print("Erreur de connexion à la base de données...");
exit();
}
// Sélection de la base
if (! mysql_select_db("$opt_connectes_cfgbase",$base_connectes))
{
mysql_close($base_connectes);
print("Erreur de connexion à la base de données...");
exit();
}
// Nombre de connexions dans la base de données
$query_connectes="SELECT * FROM nb_connectes";
[$result_connectes=@mysql_query($query_connectes,$base_connectes](mailto:$result_connectes=@mysql_query($query_connectes,$base_connectes));
[$nb_connectes=@mysql_num_rows($result_connectes](mailto:$nb_connectes=@mysql_num_rows($result_connectes));
print($nb_connectes);
// Fermeture de la connexion à la base
mysql_close($base_connectes);
?>
visiteur(s) actuellement sur le site
3ème cas :
Jusqu’i il ya quelques mois j’étais plutôt dans les ASP (voir www.maghrebcity.com , www.phsmems.com)
Les includes se faisaient sans heurts : page.asp à l’interieur et le tour était joué
Sur AMEN le fichier shtml est le fichier mère qui reçois les fichiers html, txt etc… bref l’inverse.
De plus les includes de fichiers php ne sont pas acceptés.
Donc les deux cas précédents d’insertions de la date + connectés via le process des includes ne marcherait pas… :-o
Si quelqu’un pouvait m’éclairer ce serait super. C’est vrai que j’ai tendance à poser un peu trop de questions 
Mais je pense que ces fonctions ne sont pas farfelues.
Stéphane (Lyon)