Foros del Web » Programando para Internet » PHP »

Problema Con MiniChat

Estas en el tema de Problema Con MiniChat en el foro de PHP en Foros del Web. 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: <? ...
  #1 (permalink)  
Antiguo 30/06/2006, 18:04
Avatar de kire  
Fecha de Ingreso: marzo-2005
Mensajes: 47
Antigüedad: 19 años
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
  #2 (permalink)  
Antiguo 30/06/2006, 18:28
 
Fecha de Ingreso: mayo-2006
Ubicación: Argentina (Buenos Aires,CABALLITO)
Mensajes: 331
Antigüedad: 17 años, 11 meses
Puntos: 9
que error te pasa cuando lo subis a tu hosting?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.