Avatar Image
Come y duerme en el foro
Come y duerme en el foro

Me descargue de una página, un chat, el chat esta compuesto por un par de archivos, uno de ellos es minichat.php. Lo subi a mi web y cuando lo ejecuto me aparece esto: Parse error: parse error, unexpected '<' in /home/webcindario/lacasaweb/chat/minichat/minichat.php on line 15

Lo revise y siembargo sigue, aqui les dejo el script, ¿Tiene algún error?

<iframe src="https://lacasaweb.webcindario.com/chat/minichat/minichat.php" width="150" height="250" frameborder="0" scrolling="no"></iframe>
<head>
<script>
<iframe src="https://lacasaweb.webcindario.com/chat/minichat/minichat.php" width="150" height="250" frameborder="0" scrolling="no"></iframe>
<?
#*****************************
#*** MiniChat v1.5 ***
#*** Creado por: Electros ***
#*** Web: www.electros.net ***
#*****************************

#*********************
#*** Configuración ***
#*********************
<iframe src="https://lacasaweb.webcindario.com/chat/minichat/minichat.php" width="150" height="250" frameborder="0" scrolling="no"></iframe>
# Mensajes a mostrar (0 para mostrar todos)
$mostrar = 30 ;
# Maximo de caracteres por nick
$max_nick = 20 ;
# Maximo de caracteres por web
$max_web = 50 ;
# Maximo de caracteres por mensaje
$max_mensaje = 200 ;
# 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 = 30 ;
# ¿Mostrar caretos en los mensajes? (SI / NO)
$caretos = 'SI' ;
# ¿Mostrar fecha en los mensajes? (SI / NO)
$fecha_mensajes = 'SI' ;
# ¿Mostrar IP en los mensajes? (SI / NO)
$ip_mensajes = 'NO' ;
# Estilo (archivo que contiene el estilo del minichat, tipo de letra, tamaño, color, fondo, étc.)
$estilo = 'estilo.css' ;
# ¿Activar filtro Anti-SPAM? (para evitar el envío excesivo de direcciones webs, busca cualquier
# dirección web contenida en el mensaje y mostrará el aviso indicado) (SI / NO)
$antispam = 'SI' ;
# Aviso que se mostrará cuando alguien realice SPAM (sólo si el filtro Anti-SPAM está activado)
$antispam_aviso = '<i>SPAM</i>' ;
# ¿Censurar palabras altisonantes? (SI / NO)
$censura = 'NO' ;
# Permitir código HTML (se recomienda que esté desactivado) (SI / NO)
$codigo = 'NO' ;
# Altura de la tabla de mensajes (cuando los mensajes mostrados rebasan la altura marcada
# aparece una barra de desplazamiento)
$altura = 125 ;
# ¿Mostrar enlace hacia la web del autor? (SI / NO)
$enlace = 'SI' ;

# ***********************************
# *** Fin de configuración básica ***
# ***********************************

# Lo que sigue modifícalo bajo tu propia responsabilidad.

# *** Caretos ***
function caretos($texto) {
# --> Inicio caretos
$lista_caretos = array(
':D' => 'alegre.gif',
':P' => 'burla.gif',
':(1' => 'demonio.gif',
':?' => 'duda.gif',
';)' => 'guino.gif',
':lol' => 'lol.gif',
':|' => 'neutral.gif',
':-)' => 'sonrisa.gif',
':O' => 'sorprendido.gif',
':8' => 'asustado.gif',
':S' => 'confundido.gif',
':(2' => 'demonio2.gif',
':-(' => 'enojado.gif',
':\'(' => 'llorar.gif',
':M' => 'moda.gif',
':)' => 'risa.gif',
':R' => 'sonrojado.gif',
':(' => 'triste.gif'
) ;
# --> Fin caretos
foreach($lista_caretos as $a => $b) $texto = str_replace($a,'<img src="caretos/'.$b.'" width="15" height="15" alt="Careto" align="top">',$texto) ;
return $texto ;
}

# *** Palabras censuradas ***
function censura($texto) {
# --> Inicio palabras
$lista_censura = array(
'insulto1' => 'puto',
'insulto2' => 'pija',
'insulto3' => 'puta'
) ;
# --> Fin palabras
foreach($lista_censura as $a => $b) $texto = str_replace($a,$b,$texto) ;
return $texto ;
}

#*******************************
#*** Fin de la configuración ***
#*******************************

# * Definir el nombre del archivo donde se guardarán los mensajes
define('m',minichat.txt') ;

# * Comprobar si existe el archivo y si se puede escribir en él
if(file_exists(m)) {
if(!is_writable(m)) exit('El archivo <b>'.m.'</b> debe tener el permiso CHMOD 666.') ;
}
else {
# Se intenta crear el archivo, si no se avisa al usuario
if(!@fopen(m,'w')) exit('El directorio del MiniChat debe tener el permiso CHMOD 777.') ;
}

# * Guardar mensaje
if(isset($_POST['enviar'])) {
function quitar_etiq($a) {
$a = preg_replace('/<.*>/iU','',$a) ;
return $a ;
}
function quitar($a) {
$a = trim($a) ;
if(get_magic_quotes_gpc()) $a = stripslashes($a) ;
# Se elimina el separador de datos en caso de que alquien malintencionado lo inserte
$a = str_replace('|','',$a) ;
# Se elimina el caractér especial ASCII 160 (es un espacio en blanco que no puede ser eliminado por trim())
$a = str_replace(chr(160),'',$a) ;
$a = htmlspecialchars($a) ;
return $a ;
}
$nick = quitar(quitar_etiq($_POST['nick'])) ;
$web = quitar(quitar_etiq($_POST['web'])) ;
$mensaje = quitar($_POST['mensaje']) ;
# * Se comprueba que los datos no excedan las longitudes fijadas en la configuración
switch(true) {
case strlen($nick) > $max_nick :
$error = 'El nick no debe ser mayor de '.$max_nick.' caractéres.' ;
break ;
case strlen($web) > $max_web :
$error = 'El email o web no debe ser mayor de '.$max_web.' caractéres.' ;
break ;
case strlen($mensaje) > $max_mensaje :
$error = 'El mensaje no debe ser mayor de '.$max_mensaje.' caractéres.' ;
break ;
case !$nick || $nick == 'Tu nick' :
$error = 'Debes escribir un nick.' ;
break ;
case !$mensaje || $mensaje == 'Tu mensaje' :
$error = 'Debes escribir un mensaje.' ;
break ;
default:
if($web && $web != 'Email o web (opcional)') {
if(eregi('^www.',$web)) $web = 'http://'.$web ;
}
else $web = false ;
}
if(isset($error)) exit($error) ;
$meses = array('','Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic') ;
$fecha = date('d').' '.$meses[date('n')].' '.date('Y').' '.date('h:i A') ;
$archivo = fopen(m,'a') ;
fwrite($archivo,"$nick | $web | $mensaje | $fecha | $_SERVER[REMOTE_ADDR]\n") ;
fclose($archivo) ;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MiniChat v1.5</title>
<link rel="stylesheet" type="text/css" href="<?=$estilo?>">
<base target="_blank">
</head>
<body>
<div style="height: <?=$altura?>px ; overflow: auto">
<?
# * Mostrar los mensajes
$mensajes = file(m) ;
$total = count($mensajes) - 1 ;
if(!$mostrar || $total < $mostrar) {
$maximo = 0 ;
}
else {
$maximo = $total - $mostrar ;
}
?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<?
for($i = $total ; $i >= $maximo ; $i--) {
# Se obtienen todos los datos partiendo cada línea del archivo mediante el separador " | "
list($nick,$web,$mensaje,$fecha,$ip) = explode(' | ',$mensajes[$i]) ;
# Se aplican las funciones según la configuración
if($codigo == 'SI') $mensaje = html_entity_decode($mensaje) ;
if($censura == 'SI') {
$nick = censura($nick) ;
$web = censura($web) ;
$mensaje = censura($mensaje) ;
}
if($antispam == 'SI') $mensaje = preg_replace('/(http:\/\/|www.)[^\s]+/i',$antispam_aviso,$mensaje) ;
# Si el usuario escribió un email o web, se crea el enlace correspondiente dentro del nick
if(!$web) $nick = '<b><'.$nick.'></b>' ;
else {
if(eregi('^[0-9a-z_.-]+@[0-9a-z_.-]+[a-z]{2,3}$',$web)) $web = 'mailto:'.$web ;
$nick = "<a href=\"$web\"><b><$nick></b></a>" ;
}
# Se cortan las palabras que excedan la longitud máxima por palabra
if(strlen($mensaje) > $max_palabra) {
$palabras = explode(' ',$mensaje) ;
$total_palabras = count($palabras) ;
for($a = 0 ; $a < $total_palabras ; $a++) {
if(strlen($palabras[$a]) > $max_palabra) $palabras[$a] = wordwrap($palabras[$a],$max_palabra,' ',1) ;
}
$mensaje = implode($palabras,' ') ;
}
if($caretos == 'SI') $mensaje = caretos($mensaje) ;
$n = $i % 2 ? 1 : 2 ;
?>
<tr>
<td class="mensaje<?=$n?>">
<?=$nick.' '.$mensaje?>
<?
if($fecha_mensajes == 'SI') echo '<div class="fecha">'.$fecha.'</div>' ;
if($ip_mensajes == 'SI') echo '<div class="ip">'.$ip.'</div>' ;
?>
</td>
</tr>
<?
}
?>
</table>
</div>
<script type="text/javascript">
enviando = 0 ;
function limpiar(campo) {
if(campo.value == 'Tu nick') campo.value = '' ;
if(campo.value == 'Email o web (opcional)') campo.value = '' ;
if(campo.value == 'Tu mensaje') campo.value = '' ;
}
function validar() {
if(formulario.nick.value == '' || formulario.nick.value == 'Tu nick') {
alert('Debes escribir un nick') ;
return false ;
}
if(formulario.mensaje.value == '' || formulario.mensaje.value == 'Tu mensaje') {
alert('Debes escribir un mensaje') ;
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()">
<input type="text" name="nick" size="15" maxlength="<?=$max_nick?>" value="Tu nick" onfocus="limpiar(this)" class="formulario"><br>
<input type="text" name="web" size="22" maxlength="<?=$max_web?>" value="Email o web (opcional)" onfocus="limpiar(this)" class="formulario"><br>
<input type="text" name="mensaje" size="22" maxlength="<?=$max_mensaje?>" value="Tu mensaje" onfocus="limpiar(this)" class="formulario"><br>
<input type="submit" name="enviar" value="Enviar" class="formulario">
</form>
<? if($enlace == 'SI') echo '<center><a href="http://www.electros.net">MiniChat v1.5</a></center>' ; ?>
</div>
</body>
</html>
</head>
</script>

Salu2

Avatar Image
Usuario habitual
Usuario habitual

Es complicado corregir el código, en principio, te dice que te falta un simbolo < en la linea 15. Yo no he visto nada, en cambio lo que me ralla es lo que te subrayo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MiniChat v1.5</title>
<link rel="stylesheet" type="text/css" href="<?=$estilo?>">
<base target="_blank">
</head>
<body>
<div style="height: <?=$altura?>px ; overflow: auto">

abre <? =$altura ??? no entiendo esto, igual le falta algo.

De todas formas, si continua el error, vuelve a cargar el archivo original, que no creo que tenga fallos.

Un saludo.

Avatar Image
User 390661
@man / @woman
@man / @woman

Quita esto de la línea 15}
<iframe src="https://lacasaweb.webcindario.com/chat/minichat/minichat.php" width="150" height="250" frameborder="0" scrolling="no"></iframe>
tira error porque no puedes meter etiquetas html en el php así como así

<?=$altura?> eso hace lo mismo que <?php echo $altura; ?>

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

ahora devuelta Ardiendo con Parse error: parse error, unexpected T_STRING in /home/webcindario/lacasaweb/chat/minichat/minichat.php on line 63

Avatar Image
User 390661
@man / @woman
@man / @woman

busca esta linea
# * Definir el nombre del archivo donde se guardarán los mensajes
define('m',minichat.txt') ;

se escribe así
define('m','minichat.txt');

ya no debería dar problemas

Avatar Image
Come y duerme en el foro
Come y duerme en el foro

ANDA!FlashFlashSonrisa todo este quilombo fue por un '!! Gracias!!.

Salu2Flash

Avatar Image
Usuario Novato
Usuario Novato

wenas a todos;
germangerman, pos no se si podes ayudarme, o podes brindarme lso files qusaste para hacer el chat en php.

Avatar Image
Usuario Novato
Usuario Novato

Hola todosGiño yo descargue la versión 1.5 y no tiene ningún error está en esta página http://www.paws.tk en la parte que dice chat ahí está el ejemplo para que vean la prueba de que no hay que modificarle nada del código.Vacilando

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 08/Mar/2012, 23:52
franciskiko_20 NoSetup.org22kMar/12
Por: , el 09/Jun/2010, 20:52
luck_rx NoSetup.org12kJun/10
Por: , el 07/Feb/2009, 00:43
hh809 NoSetup.org12kFeb/09
Por: , el 22/Ene/2009, 06:03
albertocordoba Caos.X Alvaro_brub22kJan/09
Por: , el 02/Jun/2006, 04:24
germangerman NoSetup.org inigoruiz85kJun/06