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
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
Error al pasar variables

Que tal Foro !!!

Estoy comenzando con PHP (de nuevo) y me estoy apoyando con un tutorial del cual saco algunos ejemplos para probarlos yo mismo, pero al llegar a la parte de los formularios me tope con un error.
Estoy utilizando Apache 2.0.5 y PHP 5.0.1 y el codigo es como sigue:

Este es el código de mi Formulario.

Código:
<form action="Formul1.php" method="post" name="myform">
Escribe tu nombre: 
<input type = "text" name = "nombre" value = "" size = "15">
<br>
Escribe tu clave: <input type="password" name="clave" value = ""><br>
Elige tu color de coche favorito:<br>
<input type = "radio" name = "color" value = "Rojo">Rojo<br>
<input type = "radio" name = "color" value = "Verde">Verde<br>
<input type = "radio" name = "color" value = "Azul">Azul<br>
Elige los extras:<br>
<input type = "checkbox" name = "acondicionado" value = "Aire">Aire acondicionado<br>
<input type = "checkbox" name = "tapiceria" value = "Tapiceria">Tapiceria en piel<br>
<input type = "checkbox" name = "llantas" value = "Aluminio">Llantas de aluminio<br>
¿Cual es el precio máximo que estarías dispuesto a pagar?<br>
<select name = "precio">
  <option>6,001 - 8,000 euros</option>
  <option>8,001 - 10,000 euros</option>
  <option>10,001 - 12,000 euros</option>
  <option>12,001 - 14,000 euros</option>
  <option>M&aacute;s de 14,000 euros</option>
</select>
<br>
<textarea rows = "5" cols = "50" name = "texto"></textarea>
<input name="Submit" type = "submit" value = "Enviar">
<input name="Reset" type = "reset" value = "Borrar">
</form>
Y este el el código php de mi página donde cacho los valores.

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

  echo 
$_POST['nombre'], "<br>";
  echo 
$_POST['clave'], "<br>";
  echo 
$_POST['color'], "<br>";
  echo 
$_POST['acondicionado'], "<br>";
  echo 
$_POST['tapiceria'], "<br>";
  echo 
$_POST['llantas'], "<br>";
  echo 
$_POST['precio'], "<br>";
  echo 
$_POST['texto'], "<br>";
?>
El problema viene cuando dejo los checkbox desactivados, ya que obtengo el siguiente error por cada checkbok desactivado:

Notice: Undefined index: (acondicionado, tapiceria o llantas, segun sea el caso) in C:\Archivos de programa\Apache Group\Apache2\htdocs\Tutorial\Formul1.php on line Número de linea

Lo raro es que si dejo los text y el textarea en blanco no ocurre el error.

Hace ya casi 2 años que uticé PHP y no recuerdo que me haya sucedido esto, lo raro es que si ejecutamos el ejemplo desde el tutorial esto no ocurre, sino que simplemente no muestras nada y por si le quieren echar un ojo este es el link:

http://www.rinconastur.com/php/ejemplo9b.php

No si se deba a la nueva versión del PHP o a algún error de configuración que haya podido cometer.

Bueno, ya no les echo tanto rollo y les agradezco de antemano cualquier ayuda que me puedan brindar.
__________________
Saludos desde Guadalajara, Jalisco, México

Última edición por Luis Abraham fecha: 03-09-2004 a las 04:55:40.
Responder Con Cita
  #2  
Antiguo 03-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
A vista rápida, el código me parece correcto.

He seguido el vínculo que has dejado, y todo parece funcionar correctamente... como supongo que lo has solucionado ya, es importante que vuelvas aca y nos cuentes de que se trataba el problema, para que si alguien un día enfrenta una situación similar tenga este punto de partida.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
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
  #4  
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
  #5  
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
  #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
Thumbs up

Funciona !!!!

Tu si sabes roman

Muchas gracias por la ayuda !!!
__________________
Saludos desde Guadalajara, Jalisco, México
Responder Con Cita
  #7  
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
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 02:21:33.


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