- Home
- Categorie
- Coding e Sistemistica
- PHP
- Stampare a video nomi utenti on-line sul sito
-
quindi devo modificare il campo logged della tabella in INT
ho modificato la pagina login cpsi'
[PHP]
<?
session_start(); //avvio l'utilizzo delle sessionisession_start(); //avvio l'utilizzo delle sessioni
if($_POST['nickname'])
$nickname = mysql_real_escape_string($_POST['nickname']);
else
$nickname = "";$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
$selezione="SELECT nickname,password,logged,sesso FROM iscritti WHERE nickname='$nickname' AND password='". $_POST['password']."'";
$eseguisel=mysql_query($selezione);
if (mysql_num_rows($eseguisel) ==1) {
echo "Login effetuato con successo..Attendi";//inserisco nel campo logged l orario del login
$ora_log = time();
$query = "
UPDATE iscritti SET
logged = '$ora_log'
WHERE nickname = '$nickname'
";
//ciclo while che mi richiama l'array dei dati selezionati dal databasewhile($ROW = mysql_fetch_array($eseguisel))
{
//qui vanno settati un po' di SESSIONI
$_SESSION['logged']=1;//setto che l'utente è loggato
$_SESSION['nickname']=$ROW[nome];//inserisco una nuova chiave di sessione con il nome utente
$_SESSION['sesso']=$ROW[sesso];//inserisco una nuova chiave di sessione con il sesso dell'utente
}//eseguo la query che inserisce i dati nel campo logged
$eseguiquery=mysql_query($query);
//ora proseguo con l'header
header("Location: pannellodicontrollo.php");
exit;
} else {
echo "Dati non presenti nei nostri database..Attendi";
//annullo tutte le chiavi di sessioni se esistono
session_unset();
session_destroy();
header("Location: iscrizionesito.htm");
exit;
}
?>[/PHP]e la pagina utentionline.php cosi'
[PHP]
<?
session_start(); //avvio l'utilizzo delle sessioni$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
$ora_scadenza = time()-60*60;
$query = "SELECT nickname,logged FROM iscritti WHERE 'logged' < '$ora_scadenza'";
$result = mysql_query($query)
or (mysql_error());
if(mysql_num_rows($result) != 0) { ?>
<div id="contenitore per gente online">
<ul><?php
while ($array = mysql_fetch_array($result))
{
$arr_stripped = array_map("stripslashes", $array);
list($nickname) = $arr_stripped;?>
<li><?echo"Utenti online $nickname";?></li>
<?php } ?>
</ul>
</div>
<?php } ?>
[/PHP]
ora sinella tabella al campo logged mi inserisci quella cifra di numero che mi hai detto...ma purtroppo la pagina utentionline.php nn visualizza nulla
-
sicuro che nella query logged vada tra apici essendo un capo?
keiske
-
@Privacy-Impresa said:
sicuro che nella query logged vada tra apici essendo un capo?
keiske
ho lto anche le apici a logged nel file utentionline.php ma continua a nn visualizzarenulla..
[PHP]
$query = "SELECT nickname,logged FROM iscritti WHERE logged < '$ora_scadenza'";[/PHP]
-
fai una cosa... manda in echo $ora_scadenza e controlla sia un numerone come l'altro...
keiske
-
@Privacy-Impresa said:
fai una cosa... manda in echo $ora_scadenza e controlla sia un numerone come l'altro...
keiske
si..mi da un numero grande
1215706959
-
Prova a mettere > e non <...
-
@Privacy-Impresa said:
Prova a mettere > e non <...
Perfetto...pare che funzioni:D:D
Grazie
Ora...sempre a utentionline.php proverò ad applicare alcune modifiche che ho fatto già su altri script...
Cioè ai nomi presenti utenti online assoccierò una piccola thumbnails della loro foto inviata al momento dell iscrizione...e in piu' linkerò i nomi presenti online su cui cliccandoci sopra dovrei andare ai loro profili...e in piu colorerò i nick maschili blu e quelli fwmminili rosa...
Stavolta sperò di n dover chiedere aiuto..ma credo di farcela.....:)
-
Direi che adesso le varie personalizzazioni dovrebbero venirti bene... oltre al fatto che adesso hai compreso certe "logiche" che ti saranno d'aiuto
keiske
-
Grazie mille...
ecco appunto come ho personalizzato la pagina...
[PHP]
<?$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
$ora_scadenza = time()-60*60;
$query = "SELECT nickname,logged,sesso,foto FROM iscritti WHERE logged > '$ora_scadenza'";
$result = mysql_query($query)or (mysql_error());
if(mysql_num_rows($result) != 0) { ?>
<div id="contenitore per gente online">
<ul><?while ($array = mysql_fetch_array($result)) {
$arr_stripped = array_map("stripslashes", $array);
list($nickname) = $arr_stripped;
$str_sesso = $array['sesso'];
$str_foto = $array['foto']; ?><li>
<?
if($array['sesso'] == 'maschio')
echo "<tr><td><img border="0" src="uomo.gif" width="10" height="10"><font color="#0099FF" face="Comic Sans MS">$nickname<a href="profiloaltri.php?nickname=".$nickname."">visitami...</a><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="30" height="30"></td>";
else
echo "<tr><td><img border="0" src="donna.gif" width="10" height="10"><font color="#CC99FF" face="Comic Sans MS">$nickname<a href="profiloaltri.php?nickname=".$nickname."">visitami...</a><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="30" height="30"></td>"; ?></li>
<?php } ?>
</ul>
</div>
<?php } ?>
[/PHP]e mi è venuto fuori davvero un bello script:)
-
ecco adesso ti manca solo di imparare a usare i css per la grafica invece di tag deprecati come <font> o attributi non standard cone height e width, face, color nei tag html
Invece di target="_blank" devi usare onclick="window.open(this.href);return false"
keiske
edit: e poi scusa ma <tr><td>.....</td>?il </tr>? e la <table> dove l'hai aperta e dove la chiudi?
Alla fine hai ripetuto due righe identiche dove cambia solo una immaginina per maschio o femmina?
if($array['sesso'] == 'maschio')
$sesso_gif = "uomo.fig"
else
$sesso_gif = "donna.fig"
echo "<tr><td><img border="0" src="$sesso.gif" width="10" height="10"><font color="#0099FF" face="Comic Sans MS">$nickname<a href="profiloaltri.php?nickname=".$nickname."">visitami...</a><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="30" height="30"></td>";Saranno solo un po' di byte in meno di "peso" ma è la forma mentis per elaborare algoritmi leggeri che fa la differenzia
-
@Privacy-Impresa said:
ecco adesso ti manca solo di imparare a usare i css per la grafica invece di tag deprecati come <font> o attributi non standard cone height e width, face, color nei tag html
Invece di target="_blank" devi usare onclick="window.open(this.href);return false"
keiske
edit: e poi scusa ma <tr><td>.....</td>?il </tr>? e la <table> dove l'hai aperta e dove la chiudi?
Alla fine hai ripetuto due righe identiche dove cambia solo una immaginina per maschio o femmina?
if($array['sesso'] == 'maschio')
$sesso_gif = "uomo.fig"
else
$sesso_gif = "donna.fig"
echo "<tr><td><img border="0" src="$sesso.gif" width="10" height="10"><font color="#0099FF" face="Comic Sans MS">$nickname<a href="profiloaltri.php?nickname=".$nickname."">visitami...</a><td><a target="_blank" href=\foto/$str_foto><img border="0" src="miniature/$str_foto" width="30" height="30"></td>";Saranno solo un po' di byte in meno di "peso" ma è la forma mentis per elaborare algoritmi leggeri che fa la differenzia
onclick="window.open(this.href);return false" questo e codice javascript giusto..?:)purtroppo con il javascript mi sn applicato pochissimo finora...ne so poco o nulla.. window.open mi pare apri una finestra...onclick al clik...
Hai ragione con i css e molto meglio...ma nn ci ho molto pratica...o meglio nn li ho mai usati..
Nell if nn mi cambia solo l immagine ma anche il colore del nick ....se e maschio dai questa gif e questo colore...
else
dai quest altra gif e quest altro colore..
Con il tuo codice si semplifica molto...grazie alla variabile in cui hai incluso il valore sesso:)
-
con window.open ormai apre sempre una tab nuova e non una pagina se usi un browser a tab...
Allora crei anche $colore = "#xxxxxx"; a seconda dell'if e usi $colore dove c'è il colore
i css non sono difficili e ti permettono di lavorare un layout grafico con molta più precisione, oltre al fatto che con pochi interventi modifichi tutto invece di scorrere tutto il codice...
keiske