Foros del Web » Programando para Internet » PHP »

Problema "formulario"

Estas en el tema de Problema "formulario" en el foro de PHP en Foros del Web. Hola a tod@s, soy nuevo por aquí y tengo una duda. Estoy haciendo un proyecto (una especie de quiniela). Tengo un formulario en mi sevidor ...
  #1 (permalink)  
Antiguo 20/12/2008, 06:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema "formulario"

Hola a tod@s, soy nuevo por aquí y tengo una duda. Estoy haciendo un proyecto (una especie de quiniela).
Tengo un formulario en mi sevidor (000webhost.com) y los campos son los siguientes:
Equipo 1 - Equipo 2 (tengo de ejemplo Madrid- Barça), email y nombre. El codigo es el siguiente:
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Quiniela</title>


</head>


<body>

<div style="text-align: left;">
<form method="post" action="enviar.php" name="quiniela1">R Madrid- Barcelona &nbsp;
&nbsp;&nbsp; &nbsp;1&nbsp;<input name="partido1[]" value="1" type="checkbox"> &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;X&nbsp; <input name="partido1[]" value="X" type="checkbox"> &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; 2 <input name="partido1[]" value="2" type="checkbox"><br>

  <br>

Mail: <input name="mail" type="text"> <br>

Nombre: <input name="nombre" type="text"> <br>

  <br>

  <button name="enviar"></button><button name="restablecer" type="reset"></button></form>

</div>

</body>
</html> 
Y luego tengo el archivo "enviar.php".
Código PHP:
<?php
$partido1
[] = $_POST['partido1'];
$mail $_POST ['mail'];
$nombre $_POST ['nombre'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre "  y sus apuestas son " $partido1 "\r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para 'micorreo@'algo.com; / aqui iria mi correo
$asunto 
'prueba quiniela';

mail($para$asunto$header$mensaje);

echo 
'Gracias por apostar';

?>
Bueno, os cuento mi problema:
Se envia, llega a mi correo, pero me llega esto:

Código:
Este mensaje fue enviado por 'nombre que puse' y sus apuestas son Array / el problema
Su e-mail es: 'email que puse' 
Enviado el 20/12/2008
Ya veréis, en vez de salirme lo que aposté, me sale "Array". No se a que se debe el problema, haber si me podéis ayudar.

Saludos, y muchas gracias.
  #2 (permalink)  
Antiguo 20/12/2008, 07:34
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema "formulario"

Lo que recibes en el enviar.php es un array de los valores introducidos en los input, ya que así lo especificas en el formulario al colocarle el mismo nombre y llaves cuadradas. Si necesitas imprimir todos los valores, podrías hacer un ciclo que concatene los valores al texto, o simplemente imprimir uno al lado del otro.

Ejemplo:
Código PHP:
$mensaje "Este mensaje fue enviado por " $nombre "  y sus apuestas son " $partido1[0]." ".$partido1[1]." ".$partido1[2] . "\r\n"
Pero te recomiendo el ciclo, ya que solo recibirás la cantidad de valores que seleccionaste, no los 3 siempre.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 20/12/2008, 07:47
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema "formulario"

Buenas the_web_saint, gracias por tu respuesta. Cambio la linea, pero me sigue saliendo igual en mi correo, sale Array. No se si me he explicado bien antes, pero lo que me gustaria hacer es que cuando el usuario marque, por ejemplo, el "1", en mi correo me salga:
Este mensaje fue enviado por "su nombre" y sus apuestas son 1.
Y si selecciona el dos, pues que en vez de poner 1, ponga un 2.
Saludos.
  #4 (permalink)  
Antiguo 20/12/2008, 07:50
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema "formulario"

Pero si solo debe seleccionar uno de los dos valores, porque no usas radiobotones en vez de ckeckbox, asi les colocas el mismo nombre sin corchetes, hay solo deberá seleccionar uno de los dos.
Para que le colocas el mismo nombre al input ckeckbox del centro?? el que tienes value X ?

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 20/12/2008, 07:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problema "formulario"

Voy a probar con radiobotones. El que tiene value X es el "empate", en una quiniela hay 1 (gana el equipo local), X (empate) y 2 (gana el equipo visitante).
Gracias y saludos.
EDITO
He cambiado los checkboxes por radiobotones y me va a la perfección. Muchas gracias the_web_saint.
Saludos, y ya pueden cerrar el tema.

Última edición por Gend; 20/12/2008 a las 08:08
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 20:08.