Cita: 1. Poder detectar el pais del visitante, sin utilizar JAVASCRIPT en lo posible (Ya que todos los codigos de Java que probe al momento no funcionaron).
¿Se puede tomar esta informacion desde el cliente del visitante por medio de PHP?
(Esto resolveria la seleccion de la banderita correspondiente al pais del visitante)
Tanto por PHP como por Javscript .. lo que peudes ver es el "idioma" configurado para el navegador de turno que conecte con tus scritps PHP (que los pida de tu servidor .. )
Esa información como veras no es muy relevante para decidir el "pais" de procedencia ..
Lo que se hace en esos casos es ver por IP a que pais corresponde tal IP grácias a que las "IP's" no se otorgan de forma "aleatoria" y sin sentido sino que hay un organismo que las regula y a cada proveedor de acceso a internet .. le asigna un grupo de IP's quedando registrado datos como de que pais es tal ISP.
Esto lo implementarías en PHP accediento a las Base de datos de "IP-to-country". Esto no son "servidores" en principio .. sino que por otro lado consigues esas BD actualizadas y de ahí las usas con scripts como:
http://www.phpclasses.org/browse/package/1477.html
(ahí tienes un link donde conseguirlas .. )
Cita: 2. Mostrar correctamente la fecha:
Mi servidor esta en ARGENTINA, por tanto si hago un DATE obtengo la fecha en ARGENTINA. Hay una pequeña diferencia horaria entre este pais y otros como ESPAÑA, por ende un pequeño margen de error en la funcion.
¿Se puede hacer un DATE que me de la fecha de otro pais teniendo en cuenta las horas de diferencia?
Puedes usar la función mktime() ó mktimegmt() (para generar una fecha partiendo de tu fecha origen y añadiendo tu diferencia horaria) + date() (para darle formato)
Como con la otras técnicas vas a obtener el "pais" de procedencia de la conexión que use el usuario que abre tu página/script PHP, .. ya podrás hacer tu relación "pais" -> "diferencia horaria" para entregar la hora de su país.
Un saludo,