Foros del Web » Programando para Internet » PHP »

Problema con checbox en php

Estas en el tema de Problema con checbox en php en el foro de PHP en Foros del Web. Hola tengo este form http://www.andesperu.com/c-solicitud.htm , tengo un problema al pasarlo a php, todas las casilla les puse el mismo nombre "tour" y le puse ...
  #1 (permalink)  
Antiguo 30/07/2009, 17:31
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Problema con checbox en php

Hola tengo este form http://www.andesperu.com/c-solicitud.htm , tengo un problema al pasarlo a php, todas las casilla les puse el mismo nombre "tour" y le puse un valor distinto para que cuando me llegue el mensaje si han activado uno me llegue el valor de esa casilla pero no lo hace se cuelga. Mi php esta muy bien, este es el código
Cita:
<?
$email_principal = '[email protected]';
$email_secundarios = '[email protected]';
$eol="\r\n";

session_start();
error_reporting(0);
include("class/captchaZDR.php");

$capt = new captchaZDR;
$wrong_captcha = '';

if(isset($_REQUEST['Submit']) and $capt->check_result()){
$message_send = "Mensaje desde la página\n\n
Nombre: ".$_REQUEST['Nombre']." \n
País: ".$_REQUEST['Pais']." \n
Teléfono: ".$_REQUEST['Telefono']." \n
E-mail: ".$_REQUEST['Correo']." \n
Sexo: ".$_REQUEST['Sexo']." \n
Edad: ".$_REQUEST['Edad']." \n
Permanencia: ".$_REQUEST['Permanencia']." \n
Fecha: ".$_REQUEST['Fecha']." \n
Nos encontro en: ".$_REQUEST['Encontro']." \n
Comentarios: ".$_REQUEST['Comentarios']." \n
Info: ".$_REQUEST['Pagina']." \n
Tour: ".$_REQUEST['tour']." \n";

$headers .= 'From: '.$_REQUEST['Nombre'].'<'.$_REQUEST['Correo'].'>'.$eol;
$headers .= "CC: ".$email_secundarios.$eol;
$headers .= "Reply-To: ".$mail."".$eol;
$headers .= "Return-Path: ".$mail."".$eol;
$headers .= "Message-ID: <".time()."-".$para.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-type: text/html; charset=iso-8859-1;".$eol.$eol;

if(mail($email_principal, 'SOLICITUD DE INFORMACION ANDES PERU' , $message_send, $headers))
header ("Location: http://www.andesperu.com/c-gracias.html");
else
echo '<div style="color: red"><strong>Hubo un problema en el mensaje. Por favor, inténtelo de nuevo. Gracias.</strong></div>';
}

else{if(isset($_REQUEST['Submit']) and (!$capt->check_result()) )
echo '<div style="color: red"><b>Intente de nuevo. Actualizar:</b><a href="#" onclick="write_captcha();"><img src="imagenes/refresh.gif" border="0" alt="" /></a></div>';
}
?>
Deseo conservar el mismo formato antes usaba FormNewMail, y no necesitaba declarar las casillas todas como lo tengo que hacer en php, alguna sugerencia
  #2 (permalink)  
Antiguo 30/07/2009, 17:42
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Problema con checbox en php

Hola , unas sugerencias , para que usas request si podes usar POST o GET.

Por otro lado probaste de desactivar la inclusión de la clase captacha , por otro lado elimina la linea error_reporting(0); asi visualizamos un error por lo menos y por otro lado session_start(); debe ir debajo de la etiqueta <?php , aunque en realidad debe ir antes de cualquier salida html , pero por comidad y para que todo quede igual, ponla ahi.

Saludos
  #3 (permalink)  
Antiguo 30/07/2009, 20:34
Avatar de ok2000  
Fecha de Ingreso: julio-2006
Mensajes: 5
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Problema con checbox en php

Para el envío de datos por formulario es recomendable el método POST - para su lectura $variable=$_POST[campo_del_form] - que en cierta medida evita la inyección de código.

Ahora bien, estos datos podrían llegar diferentes a los que se esperan por muchas razones; una validación “fallida”, nombre incorrecto del objeto de form u otros. Para descartar esto como el origen de un error y teniendo en cuenta que POST es una matriz asociativa, así se podrá verificar rápidamente el contenido de un formulario:

<pre> <?PHP print_r($_POST); ?> </pre> (el pre es para que se vea bonito)
  #4 (permalink)  
Antiguo 30/07/2009, 20:44
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Problema con checbox en php

Cita:
Iniciado por ok2000 Ver Mensaje
Para el envío de datos por formulario es recomendable el método POST - para su lectura $variable=$_POST[campo_del_form] - que en cierta medida evita la inyección de código.

Ahora bien, estos datos podrían llegar diferentes a los que se esperan por muchas razones; una validación “fallida”, nombre incorrecto del objeto de form u otros. Para descartar esto como el origen de un error y teniendo en cuenta que POST es una matriz asociativa, así se podrá verificar rápidamente el contenido de un formulario:

<pre> <?PHP print_r($_POST); ?> </pre> (el pre es para que se vea bonito)

Ok200 , como estás? quisiera corregirte algo que es un bug grande como el bicho que paso recien por debajo de mi cama , ningun metodo ni POST ni GET evita la inyección de codigo , de hecho todas las aplicaciónes web reciben datos por estas vias y son vulnerables en su gran mayoria , tiene un concepto muy erroneo o yo te entendi mal , pero si entendi bien vuelve la manual y busca información sobre sql injection.

por otro lado para evitar errores que lleguen los datos mal hay que validar , no mostrar en pantalla , eso es en la etapa de debug :).

Saludos!
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 17:08.