elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:14  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  ¿ Estan bien estos codes ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿ Estan bien estos codes ?  (Leído 506 veces)
Speeding

Desconectado Desconectado

Mensajes: 13


Ver Perfil
¿ Estan bien estos codes ?
« en: 2 Julio 2011, 08:17 »

Wenaaz
Con los pocos conocimientos de PHP que tengo arme esto. Los dos son funcionales pero quiero saber si se podrian mejorar o si hay alguna recomendacion que me puedan dar.
Los hice para mi servidor de juegos.
Para poder tener esa informacion no solo en el cliente, sino tambien en la web.

Usuarios Online:
[spoiler]
Código
<?
$RemoteIP= $_SERVER['REMOTE_ADDR'];
 
if (($HTTP_GET_VARS) && ($RemoteIP == "127.0.0.1")){
   $Online = $HTTP_GET_VARS["online"];
   $Fnum = fopen("UsersOnline.txt", "w+");
       fwrite($Fnum, $Online, 4);
   fclose($Fnum);
   echo "0K";
}else{
   $Fnum = fopen("UsersOnline.txt", "r");
       $Online = fgets($Fnum, 4);
       echo $Online;
       fclose($Fnum);
}
?>
[/spoiler]

Estado del servidor:
[spoiler]
Código
<?
$RemoteIP= $_SERVER['REMOTE_ADDR'];
 
if ($RemoteIP == "127.0.0.1"){
   $LastConnection = time();
   $Fnum = fopen("ServerState.txt", "w+");
       fwrite($Fnum, $LastConnection);
   fclose($Fnum);
   echo "0K";
}else{
   $Now = time();
   $Fnum = fopen("ServerState.txt", "r");
       $LastConnection = fgets($Fnum);
   fclose($Fnum);
   if ($Now - $LastConnection < 180){
       echo "Online";
   }else{
       echo "Offline";
   }
}
?>
[/spoiler]

Espero sus respuestas
Saludos ,P


En línea

a
engelx

Desconectado Desconectado

Mensajes: 152


Ver Perfil
Re: ¿ Estan bien estos codes ?
« Respuesta #1 en: 2 Julio 2011, 08:42 »

realmente me parece mas aaconsejagle el uso de $_GET[] que $HTTP_GET_VARS

en el if deberias usar un isset($HTTP_GET_VARS) ya que si no está definida (es decir si no se pasaron valores) eso te producirá un error (y se supone que estás evaluando justo eso)

definición de isset()
Citar
Determina si una variable está definida y no es NULL.

no se para que verificas si la estan llamando de 127.0.0.1 :s asi solo el localhost podrá entrar

si quieres llevar un registro lo que sea que estás metiendo en "online" w+ no es el método mas indicado, ya que cada vez que lo llaman te estás tirando el fichero y borrando todo, en tal caso podrias usar "a"

en el caso del server igual pero al guardar ya que no le estás indicando una longitud, deberías agregarle un salto de linea (\n) para que fgets no tome todo (fgets toma el contenido linea por linea, si no hay saltos de linea, toda es una gran sola linea)

por cierto te recomiendo mucho el aprendizaje de mysql, no es para nada complicado y es mas rápido y simple que buscar en ficheros de texto plano


« Última modificación: 2 Julio 2011, 08:45 por engelx » En línea
Speeding

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: ¿ Estan bien estos codes ?
« Respuesta #2 en: 2 Julio 2011, 14:00 »

Gracias por responder!
En cuanto a la verficacion de la IP, esta es 127.0.0.1, porque estoy haciendo todos los testeos en mi pc. Ahi iria la IP del hosting que contrate para mi servidor.
En ambos casos, lo puse para que si es el server quien accede al archivo, sea para actualizar los datos. En caso contrario (un usuario) los muestre.

Uso el "w+" por lo siguiente:
Cada X minutos, mi servidor conecta con el script, y actualiza la cantidad de usuarios que estan jugando para poder mostrarlo en la web.

Y lo mismo en el indicador de estado del servidor.
Si la ip es del servidor, guardo el tiempo.
Si no lo es, calculo el tiempo qe paso entre la ultima conexion del servidor, y el actual.
Si supera los 3 minutos (Si mi juego esta online no tendria que pasar) devuelvo como que el server esta offline.

Saludos :P



En línea

a
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.334

he vuelto :)


Ver Perfil WWW
Re: ¿ Estan bien estos codes ?
« Respuesta #3 en: 2 Julio 2011, 16:54 »

de hecho $_GET siempre está definida, lo ideal sería probar si el array no esta vacío con empty()
En línea

Ojo por ojo, y el mundo acabará ciego.
engelx

Desconectado Desconectado

Mensajes: 152


Ver Perfil
Re: ¿ Estan bien estos codes ?
« Respuesta #4 en: 2 Julio 2011, 19:04 »

Nakp: tienes razón! :s sorry el que no está definido son los espacios internos del $_GET[] ($_GET["algo"])
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
estan bien los frames?
Desarrollo Web
coolfrog 1 281 Último mensaje 14 Julio 2005, 11:55
por IlogicZ
Donde estan estos logs?
Hacking Básico
securedigital 4 503 Último mensaje 1 Agosto 2005, 20:04
por oRTNZ
Para parchear prism gt duette estos pasos estan bien.
Hacking Wireless
ghostgoblins 0 467 Último mensaje 18 Abril 2007, 13:33
por ghostgoblins
Diferencia entre estos dos codes (ASM)
ASM
Riki_89D 3 2,065 Último mensaje 24 Octubre 2009, 19:08
por YST
Estos voltajes están bien?
Hardware
loco965 3 608 Último mensaje 21 Diciembre 2011, 16:56
por Aprendiz-Oscuro
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines