Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/06/2006, 18:04
Avatar de kire
kire
 
Fecha de Ingreso: marzo-2005
Mensajes: 47
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Problema Con MiniChat

tengo un script que me funciona con localhost pero cuando lo subo a cualquier hosting me da error.



este es el codigo:

Código PHP:
<?
include("Config.php");
include(
"funciones.php");

# * Definir el nombre del archivo donde se guardarán los mensajes
define('m','kchat-mini.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 (J03L)¬_¬ 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>KChaT-Mini v1.0</title>
<link rel="stylesheet" type="text/css" href="<?=$estilo?>">
<base target="_blank">
<link href="estilo.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
 background-color: #cacaca;
}
.Estilo1 {color: #999999}
-->
</style></head>
<body>
<div style="height: <?=$altura?>px ; overflow: auto">
  <div align="center">
  <?
# * Mostrar los mensajes
$mensajes file(m) ;
$total count($mensajes) - ;
if(!
$mostrar || $total $mostrar) {
 
$maximo ;
}
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>&lt;$nick&gt;</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 $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 ;
?>
    <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>
</div>
<div align="center">
  <script type="text/javascript">
enviando = 0 ;
function limpiar(campo) {
 if(campo.value == 'Tu Nombre Aqui') campo.value = '' ;
 if(campo.value == 'Tu Mensaje Aqui') campo.value = '' ;
}
function validar() {
 if(formulario.nick.value == '' || formulario.nick.value == 'Tu Nombre Aqui') {
  alert('Debes escribir un nick') ;
  return false ;
 }
 if(formulario.mensaje.value == '' || formulario.mensaje.value == 'Tu Mensaje Aqui') {
  alert('Debes escribir un mensaje') ;
  return false ;
 }
 if(enviando == 0) {
  enviando++ ;
 }
 else {
  alert('El mensaje se está enviando.') ;
  return false ;
 }
}
</script>
  <div align="center"></div>
<form name="formulario" method="post" action="index.php?id=kchat" target="_self" onsubmit="return validar()">
  <div align="center">
  <p>Manda Tu mensaje Aqui Aiclid <br>
    <input type="text" name="nick" size="20" maxlength="<?=$max_nick?>" value="Tu Nombre Aqui" onfocus="limpiar(this)" class="formulario">
    <br>
    <input name="mensaje" type="text" class="formulario" onFocus="limpiar(this)" value="Tu Mensaje Aqui" size="30" maxlength="<?php $max_mensaje?>">
    <br>
    <input type="submit" name="enviar" value="Enviar" class="formulario">
  </p>
  </div>
</form>
<div align="center" class="formulario">
  Para Usar Emoticonos: <br>
  :D = <img src="caretos/alegre.gif" alt="alegre" width="15" height="15"> :P = <img src="caretos/burla.gif" alt="burla" width="15" height="15"> :? = <img src="caretos/duda.gif" alt="duda" width="15" height="15"> :lol = <img src="caretos/lol.gif" alt="lol" width="15" height="15"> :(2 = <img src="caretos/demonio2.gif" alt="demonio2" width="15" height="15"> :\ = <img src="caretos/llorar.gif" alt="llorar" width="15" height="15"> <br>
    :) = <img src="caretos/risa.gif" alt="risa" width="15" height="15"> :8 = <img src="caretos/asustado.gif" alt="asustado" width="15" height="15"> :-( = <img src="caretos/enojado.gif" alt="enojo" width="15" height="15"> :( = <img src="caretos/triste.gif" alt="tite" width="15" height="15">
    </p>
</div>
</div>
</body>
si alguien me puede ayudar seria de gran ayuda!
__________________
Buscando Razon De Ser :-D