Foros del Web » Programando para Internet » PHP »

Ayuda en envío de formulario

Estas en el tema de Ayuda en envío de formulario en el foro de PHP en Foros del Web. Hola todos, ya he tenido al enviar datos por formularios pero en la última versión de PHP que toca recoger los datos $_GET o $_POST ...
  #1 (permalink)  
Antiguo 19/02/2004, 16:57
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
Ayuda en envío de formulario

Hola todos, ya he tenido al enviar datos por formularios pero en la última versión de PHP que toca recoger los datos $_GET o $_POST tengo problemas con carácteres especiales como ñ, y tildes. Que podrá ser?
__________________
"SJ
  #2 (permalink)  
Antiguo 19/02/2004, 20:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero que "problemas tienes"?

En principio .. en variables que propagues en URL's debes codificar el URL con:

urencode()

ejemplo
Código PHP:
echo "<a href=\"nose.php?variable=".urlencode($tuvariable)."\">ir a nose.php</a>"
En formularios .. en principio no has de codificar el URL .. todo depende del "char set" que uses .. Pero para ver la solución deberias especificar que tipo de formulario usas .. que datos envias y que es lo que recibes (y como pretendes recibirlo) en tu script.php de proceso de esas variables de tu formulario ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/02/2004, 01:26
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
el formulario es el siguiente

Código:
<form action="egres.php">
Nombres y Apellidos: <input name="nombre" maxlength="99"><br>
Fecha de Nacimiento: <input name="fechaN" value="dd-mm-aa" maxlength="8"><br>
Sexo: <select name="sexo"><option value="F">F<option value="M">M</select><br>
<input type="submit">
</form>
Las variables las proceso para luego insertarlas en DB Postgres así:

$nombre = $_GET["nombre"];
$fechaN = $_GET["fechaN"];
$sexo = $_GET["sexo"];

Esto funciona bien siempre y cuando en el campo nombre no se envíen ñ y tildes ya que por ejemplo cuando envío Alejandro Muñoz J al imprimir $nombre sale Alejandro Muñoz Jaramillo .
Me cambia la ñ por ñ. Ayudenme por favor.

Gracias
__________________
"SJ
  #4 (permalink)  
Antiguo 20/02/2004, 07:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero (para ir descartando) ..

Si tu haces echo $nombre . .y tu nombre contiene esas ñ .. etc .. como lo ves?

O esos caracteres son los que quedan en tu BD PostgreSQL?

Lo que es PostgreSQL .. dispone de la función:
pg_set_client_encoding() .. para elegir un juego de caracters concreto ..

Y la función:
pg_client_encoding() para ver el que está usando tu PostgreSQL

Revisalo y nos comentas ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 21/02/2004, 12:27
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
No no es problema del postgres porque yo pongo a imprimir $nombre antes de ingresarlo a la db
__________________
"SJ
  #6 (permalink)  
Antiguo 21/02/2004, 14:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues revisa la codificación que usas en tu php.ini o Apache incluso y hasta el navegador que uses ...

Por ejemplo .. PHP en su php.ini define:

; PHP's built-in default is text/html
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

Y Apache en su httpd.conf .. por la zona que aparecen:
AddCharset ....


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 21/02/2004, 23:18
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
Ese mismo problema también me ocurre en aspx y no se que hacer ya he mirado la codificación de texto, la pongo como dices en iso-8859-1 y no me soluciona nada. Será problema de mi navegador? uso ie 6 build 3790
__________________
"SJ
  #8 (permalink)  
Antiguo 22/02/2004, 19:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues revisalo también .. todo navegador (por lo menos los IE ..) tienen en su configuración "avanzada" el tema de que codificación van a usar ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 14:17.