Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Un checkbox no seleccionado no manda ningún valor como fácilmente puedes comprobar:

Código PHP:
<form method='get' action="">
<
input type="checkbox" name="tapiz">
<
input type="submit">
</
form
Verás que en la barra de direcciones del navegador sólo aparece

pagina.htm?

a diferencia de

pagina.htm?tapiz=on

cuando lo seleccionas.

No me preguntes por qué es así porque no lo sé. Es cosa del HTML y no de PHP.

Lo que tienes que hacer entonces es preguntar si existe la variable con la función isset.

Por cierto, cuando coloques código trata de poner sólo lo estrictamente necesario. En este caso hubiera bastado la parte de los checkboxes, lo demás sale sobrando y hace que la lectura sea más pesada.

// Saludos

Última edición por roman fecha: 03-09-2004 a las 06:43:41.
Responder Con Cita
  #2  
Antiguo 08-09-2004
Luis Abraham Luis Abraham is offline
Miembro
 
Registrado: oct 2003
Ubicación: Guadalajara, Jalisco, México
Posts: 16
Poder: 0
Luis Abraham Va por buen camino
Unhappy

Que tal foro !!!

A decir verdad jachguate no lo he podido resolver, he utilizado la función isset y las variables si existen pero el error no desaparece.

Lo que mas raro se me hace es por que no marca el error con el ejemplo del vinculo.

Intente cambiando de Off a On la directiva register_globals del php.ini pensando en que pudiera ser por ahi, pero obtube el mismo resultado, asi que si saben algo al respecto les agradecere su ayuda.

Bueno, muchas por los comentarios y si encuentro la solucion les avisare.
__________________
Saludos desde Guadalajara, Jalisco, México
Responder Con Cita
  #3  
Antiguo 08-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Al código que originalmente pusiste le agregué los isset()

Código PHP:
<?
  
echo "El method que ha usado fue: "$_SERVER ['REQUEST_METHOD'], "<br>"

  echo 
$_POST['nombre'], "<br>"
  echo 
$_POST['clave'], "<br>"

  if (isset(
$color)) echo $_POST['color'], "<br>"
  if (isset(
$acondicionado)) echo $_POST['acondicionado'], "<br>"
  if (isset(
$tapiceria)) echo $_POST['tapiceria'], "<br>"
  if (isset(
$llantas)) echo $_POST['llantas'], "<br>"

  echo 
$_POST['precio'], "<br>"
  echo 
$_POST['texto'], "<br>"
?>
y me funciona sin problemas.

Por cierto, no debe extrañarte que en el enlace que indicas sí funcione. A fin de cuentas, cuando ves esa página estás viendo ya el resultado y no el código original de php.

Y aún suponiendo que ahí tengan el código sin isset() es posible que hayan suprimido los mensajes de advertencia con error_reporting().

// Saludos
Responder Con Cita
  #4  
Antiguo 09-09-2004
Luis Abraham Luis Abraham is offline
Miembro
 
Registrado: oct 2003
Ubicación: Guadalajara, Jalisco, México
Posts: 16
Poder: 0
Luis Abraham Va por buen camino
Thumbs up

Funciona !!!!

Tu si sabes roman

Muchas gracias por la ayuda !!!
__________________
Saludos desde Guadalajara, Jalisco, México
Responder Con Cita
  #5  
Antiguo 09-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y qué era lo que estaba mal? ¿No sería que en lugar de


Código PHP:
isset($color
ponías

Código PHP:
isset('color'
?

// Saludos
Responder Con Cita
  #6  
Antiguo 09-09-2004
Luis Abraham Luis Abraham is offline
Miembro
 
Registrado: oct 2003
Ubicación: Guadalajara, Jalisco, México
Posts: 16
Poder: 0
Luis Abraham Va por buen camino
Smile

El código era el siguiente:

Código PHP:
echo  $_POST['color'],"<br>";
if (isset(
$color));
  echo 
"La variable si existe"
por lo tanto el error seguia apareciendo y el texto "La variable si existe" se imprimia siempre, pero acabo de ver que cometí un error muy tonto al poner ; al final del if() .

Pero a base de cometer errores tambien se aprende.

Muchas Gracias roman !!!
__________________
Saludos desde Guadalajara, Jalisco, México
Responder Con Cita
  #7  
Antiguo 09-09-2004
Luis Abraham Luis Abraham is offline
Miembro
 
Registrado: oct 2003
Ubicación: Guadalajara, Jalisco, México
Posts: 16
Poder: 0
Luis Abraham Va por buen camino
Unhappy

Sigue el problema !!!

Utilizando la funcion isset() como tu bien me recomendaste roman se evita que el error se produzca cuando los checkbox y radios estan desactivados, pero ahora resulta que cuando los activo tampoco muestra nada, es decir que hace exactamente lo mismo que cuando estan desactivados.

Por otro lado volviendo al codigo inicial en el cual no utilizo isset() no pasa esto, es decir que si los activo no se produce el error y si me imprime los valores de las variables.

¿Que es lo que esta mal? :S
__________________
Saludos desde Guadalajara, Jalisco, México
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:18:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi