Foros del Web » Programando para Internet » PHP »

Problema para pasar tildes a codigo html con PHP

Estas en el tema de Problema para pasar tildes a codigo html con PHP en el foro de PHP en Foros del Web. Tengan un buen día, yo quiero hacer un formulario para poder ingresar datos a una base de datos mysql pero antes de ello quiero pasar ...
  #1 (permalink)  
Antiguo 26/08/2007, 00:26
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 7 meses
Puntos: 0
Problema para pasar tildes a codigo html con PHP

Tengan un buen día, yo quiero hacer un formulario para poder ingresar datos a una base de datos mysql pero antes de ello quiero pasar los caracteres especiales tales como tildes, comillas, simbolos de > y <, a sus respectivos códigos html (ej.: í pasarlo a &iacute; ) y he hecho una sencilla aplicacion en la cual mando un dato de un textbox de un form a un script que se supone que deberia pasarlo a código html, de la siguiente forma:

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8_spanish_ci" />
<title>Meter dato</title>
</head>

<body>
<form action="meter.php" method="get">
<input name="texto" type="text" />

<input name="mandar" type="submit" value="Mandar dato" />


</form>
</body>
</html> 
Aqui esta el codigo PHP (meter.php)

Código PHP:
<?

            
echo $HTTP_GET_VARS["texto"] . '<br />';
            
$dato htmlentities($HTTP_POST_VARS["texto"],ENT_QUOTES,"UTF-8");

            echo 
$dato '<br />';
            

?>

Digamos, si coloco en el textbox la cadena jajilé , primero lo imprime normal, con primera linea de codigo, luego donde utilizo la instruccion htmlentities para pasar los caracteres especiales a sus entidades html, y luego imprimir el resultado en la siguiente linea, no imprime nada, y no entiendo porque, espero que puedan ayudarme.
  #2 (permalink)  
Antiguo 26/08/2007, 07:52
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Re: Problema para pasar tildes a codigo html con PHP

Estas usando post en el htmlentities y estas mandando por get :S

echo $HTTP_GET_VARS["texto"] . '<br />';
$dato = htmlentities($HTTP_POST_VARS["texto"],ENT_QUOTES,"UTF-8");
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 26/08/2007, 10:54
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema para pasar tildes a codigo html con PHP

$HTTP_GET_VARS, $HTTP_POST_VARS, y otros arrays de este tipo van quedando obsoletos. En la documentación oficial de PHP nos piden migrar a $_GET, $_POST, etc... Los conocidos arrays superglobales

Solo un comentario

Un saludo,
  #4 (permalink)  
Antiguo 27/08/2007, 21:49
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema para pasar tildes a codigo html con PHP

Bueno, tienen razon, es que si habia cometido el error, pero no me di cuenta que solo lo habia corregido en la primera línea donde imprimo el valor que me mandan, no me fije que aun tenia el mismo error en la segunda, gracias y lamento equivocarme en algo tan insignificante, aunque tengo una duda, acerca de eso que dice okram que esas instrucciones $HTTP_GET/POST_VARS son obsoletas, es que yo vi en un curso de PHP que decian que esas, a pesar de ser mas largas en escritura, son mas efectivas. Es cierto eso?
  #5 (permalink)  
Antiguo 27/08/2007, 22:12
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema para pasar tildes a codigo html con PHP

Cita:
Iniciado por PHP.net
Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_VARS.
Una matriz asociativa de variables pasadas al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_POST; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_VARS.

$HTTP_POST_VARS contiene la misma información inicial, pero no es autoglobal. (Note que $HTTP_POST_VARS y $_POST son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces éstas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_POST y $HTTP_POST_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son autoglobales.
Son variables antiguas, que debieron usarse en versiones anteriores a la 4.1. La version 4 de PHP ya quedo obsoleta, por lo tanto deberas usar $_POST. Lo mismo para $_GET. Las variables $HTTP_*_VARS aun funcionan, pero con el tiempo pueden quedar obsoletas y ser eliminadas, por lo que es mejor que uses los globales ($_*)

Un saludo,

Última edición por okram; 28/08/2007 a las 08:06
  #6 (permalink)  
Antiguo 27/08/2007, 23:03
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema para pasar tildes a codigo html con PHP

OK, te agradezco mucho por el comentario.
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 21:32.