elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ¿ 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 2,027 veces)
Speeding

Desconectado Desconectado

Mensajes: 16


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

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
  1. <?
  2. $RemoteIP= $_SERVER['REMOTE_ADDR'];
  3.  
  4. if (($HTTP_GET_VARS) && ($RemoteIP == "127.0.0.1")){
  5.    $Online = $HTTP_GET_VARS["online"];
  6.    $Fnum = fopen("UsersOnline.txt", "w+");
  7.        fwrite($Fnum, $Online, 4);
  8.    fclose($Fnum);
  9.    echo "0K";
  10. }else{
  11.    $Fnum = fopen("UsersOnline.txt", "r");
  12.        $Online = fgets($Fnum, 4);
  13.        echo $Online;
  14.        fclose($Fnum);
  15. }
  16. ?>
[/spoiler]

Estado del servidor:
[spoiler]
Código
  1. <?
  2. $RemoteIP= $_SERVER['REMOTE_ADDR'];
  3.  
  4. if ($RemoteIP == "127.0.0.1"){
  5.    $LastConnection = time();
  6.    $Fnum = fopen("ServerState.txt", "w+");
  7.        fwrite($Fnum, $LastConnection);
  8.    fclose($Fnum);
  9.    echo "0K";
  10. }else{
  11.    $Now = time();
  12.    $Fnum = fopen("ServerState.txt", "r");
  13.        $LastConnection = fgets($Fnum);
  14.    fclose($Fnum);
  15.    if ($Now - $LastConnection < 180){
  16.        echo "Online";
  17.    }else{
  18.        echo "Offline";
  19.    }
  20. }
  21. ?>
[/spoiler]

Espero sus respuestas
Saludos ,P


En línea

a
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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 am por engelx » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Speeding

Desconectado Desconectado

Mensajes: 16


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

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.336

he vuelto :)


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

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.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



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

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

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Diferencia entre estos dos codes (ASM)
ASM
Riki_89D 3 3,941 Último mensaje 24 Octubre 2009, 19:08 pm
por YST
Estos voltajes están bien?
Hardware
loco965 3 2,674 Último mensaje 21 Diciembre 2011, 16:56 pm
por Aprendiz-Oscuro
La gente no sabe bien qué es YouTube Music y a cambio están poniéndole reseñas..
Noticias
wolfbcn 0 892 Último mensaje 23 Junio 2018, 01:47 am
por wolfbcn
Estos son los bulos y memes electorales más virales que te están colando en ...
Noticias
wolfbcn 0 4,178 Último mensaje 27 Abril 2019, 02:14 am
por wolfbcn
Estan los logs bien de FRST. EXE? Estan limpios?
Windows
win_7 0 1,875 Último mensaje 28 Diciembre 2020, 19:07 pm
por win_7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines