<?
require("aut_verifica.inc.php");
$nivel_acceso=10; // Nivel de acceso para esta página.
// se chequea si el usuario tiene un nivel inferior
// al del nivel de acceso definido para esta página.
// Si no es correcto, se mada a la página que lo llamo con
// la variable de $error_login definida con el nº de error segun el array de
// aut_mensaje_error.inc.php
if ($nivel_acceso <= $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>
<?
//*********************
//*** Configuración ***
//*********************
// Mensajes a mostrar (0 para mostrar todos)
$mostrar = 0 ;
// Maximo de caracteres por nick
$max_nick = 20 ;
// Maximo de caracteres por mensaje
$max_mensaje = 200 ;
// Maximo de caracteres por web
$max_web = 100 ;
// Maximo de caracteres por palabra (palabras muy grandes pueden descuadrar el diseño y
// ocasionar que el minichat no se vea correctamente) si no deseas esta opción pon 0.
$max_palabra = 25 ;
// Caretos
$caretos = "ON" ;
// Estilo (archivo que contiene el estilo del minichat, tipo de letra, tamaño, color, fondo)
$estilo = "estilo.php" ;
// Filtro Anti-Spam (para evitar el envío excesivo de direcciones webs, busca cualquier
// dirección web contenida en el mensaje y la transformará en la palabra indicada)
$antispam = "ON" ;
$antispam_palabra = "SPAM" ;
// Censura de palabras
$censura = "OFF" ;
// Permitir código HTML (se recomienda que esté desactivado)
$codigo = "OFF" ;
// Altura de la tabla de mensajes (cuando los mensajes mostrados rebasan la altura marcada
// aparece una barra de desplazamiento)
$altura = 125 ;
// *** Fin de configuración básica ***
// Lista de caretos (si $caretos está en ON)
if($caretos == "ON") {
function caretos($a) {
$a = str_replace("[[","",$a) ;
$a = str_replace("]]","",$a) ;
// ***************
// *** Caretos ***
// ***************
// Debes poner el código del careto y la imagen por el que se va a sustituir
// el nombre de la imagen debe estar metido entre corchetes [[ y ]]
// --> Inicio caretos
$a = str_replace(":D","[[alegre.gif]]",$a) ;
$a = str_replace(":8","[[asustado.gif]]",$a) ;
$a = str_replace(":P","[[burla.gif]]",$a) ;
$a = str_replace(":S","[[confundido.gif]]",$a) ;
$a = str_replace(":(1","[[demonio.gif]]",$a) ;
$a = str_replace(":(2","[[demonio2.gif]]",$a) ;
$a = str_replace(":?","[[duda.gif]]",$a) ;
$a = str_replace("
![triste](http://static.forosdelweb.com/fdwtheme/images/smilies/frown.png)
$a = str_replace(";)","[[guino.gif]]",$a) ;
$a = str_replace("
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
$a = str_replace(":lol","[[lol.gif]]",$a) ;
$a = str_replace(":M","[[moda.gif]]",$a) ;
$a = str_replace(":|","[[neutral.gif]]",$a) ;
$a = str_replace(":)","[[risa.gif]]",$a) ;
$a = str_replace("
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
$a = str_replace(":R","[[sonrojado.gif]]",$a) ;
$a = str_replace(":O","[[sorprendido.gif]]",$a) ;
$a = str_replace(":(","[[triste.gif]]",$a) ;
// --> Fin caretos
$a = str_replace("[[","<img src=\"caretos/",$a) ;
$a = str_replace("]]","\" width=\"15\" height=\"15\">",$a) ;
return $a ;
}
}
// Lista de censura de palabras (si $censura está en ON)
if($censura == "ON") {
function censura($texto) {
// ***************************
// *** Palabras censuradas ***
// ***************************
// Debes poner primero la palabra a buscar y luego por la que se va a sustituir
// --> Inicio palabras
$texto = str_replace("insulto1","***",$texto) ;
$texto = str_replace("insulto2","***",$texto) ;
$texto = str_replace("insulto3","***",$texto) ;
// --> Fin palabras
return $texto ;
}
}
//*******************************
//*** Fin de la configuración ***
//*******************************
// *** Guardar mensaje ***
if($enviar) {
function limpiar($a) {
$a = trim($a) ;
$a = str_replace("|","",$a) ;
return $a ;
}
$nick = limpiar($nick) ;
$mensaje = limpiar($mensaje) ;
$web = limpiar($web) ;
$minichat = fopen("archivo.txt",a) ;
if($web == "" || $web == "Tu email o web") {
$nick = "<b><$nick></b>" ;
}
else {
if(eregi("^www.",$web)) { $web = "http://$web" ; }
if(eregi("^[0-9a-z_\-]+@[0-9a-z_\-\.]+[a-z]{2,3}$",$web)) { $web = "mailto:$web" ; }
$nick = "<a href=\"$web\"><$nick></a>" ;
}
fwrite($minichat,"\r\n$nick | $mensaje") ;
fclose($minichat) ;
}
?>
<html>
<head>
<title>chat</title>
<?
include("$estilo") ;
?>
<base target="_blank">
</head>
<body>
<br>
<br>
<div style="height: <?=$altura?> ; overflow: auto">
<?
// *** Mostrar los mensajes ***
$mensajes = file("archivo.txt") ;
$total = count($mensajes) ;
if($total < $mostrar || $mostrar == 0) {
$maximo = 0 ;
}
else {
$maximo = $total - $mostrar ;
}
while($total > $maximo) {
$total-- ;
list($nick,$mensaje) = explode(" | ",$mensajes[$total]) ;
if($codigo == "OFF") { $mensaje = htmlspecialchars($mensaje) ; }
if($censura == "ON") { $mensaje = censura($mensaje) ; }
if($antispam == "ON") { $mensaje = preg_replace("/(http:\/\/|www.)[^\s]+/i",$antispam_palabra,$mensaje) ; }
if($max_palabra > 0) {
$palabras = explode(" ",$mensaje) ;
$total_palabras = count($palabras) ;
for($a = 0 ; $a < $total_palabras ; $a++) {
if(strlen($palabras[$a]) > $max_palabra) { $palabras[$a] = chunk_split($palabras[$a],$max_palabra," ") ; }
}
$mensaje = implode($palabras," ") ;
}
if($caretos == "ON") { $mensaje = caretos($mensaje) ; }
if($total % 2) { $estilo_tabla = "mensaje1" ; } else { $estilo_tabla = "mensaje2" ; }
?>
<table width="100%" border="0" cellpadding="1" cellspacing="0" class="<?=$estilo_tabla?>">
<tr>
<td>
<?="$nick $mensaje"?>
</td>
</tr>
</table>
<div style="margin-top: 1"></div>
<?
}
?>
</div>
<script>
enviando = 0 ;
function limpiar(campo) {
if(campo.value=='Tu nick') { campo.value='' ; }
if(campo.value=='Tu mensaje') { campo.value='' ; }
if(campo.value=='Tu email o web') { campo.value='' ; }
}
function validar() {
if(formulario.nick.value == '' || formulario.nick.value == 'Tu nick') { alert('SI NO ESCRIVES UN NICK, NO PUEDES MOSTRARTE A LOS DEMÁS USUARIOS DEL CHAT DE TOKEWEB') ; return false ; }
if(formulario.mensaje.value == '' || formulario.mensaje.value == 'Tu mensaje') { alert('TIENES QUE ESCRIVIR UN MENSAJE PARA QUE LO LEAN LOS DEMÁS USUARIOS') ; return false ; }
if(enviando == 0) { enviando++ ; } else { alert('El mensaje se está enviando') ; return false ; }
}
</script>
<div align="center">
<form name="formulario" method="post" action="minichat.php" target="_self" onsubmit="return validar()">
Nick:
<input type="text" name="nick" size="10" maxlength="<?=$max_nick?>" value="" onfocus="limpiar(this)" class="formulario"><br>
Mensaje:
<input t ype="text" name="mensaje" size="20" maxlength="<?=$max_mensaje?>" value="" onfocus="limpiar(this)" class="formulario"><br>
<input type="submit" name="enviar" value="Enviar" class="formulario">
</form>
<br>
<div style="font-family: verdana ; font-size: 7pt">
<a href="pagina">xx</a>
</div>
</div>
</body>
</html>
Yo lo e intentado y lo unico que e conseguido es que me aparezca con un echo el nombre de la persona antes de enviar el nick y el mensaje para guardarlo en el archivo y luego cuando se muestra no me aparece nada mas que el mensaje.
Tendría que salir:
<Nombre del usuario>mensaje