Problemi con pagina online.php di una chat in php

giuliox13

Utente Attivo
27 Mar 2017
37
2
8
39
Ciao a tutti ho una chat interamente fatta in php solo che non mi funziona più la pagina online.php che serve per visualizzare i nomi degli utenti online, chi mi aiuta a capire dove sta l'errore?
grazie

PHP:
<html><head><title>Persone online</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="javascript">function apri(nick_ut){window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");}</script></head>
<body bgcolor="#E7E9FA"><?include("config.php");
$ar_online=file($file_online);$dim=count($ar_online);
for ($i=0;$i<$dim;$i++){$ut_online=chop($ar_online[$i]);$utente=explode("|",$ut_online);$nick_ut=$utente[0];$data=$utente[1];$orario=$utente[2];
$parti_data=explode("/",$data);$giorno=$parti_data[0];$mese=$parti_data[1];$anno=$parti_data[2];
$parti_orario=explode(":",$orario);$ora=$parti_orario[0];$minuti=$parti_orario[1];$secondi=$parti_orario[2];
$ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);$diff=time()-$ts;$min_trascorsi=$diff/300;if ($min_trascorsi<$min_online && array_search($nick_ut,$array_on)===false) { $array_on[]=$nick_ut; } }$ar_unico=array_unique($array_on);$dim_unico=count($ar_unico);
echo "<font face=\"Verdana\" size=\"1\">Online: "; for($i=0;$i<$dim_unico;$i++) { echo $ar_unico[$i]. ", "; }  ?>
</body></html>
 
intanto rendiamo più leggibile il codice
PHP:
<html>
    <head>
        <title>Persone online</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script language="javascript">
            function apri(nick_ut) {
                window.open("profilo.php?nick=" + nick_ut, nick_ut, "width=500, height=280, left=200");
            }
        </script>
    </head>
    <body bgcolor="#E7E9FA"><?php
        include("config.php");
        $ar_online = file($file_online);
        $dim = count($ar_online);
        for ($i = 0; $i < $dim; $i++) {
            $ut_online = chop($ar_online[$i]);
            $utente = explode("|", $ut_online);
            $nick_ut = $utente[0];
            $data = $utente[1];
            $orario = $utente[2];
            $parti_data = explode("/", $data);
            $giorno = $parti_data[0];
            $mese = $parti_data[1];
            $anno = $parti_data[2];
            $parti_orario = explode(":", $orario);
            $ora = $parti_orario[0];
            $minuti = $parti_orario[1];
            $secondi = $parti_orario[2];
            $ts = mktime($ora, $minuti, $secondi, $mese, $giorno, $anno);
            $diff = time() - $ts;
            $min_trascorsi = $diff / 300;
            if ($min_trascorsi < $min_online && array_search($nick_ut, $array_on) === false) {
                $array_on[] = $nick_ut;
            }
        }
        $ar_unico = array_unique($array_on);
        $dim_unico = count($ar_unico);
        echo "<font face=\"Verdana\" size=\"1\">Online: ";
        for ($i = 0; $i < $dim_unico; $i++) {
            echo $ar_unico[$i] . ", ";
        }
        ?>
    </body>
</html>
metti var_dump($ar_online);
 
PHP:
$ar_online = file($file_online);
var_dump($ar_online);
$dim = count($ar_online);
 
niente da fare viene fuori un errore cioè:
PHP:
array(276) { [0]=> string(30) "losna(to)|28/02/2017|13:06:41 " [1]=> string(30) "losna(to)|01/03/2017|12:58:55 " [2]=> string(30) "losna(to)|01/03/2017|12:59:17 " [3]=> string(30) "losna(to)|01/03/2017|12:59:30 " [4]=> string(30) "losna(to)|01/03/2017|13:00:45 " [5]=> string(30) "losna(to)|01/03/2017|13:04:31 " [6]=> string(30) "losna(to)|01/03/2017|13:08:06 " [7]=> string(30) "losna(to)|01/03/2017|13:09:23 " [8]=> string(30) "losna(to)|01/03/2017|13:09:50 " [9]=> string(30) "losna(to)|01/03/2017|13:11:58 " [10]=> string(30) "losna(to)|01/03/2017|13:16:02 " [11]=> string(30) "losna(to)|01/03/2017|13:20:06 " [12]=> string(30) "losna(to)|01/03/2017|13:22:07 " [13]=> string(30) "losna(to)|01/03/2017|13:24:01 " [14]=> string(31) "gianni(tv)|01/03/2017|20:16:39 " [15]=> string(31) "gianni(tv)|01/03/2017|20:18:49 " [16]=> string(33) "gianluca(ud)|01/03/2017|22:22:14 " [17]=> string(33) "gianluca(ud)|01/03/2017|22:27:38 " [18]=> string(33) "gianluca(ud)|01/03/2017|22:29:19 " [19]=> string(33) "gianluca(ud)|01/03/2017|22:30:07 " [20]=> string(30) "losna(to)|02/03/2017|12:56:41 " [21]=> string(30) "losna(to)|02/03/2017|13:00:12 " [22]=> string(30) "losna(to)|02/03/2017|13:01:36 " [23]=> string(30) "losna(to)|02/03/2017|13:01:58 " [24]=> string(30) "losna(to)|03/03/2017|15:14:08 " [25]=> string(30) "losna(to)|03/03/2017|15:14:51 " [26]=> string(30) "losna(to)|03/03/2017|15:15:01 " [27]=> string(33) "gianluca(ud)|03/03/2017|21:46:46 " [28]=> string(33) "gianluca(ud)|03/03/2017|21:47:26 " [29]=> string(31) "gianni(tv)|03/03/2017|21:53:27 " [30]=> string(31) "gianni(tv)|03/03/2017|21:53:57 " [31]=> string(33) "gianluca(ud)|03/03/2017|21:55:39 " [32]=> string(31) "gianni(tv)|03/03/2017|21:59:07 " [33]=> string(33) "gianluca(ud)|03/03/2017|22:00:45 " [34]=> string(31) "gianni(tv)|03/03/2017|22:01:49 " [35]=> string(30) "losna(to)|04/03/2017|10:12:54 " [36]=> string(30) "losna(to)|04/03/2017|10:15:13 " [37]=> string(30) "losna(to)|04/03/2017|10:19:27 " [38]=> string(30) "losna(to)|04/03/2017|10:20:33 " [39]=> string(30) "losna(to)|04/03/2017|10:21:10 " [40]=> string(32) "gianluca(ud)|05/03/2017|0:52:56 " [41]=> string(30) "gianni(tv)|05/03/2017|0:53:05 " [42]=> string(29) "losna(to)|05/03/2017|0:53:10 " [43]=> string(32) "gianluca(ud)|05/03/2017|0:53:10 " [44]=> string(29) "losna(to)|05/03/2017|0:53:10 " [45]=> string(30) "gianni(tv)|05/03/2017|0:53:11 " [46]=> string(30) "losna(to)|06/03/2017|10:40:58 " [47]=> string(30) "losna(to)|06/03/2017|10:41:17 " [48]=> string(30) "losna(to)|06/03/2017|10:41:32 " [49]=> string(30) "losna(to)|06/03/2017|18:34:28 " [50]=> string(30) "losna(to)|06/03/2017|18:35:16 " [51]=> string(33) "gianluca(ud)|07/03/2017|22:21:08 " [52]=> string(33) "gianluca(ud)|07/03/2017|22:22:40 " [53]=> string(33) "gianluca(ud)|07/03/2017|22:39:06 " [54]=> string(33) "gianluca(ud)|07/03/2017|22:50:29 " [55]=> string(29) "losna(to)|08/03/2017|2:19:49 " [56]=> string(29) "losna(to)|08/03/2017|2:19:51 " [57]=> string(29) "losna(to)|08/03/2017|2:20:01 " [58]=> string(29) "losna(to)|08/03/2017|2:20:02 " [59]=> string(30) "losna(to)|08/03/2017|13:22:35 " [60]=> string(30) "losna(to)|08/03/2017|13:24:43 " [61]=> string(30) "losna(to)|08/03/2017|13:25:55 " [62]=> string(30) "losna(to)|08/03/2017|13:26:38 " [63]=> string(30) "losna(to)|08/03/2017|13:29:32 " [64]=> string(30) "losna(to)|08/03/2017|13:29:57 " [65]=> string(33) "gianluca(ud)|08/03/2017|22:51:11 " [66]=> string(33) "gianluca(ud)|08/03/2017|22:53:46 " [67]=> string(33) "gianluca(ud)|08/03/2017|22:56:32 " [68]=> string(31) "gianni(tv)|08/03/2017|22:56:38 " [69]=> string(31) "gianni(tv)|08/03/2017|22:56:52 " [70]=> string(29) "gianni(tv)|28/03/2017|21:40:21 " [275]=> string(31) "gianni(tv)|29/03/2017|10:34:27 " } Online:
 
non è un errore, sono i dati della chat
puoi toglierlo il problema non è li
metti il var_dump() più sotto

Codice:
$ar_unico = array_unique($array_on);
var_dump($ar_unico)
 
così facendo appare errore

Parse error: syntax error, unexpected T_VARIABLE in /membri/globalmeteo/chat/online.php on line 47
 
ho dimenticato il punto e virgola
PHP:
$ar_unico = array_unique($array_on);
var_dump($ar_unico);
 
nello script che hai postato le variabili $min_online e $array_on non sono valorizzate. non so cosa c'è dentro il file config.php, guarda se ci sono.
In alternativa le devi valorizzare prima del ciclo subito dopo l'include
PHP:
include("config.php");
$min_online = 10000;
$array_on = array();
 
questo è il file config.php

PHP:
<html>
<head>
<title>Pannello di configurazione</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
$homepage="http://www.globalmeteo.altervista.org"; // L'indirizzo dell'homepage del tuo sito

$file_online="online.txt"; // File contenente gli utenti online

$file_reg="registro.txt"; // File degli utenti registrati alla chat

$file_regban="registroban.txt"; // File degli utenti registrati alla chat

$file_mess="messaggi.txt"; // File dei messaggi inviati agli autenti

$min_online="1"; // Minuti entro il quale si considera online un utente

$time_refresh="90"; // Time di refresh dei messaggi (secondi)

$num_messag="100"; // Numero di messaggi più recenti che vuoi visualizzare

?>
</body>
</html>
 
aggiungi <?php e $array_on = array();
PHP:
<?php
$homepage="http://www.globalmeteo.altervista.org"; // L'indirizzo dell'homepage del tuo sito

$file_online="online.txt"; // File contenente gli utenti online

$file_reg="registro.txt"; // File degli utenti registrati alla chat

$file_regban="registroban.txt"; // File degli utenti registrati alla chat

$file_mess="messaggi.txt"; // File dei messaggi inviati agli autenti

$min_online="1"; // Minuti entro il quale si considera online un utente

$time_refresh="90"; // Time di refresh dei messaggi (secondi)

$num_messag="100"; // Numero di messaggi più recenti che vuoi visualizzare

$array_on = array();
?>
 

Discussioni simili