Foros del Web » Programando para Internet » PHP »

php y javascript

Estas en el tema de php y javascript en el foro de PHP en Foros del Web. Me pasa una cosa curiosa. Quiero introducir la url que he clickeado en una base de datos. Lo hago de la siguiente manera: Código: <?php ...
  #1 (permalink)  
Antiguo 05/12/2005, 19:48
 
Fecha de Ingreso: diciembre-2005
Mensajes: 18
Antigüedad: 12 años
Puntos: 0
php y javascript

Me pasa una cosa curiosa.
Quiero introducir la url que he clickeado en una base de datos.
Lo hago de la siguiente manera:

Código:
<?php
$urls= '<script>document.write(document.referrer)</script>';
$fecha=date("Y-m-d");
$hora = date(" H:i",time());
$db=mysql_pconnect('localhost','nobody');
if(!$db){echo 'no existe la base';
}
mysql_select_db('DB');
$query="insert into tabla values('','$fecha','$hora','$urls')";
$result=mysql_query($query);
if($result)
mysql_affected_rows();
?>
pero la variable $urls recoge e introduce en el campo esto:
<script>document.write(document.referrer)</script>
en lugar de la url que he clickeado.


Sin Embargo escribo el siguiente codigo de prueba:

Código:
<?

$urls= '<script>document.write(document.referrer)</script>';
echo $urls;

?>
aqui si que aparece la url que he clickeado.

¿Porque no la recoge también antes para introducirla en la base de datos?..

Espero haberme explicado.

Gracias y saludos.
  #2 (permalink)  
Antiguo 05/12/2005, 19:55
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Javascript se procesa en el navegador, php del lado del servidor. Para php '<script>document.write(document.referrer)</script>' es una simple cadena y la va a tratar como tal. Para pasar datos desde javascript a php podés hacerlo a través de la url (HTTP GET).

Peeeeeero, en tu caso puntual estás buscando el referer, no? ese dato se encuentra en la variable superglobal $_SERVER['HTTP_REFERER']:

Código PHP:
<?php
$urls
$_SERVER['HTTP_REFERER'];
$fecha=date("Y-m-d");
$hora date(" H:i",time());
$db=mysql_pconnect('localhost','nobody');
if(!
$db){echo 'no existe la base';
}
mysql_select_db('DB');
$query="insert into tabla values('','$fecha','$hora','$urls')";
$result=mysql_query($query);
if(
$result)
mysql_affected_rows();
?>
Voilá!

Cita:
Sin Embargo escribo el siguiente codigo de prueba:
En ese caso php imprime <script>document.write(document.referrer)</script> y el navegador interpreta el script, por lo que muestra el referer, pero php nunca tuvo acceso a ese dato directamente (si te fijás el código fuente de la página, aparece el script y no la url real).

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #3 (permalink)  
Antiguo 06/12/2005, 03:24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 18
Antigüedad: 12 años
Puntos: 0
thunder.scripts Ahora va fantastico.

Vaya despiste, jeje, es cierto javascript lo descifra el navegador y no el servidor.

De veras , gracias por la ayuda.
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 23:02.