SPIP date en php sur page d'accueil et personnes connectées en simultanée

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 :slight_smile:
Mais je pense que ces fonctions ne sont pas farfelues.

Stéphane (Lyon)

Jusqu'à ce jour j'utilisais un fichier index.php dans lequel
j'insérais des codes pour la date
[...]
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.

Pourquoi n'ecris-tu pas la routine en Javascript ? Le seul object natif
que j'utilise ci-dessous est Date, et sans avoir verifie, je pense que
c'est tres portable.

<!-- Dans head -->
<script language="JavaScript">
  <!--- hide script from old browsers
  function getDate() {
    var days = new Array(
      "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam");
    var months = new Array(
      "Janvier", "F&eacute;vrier", "Mars", "Avril", "Mai", "Juin",
      "Juillet", "Ao&ucirc;t", "Septembre", "Octobre", "Novembre",
      "D&eacute;cembre");

    var now = new Date();
    var day = now.getDay();
    var month = now.getMonth();
    var year = now.getYear() + 1900;
    return (days[day] + " " + now.getDate() + " " +
    months[month] + " " + year);
  }
  // end script hiding from old browsers -->
</script>

<!-- Dans body -->
<p>
  <script language="JavaScript" class="contenubleu">
    document.write(getDate());
  </script>
</p>