- Home
- Categorie
- Coding e Sistemistica
- PHP
- Implementare funzione "alt" su messaggi.php di chat
-
@ayrton2001 said:
il file register come è formattato?
Potresti postarne un esempio?
Gli utenti sono molti?ecco il file register.php:
[PHP]<html>
<head>
<title>Registrazione alla chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<p align="center"><b><font face="Tahoma" size="5">REGISTRAZIONE ALLA
CHAT METEO DI
GLOBALMETEO.ORG</font></b></p>
<div align="center"><i><font face="Arial" size="4">PROCEDURA DELLA
REGISTRAZIONE:</font></i></div>
<div align="center">
<table border="1" width="69%" id="table1">
<tr>
<td>
<p style="margin-left: 8px; margin-right: 8px; margin-top:
0" align="left">
<FONT face="verdana" color=black
size=4><b>1)</b></font><FONT face="verdana" color=black size=2>
INSERIRE IL NICKNAME CON RELATIVA PROVINCIA </font><b>
<FONT face="verdana" color=black size=4>es:
luigi(ve)</font><FONT face="verdana" color=black size=2>
</font></b>
<p style="margin-left: 8px; margin-right: 8px; margin-top:
0" align="left">
<FONT face="verdana" color=black
size=2> (attenzione
il nickname può essere
successivamente modificato dalla REDAZIONE, </font>
<p style="margin-left: 8px; margin-right: 8px; margin-top:
0" align="left">
<FONT face="verdana" color=black
size=2> qualora non fosse stata specificata la
provincia di
appartenenza.)</font><p style="margin-left: 8px; margin-right: 8px;
margin-top: 0" align="left">
<b><font face="verdana" size="4">2)</font></b><font
face="verdana" size="2">
INSERIRE UNA PASSWORD</font><p style="margin-left: 8px;
margin-right: 8px; margin-top: 0" align="left">
<b><font face="verdana" size="4">3)</font></b><font
face="verdana" size="2">
INSERIRE OBBLIGATORIAMENTE TUTTI GLI ALTRI CAMPI RICHIESTI
(</font><font face="verdana">*</font><font face="verdana"
size="2">=obbligatorio)</font><div align="center">
<p style="margin-left: 8px; margin-right: 8px; margin-top: 0"
align="left">
<font face="verdana" size="4"><b>4)</b></font><font face="verdana"
size="2"> <b>INSERIRE OBBLIGATORIAMENTE UNA E-MAIL
CORRETTA, </b>questo perchè la</font></div>
<div align="center">
<p style="margin-left: 8px; margin-right: 8px; margin-top: 0"
align="left">
<font face="verdana" size="2"> REDAZIONE
abbia modo di contattare
l'utente per fornire, eventualmente, il</font></div>
<div align="center">
<p style="margin-left: 8px; margin-right: 8px; margin-top: 0"
align="left">
<font face="verdana" size="2"> nickname
modificato. ATTENZIONE:
fornendo un' e-mail errata l'utente verrà cancellato.</font></td>
</tr>
</table>
<FONT face="verdana" color=black size=2>
<body bgcolor="#DFDFDF">
<form method="POST" action="ins_ut.php">
<table width="317" align="center" cellpadding="4"
bordercolor="#000000" bgcolor="#F8EBC2" style="border:1px solid">
<tr>
<td colspan="2" bgcolor="#FBD6BD"><div align="center">
<font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>REGISTRAZIONE
IN CHAT</strong></font></div></td>
</tr>
<tr>
<td width="179"><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>
*Nick: es: luigi(ve)</strong></font></td>
<td width="114"><input name="nick" type="text" id="nick" size="18"
maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*Password:</strong></font></td>
<td width="114"><input name="password" type="password" id="password"
size="18" maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*Età:</strong></font></td>
<td width="114"><input name="age" type="text" id="age"
size="4" maxlength="2"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*Sesso:</strong></font></td>
<td width="114"><font size="1" face="Verdana, Arial, Helvetica,
sans-serif">maschio</font>
<input type="radio" name="sex" value="maschio" checked>
<br><font size="1" face="Verdana, Arial, Helvetica,
sans-serif">femmina</font>
<input type="radio" name="sex" value="femmina"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*Città:</strong></font></td>
<td width="114"><input name="città" type="text" id="città"
size="18" maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*Provincia: </strong></font></td>
<td width="114"><input name="provincia" type="text" id="provincia"
size="18" maxlength="50"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><strong>*E-mail: </strong></font></td>
<td width="114"><input name="email" type="text" id="email"
size="18" maxlength="50"></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit"
name="Submit" value="Registrati alla chat"></td>
</tr>
</table>
</form></BODY></HTML>[/PHP]
gli utenti sono sulla 50 più o meno ma in aumento.
-
@giulio3x said:
ecco il file register.php:
........
gli utenti sono sulla 50 più o meno ma in aumento.Intendevo il file register.txt
Oppure puoi postarmi il file ins_ut.php
Quello che mi interessa è sapere come sono conservati i dati.
Per esempio:nome utente|password|descrizione(quello che vuoi visualizzare tu)|altro nome utente 2|password 2|descrizione 2(quello che vuoi visualizzare tu)|altro 2
-
allora il file registro.txt è così composto:
fino a 1 settimana fa i dati venivano così salvati:
ludovico(ve)|luo5rHtMnVsyU|14|maschio|Brescia|[email protected]|87.2.98.65mentre da 1 settimana e cioè da quando il file ins_ut.php lo ho modificato me li salva in questo modo:
ludovico(ve)|luo5rHtMnVsyU|[email protected]|14|maschio|Brescia|Desenzano del Garda|87.2.98.65
ti posto i file ins_ut.php fino a una settimana fa e poi quello attuale:
[php]<?
if(!isset($_POST['Submit']))
{
echo "
<script language="javascript">
alert("Non hai i permessi per accedere a questa pagina");
</script>
";exit;
}
?>
<html>
<head>
<title>Registrazione alla chat</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FBBEAA">
<?
include("config.php");
$ip = $_SERVER['REMOTE_ADDR'];
$nick=$_POST['nick'];
$nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
$nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
con addslòashes/
$password=$_POST['password'];
$password=strtolower($password);/conversione della stringa della
password in minuscolo/
$password_cr=crypt($password,$nick);/criptazione di tipo DES della
password usando come chiave la stringa del nick/
$password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
una criptazione aggiuntiva: se nella password criptata sono presenti
| sono sostituiti con * /
$age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
per la sicurezza/
if(!(int)$age)
{
echo "
<script>
alert("Inserimento di un dato non numerico");
history.back();
</script>
";
exit;
}
$sex=$_POST['sex'];
$nation=$_POST['nation'];
$hobbies=$_POST['hobbies'];
$nation=stripslashes($nation);
$hobbies=stripslashes($hobbies);
if (!(file_exists($file_reg)))
{fopen($file_reg,"w");}
$utente_ok=1;
$ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
elemento del vettore corrisponde ad ogni riga del file/
$dim_reg=count($ut_regist);/conta le righe del vettore/
/ora che il file è un vettore era meglio utilizzare un foreach
piuttosto che un for/
for ($i=0;$i<$dim_reg;$i++)
{
$utente=chop($ut_regist);/chop è alias di rtrim ed elimina spazi ed
altro dalla fine del file in questo caso dalla riga in cui andremo a
scrivere/
$dati_ut=explode("|",$utente);/considerando ogni riga come un array si
separa ogni elemento dell'array con un |/
$nick_ut=$dati_ut[0];
$pass_ut=$dati_ut[1];
if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
controlla che il nick o la passwords nopn esistano/
}
if ($utente_ok==1)
{
if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
empty($hobbies))
{
echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
PIU' CAMPI</font></center><br><br>";
echo "<center><font face="Verdana" size="2"><a
href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
}
else /in caso in cui tutti i campi siano stati tutti riempiti/
{
$utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
$ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
vettore-filre/
fputs($ins_utente,$utente);
fclose($ins_utente);
echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
}
}
else
echo "<center>Nick o password già utilizzata.<br><a
href="javascript:history.back();">Torna indietro</a><center>";
?>
</body>
</html>[/php]questo è quello nuovo:
[php]<?
if(!isset($_POST['Submit']))
{
echo "
<script language="javascript">
alert("Non hai i permessi per accedere a questa pagina");
</script>
";exit;
}
?><?php
include("config.php");
// crei un codice
$codice_alfanumerico_casuale = MD5(microtime());
// mescoli i caratteri
$codice_alfanumerico_casuale = str_shuffle($codice_alfanumerico_casuale);
// ne prendi una piccola quantità (esempio: 15)
$codice_alfanumerico_casuale = substr($codice_alfanumerico_casuale, 0, 15);
// creo il nome del file temporaneo
$file_iscr_temp = $codice_alfanumerico_casuale.".dat";
// percorso alla cartella con i permessi di scrittura
$percorso_temp = "iscr_temp/$nome_file_temp";$ip = $_SERVER['REMOTE_ADDR'];
$nick = trim($_POST['nick']);
$password = trim($_POST['password']);
$sex = trim($_POST['sex']);
$città = trim($_POST['città']);
$provincia= trim($_POST['provincia']);
$age = trim($_POST['age']);
$email = trim($_POST['email']);if ($nick == "" OR
$password == "" OR
$age == "" OR
$email == "" OR
$sex == "" OR
$città == "" OR
$provincia == "") {
echo "
<center>
<font face="Verdana" size="2">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center>
<br />
<br />
<a href="java-script:history.back();">TORNA INDIETRO</a>
</font>
</center>";
exit;
}
/* qui si verifica che eta sia intera ,altro controllo per la sicurezza*/
if(!is_numeric($age))
{
echo "
<script>
alert("Inserimento di un dato non numerico");
history.back();
</script>
";
exit;
}$nick = stripslashes($nick);
$città = stripslashes($città);
$provincia = stripslashes($provincia);
$email = stripslashes($email);// qui aggiungi il codice di controllo dei duplicati
$array_utenti_reg = file('registro.txt');
$quanti = count($array_utenti_reg);for ($i = 0; $i < $quanti; $i++) {
list($nick_reg, $pw_reg, $email_reg, $age_reg, $sex_reg, $cit_reg, $prov_reg, $ip_reg) = explode("|", $array_utenti_reg*);$nick_reg = trim($nick_reg); $email_reg = trim($email_reg); if ($nick_reg == $nick) { echo "Spiacente, ma il nome utente da te scelto è già registrato per un altro utente."; exit(); } if ($email_reg == $email) { echo "Spiacente, ma l'indirizzo email da te scritto è già registrato per un altro utente."; exit(); } }
$password_cr = crypt($password,$nick);
/criptazione di tipo DES della password usando come chiave la stringa del nick/
$password_cr=str_replace("|","*",$password_cr);
/*questa la si definisce una criptazione aggiuntiva:
se nella password criptata sono presenti | sono sostituiti con *
*/// preparo la variabile che contiene la stringa da salvare nel file temporaneo
$utente=$nick."|".$password_cr."|".$email."|".$age."|".$sex."|".$città."|".$provincia."|".$ip."\n";
// scrivo nel file
$handle = fopen("$percorso_temp/$file_iscr_temp", "w");
$scrivi = fwrite ($handle, $utente);
fclose ($handle);// preparo il messaggio da mandare per email
$messaggio_email = "
Ciao, $nick e grazie per esserti iscritto/a alla chat del nostro sito.
Per potere accedere alla chat, però, devi confermare la tua iscrizione cliccando il seguente link:
<br>http:..........................
<br>Solo la dopo la conferma potrai entrare nella chat meteo e segnalare che tempo fa nella tua città!
<br>N.B.: Per quasiasi eventuale problema inerente all'attivazione dell'account, puoi rivolgerti alla Redazione Globalmeteo.org
tramite e-mail all'indirizzo: [email protected]
<br>==================================
Redazione Globalmeteo.org";
mail($email, "Registrazione Chat Meteo Globalmeteo", $messaggio_email);
// messaggio di cortesia
echo "
<hr />
Registrazione effettuata con successo!
<br />Riceverai una email per confermare il tuo account e per potere accedere alla nostra chat meteo.
";
?>[/php]da notare che il file nuovo è stato fatto insieme ad un altro utente, io non ci sarei mai riuscito da solo.nota anche che con il vecchio ins_ut.php al posto di nation e hobbies facevo mettere all'utente città e e-mail.
quello che voglio che si veda il nick, la città, la provincia. (riferito all'ultimo ins_ut.php, poi per quelli che si sono registrati con il vecchio ins_ut.php aggiungo io le informazioni.)
-
@giulio3x said:
allora il file registro.txt è così composto:
.....
quello che voglio che si veda il nick, la città, la provincia. (riferito all'ultimo ins_ut.php, poi per quelli che si sono registrati con il vecchio ins_ut.php aggiungo io le informazioni.)Quale è l'informazione che vuoi visualizzare attraverso l'alt?
-
con la funzione alt, voglio che si visualizzi il nick, la città e la provincia.
-
Se nella stringa:
ludovico(ve)|luo5rHtMnVsyU|[email protected]|14|masc hio|Brescia|Desenzano del Garda|87.2.98.65ludovico(ve) ossia il primo campo è il nick
prova cosi:
[PHP]
<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config1.php");
$file_utenti = 'registro.txt'; // potresti inserirlo dentro config1.php
echo "<meta http-equiv="refresh" content="$time_refresh">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=file($file_utenti);
foreach($rows_utenti AS $v)
$tmp = explode('|', $rows_utenti);
$rows_utenti_info[$tmp[0]]['citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['provincia'] = $tmp[6];
}if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$nick = str_replace("$img2","$path",$nick);
}echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>
[/PHP]In pratica viene letto il file registro.txt e le informazioni inserite nell'array bidimensionale $rows_utenti_info
$rows_utenti_info è composto in questo modo
$rows_utenti_infonick]['citta']
$rows_utenti_infonick]['provincia']
-
allora ho fatto qualche modifica al tuo codice poichè c'era qualche imprecisione, tralaltro mancava una parentesi graffa alla riga venti insomma mi dava errore e diceva che era stat chiusa una parentesi che non era stata aperta, poi ho messo il $ su città e provinciae poi ho sistemato questo $rows_utenti=file($file_reg)
in pratica il file degli utenti su config.php è denominato come $file_reg=registro.txt
ecco il codice di adesso:
[php]<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config.php");
echo "<meta http-equiv="refresh" content="$time_refresh">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=file($file_reg);foreach($rows_utenti AS $v)
$tmp = explode('|', $rows_utenti);
{
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$nick = str_replace("$img2","$path",$nick);
}echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>[/php]allora come effetto la tendina compare ma al suo interno c'è solo ()
senza le info all'interno:bho:.
-
@giulio3x said:
allora ho fatto qualche modifica al tuo codice poichè c'era qualche imprecisione, tralaltro mancava una parentesi graffa alla riga venti insomma mi dava errore e diceva che era stat chiusa una parentesi che non era stata aperta, poi ho messo il $ su città e provinciae poi ho sistemato questo $rows_utenti=file($file_reg)
in pratica il file degli utenti su config.php è denominato come $file_reg=registro.txt
ecco il codice di adesso:
[php]<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config.php");
echo "<meta http-equiv="refresh" content="$time_refresh">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=file($file_reg);foreach($rows_utenti AS $v)
$tmp = explode('|', $rows_utenti);
{
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$nick = str_replace("$img2","$path",$nick);
}echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick]['provincia']."(".$rows_utenti_info[$nick]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>[/php]allora come effetto la tendina compare ma al suo interno c'è solo ()
senza le info all'interno:bho:.
Scusa ma per il poco tempo ho commesso un errore:Sostituisci:
[php]
foreach($rows_utenti AS $v)
$tmp = explode('|', $rows_utenti);
{
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}
[/php]con:
[php]
foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}
[/php]
-
niente anche con il nuovo pezzo di codice compaiono sempre le due parentesi ma senza nulla dentro.:(
-
Aggiungi la riga evidenziata
[php]
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
$nick_orig=$nick; //aggiungi
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
[/php]e modifica
[php]
echo "<b><font face="verdana" size="2" color="#000000"><a title="".$rows_utenti_info[$nick_orig]['provincia']."(".$rows_utenti_info[$nick_orig]['citta'].")">$nick</a></font>: </b>"."<font face="verdana" size="2">".$msg."</font><br>";
[/php]
-
@ayrton2001 said:
Aggiungi la riga evidenziata
[php]
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
$nick_orig=$nick; //aggiungi
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
[/php]e modifica[php]
echo "<b><font face="verdana" size="2" color="#000000"><a title="".$rows_utenti_info[$nick_orig]['provincia']."(".$rows_utenti_info[$nick_orig]['citta'].")">$nick</a></font>: </b>"."<font face="verdana" size="2">".$msg."</font><br>";
[/php]
inoltre mi dici come è formattato il file $file_mess ?
basta copiarmi due righe
-
allora con i nuovi pezzi di codice appaiono sempre le due () senza nulla dentro, per via della formattazione del file messaggi spero tu ti riferisca al file messaggi.txt:
eccolo:
[em4] [21:59 - 26/04/08] gianluca(ud)|Ciao a tutti.
[em4] [21:59 - 26/04/08] marco(pd)|ciao gianluca
[em5] [21:59 - 26/04/08] gianni(tv)|ciao gianluca!...
[em4] [22:00 - 26/04/08] marco(pd)|ora vi saluto ciao a domani
[em5] [22:00 - 26/04/08] gianni(tv)|ciao marco, a domani...
[em4] [22:05 - 26/04/08] gianluca(ud)|In sostanza almeno anche lunedì il tempo dovrebbe reggere.
[em5] [22:07 - 26/04/08] gianni(tv)|si, e non credo farà molto nemmeno per i giorni successivi, vedo bene le prealpi e le alpi, insomma un po nordica ecco...
[em4] [22:08 - 26/04/08] gianluca(ud)|Non mi sbilancio per il momento: intanto mi godo il bel tempo che c'è stato finalmente oggi e che ci sarà domani.
[em5] [22:09 - 26/04/08] gianni(tv)|esatto, ieri mi son visto pure il temporale, quindi per qualche giorno vada pure il sole...
[em4] [22:12 - 26/04/08] gianluca(ud)|Ne riparliamo domani della prossima settimana. Ciao!
[em5] [22:12 - 26/04/08] gianni(tv)|ciao gianluca e buona domenica.
[em4] [22:12 - 26/04/08] gianluca(ud)|Grazie, anche ate.nota che alla fine di ogni frase di ogni utente c'è anche una specie di quadratino che separa ogni messaggio ma postandolo qui non si vede.
-
@giulio3x said:
allora con i nuovi pezzi di codice appaiono sempre le due () senza nulla dentro, per via della formattazione del file messaggi spero tu ti riferisca al file messaggi.txt:
eccolo:
[em4] [21:59 - 26/04/08] gianluca(ud)|Ciao a tutti.
[em4] [21:59 - 26/04/08] marco(pd)|ciao gianluca
[em5] [21:59 - 26/04/08] gianni(tv)|ciao gianluca!...
[em4] [22:00 - 26/04/08] marco(pd)|ora vi saluto ciao a domani
[em5] [22:00 - 26/04/08] gianni(tv)|ciao marco, a domani...
[em4] [22:05 - 26/04/08] gianluca(ud)|In sostanza almeno anche lunedì il tempo dovrebbe reggere.
[em5] [22:07 - 26/04/08] gianni(tv)|si, e non credo farà molto nemmeno per i giorni successivi, vedo bene le prealpi e le alpi, insomma un po nordica ecco...
[em4] [22:08 - 26/04/08] gianluca(ud)|Non mi sbilancio per il momento: intanto mi godo il bel tempo che c'è stato finalmente oggi e che ci sarà domani.
[em5] [22:09 - 26/04/08] gianni(tv)|esatto, ieri mi son visto pure il temporale, quindi per qualche giorno vada pure il sole...
[em4] [22:12 - 26/04/08] gianluca(ud)|Ne riparliamo domani della prossima settimana. Ciao!
[em5] [22:12 - 26/04/08] gianni(tv)|ciao gianluca e buona domenica.
[em4] [22:12 - 26/04/08] gianluca(ud)|Grazie, anche ate.nota che alla fine di ogni frase di ogni utente c'è anche una specie di quadratino che separa ogni messaggio ma postandolo qui non si vede.
Trovata la magagna
Aggiungi e modifica le righe indicate:[PHP]
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
eregi("[(.)] [(.)] (.)((.))", $nick, $regnick); //aggiungi
$nick_orig=$regnick; //modifica
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
[/PHP]Inoltre se non va copia tutto il codice con tutte le modifiche fino a qui fatte
-
intanto grazie, però nemmeno così funziona sempre solo () appare...
facciamo così ti posto il codice come lo ho adesso e vedi com'è:
[PHP]<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config.php");
echo "<meta http-equiv="refresh" content="$time_refresh">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=$file_reg;
foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
$nick_orig=$regnick;
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$nick = str_replace("$img2","$path",$nick);
}echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['$provincia']."(".$rows_utenti_info[$nick_orig]['$citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>[/PHP]
-
@giulio3x said:
intanto grazie, però nemmeno così funziona sempre solo () appare...
facciamo così ti posto il codice come lo ho adesso e vedi com'è:
[php]<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config.php");
echo "<meta http-equiv="refresh" content="$time_refresh">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=$file_reg;
foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
}if (!(file_exists($file_mess))) {
$fpw = fopen($file_mess,"w"); fclose($fpw);
}
$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
$nick_orig=$regnick;
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
$nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
$msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$msg = str_replace("$img2","$path",$msg);
}
for ($x=1;$x<27;$x++)
{
$img="em".$x;
$img2="[".$img."]";
$path="<img src="emoticons/$img.gif">";
$nick = str_replace("$img2","$path",$nick);
}echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['$provincia']."(".$rows_utenti_info[$nick_orig]['$citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>[/php]Altro errore:
//Leggo il file utenti
$rows_utenti=$file_reg;deve essere
$rows_utenti=file($file_reg);
-
no nemmeno mettendo $rows_utenti=file($file_reg); funziona sempre solo ()
l'errore secondo me è da un'altra parte e secondo me sta qui:
[PHP]foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
} [/PHP]
-
@giulio3x said:
no nemmeno mettendo $rows_utenti=file($file_reg); funziona sempre solo ()
l'errore secondo me è da un'altra parte e secondo me sta qui:
[php]foreach($rows_utenti AS $v)
{
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
} [/php]Scrivi:
[php]foreach($rows_utenti AS $v)
{
print_r($v); //Add
echo "<br />"; //Add
$tmp = explode('|', $v);
$rows_utenti_info[$tmp[0]]['$citta'] = $tmp[6];
$rows_utenti_info[$tmp[0]]['$provincia'] = $tmp[6];
} [/php]
così vediamo cosa contiene ogni riga.
copiami il risultato.
-
appare questo:
mar|maFVp8RZN29ZI|[email protected]|34|maschio|de|rt|151.35.8.68|15:28 - 05/04/08
[19:32 - 09/05/08] mar: ciao1
[21:41 - 07/05/08] mar: adesso...visto che sto lavorando su una chat a parte mi sono registrato a nome "mar" (non ci sono altri utenti) e appare quindi sulla pagina dei messaggi tutta la banda di dati di mar e sotto compaiono i messaggi degli utenti, anche se poi provo a scrivere un messaggio questo compare ma sopra rimane sempre la frase con i dati...
-
@giulio3x said:
appare questo:
mar|maFVp8RZN29ZI|[email protected]|34|maschio|de|rt|151.35.8.68|15:28 - 05/04/08
[19:32 - 09/05/08] mar: ciao1
[21:41 - 07/05/08] mar: adesso...visto che sto lavorando su una chat a parte mi sono registrato a nome "mar" (non ci sono altri utenti) e appare quindi sulla pagina dei messaggi tutta la banda di dati di mar e sotto compaiono i messaggi degli utenti, anche se poi provo a scrivere un messaggio questo compare ma sopra rimane sempre la frase con i dati...
Fin qui è ok.
ora aggiungi la riga segnata con //Aggiungi:
[PHP]
$dati_utente=explode("|",$rows_file_ord*);
$nick=$dati_utente[0];
eregi("[(.)] [(.)] (.)((.))", $nick, $regnick);
$nick_orig=$regnick;
echo $nick_orig."<br />"; //Aggiungi
$msg=$dati_utente[1];
$nick=stripslashes($nick);
$msg=stripslashes($msg);
[/PHP]
-
mah con questa aggiunta non succede nulla... tutto come prima.