Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2014, 19:19
Avatar de Asyut
Asyut
 
Fecha de Ingreso: febrero-2008
Mensajes: 18
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Problema con formulario de contacto con suma

Hola a todos y feliz año nuevo. Hace mucho que no pasaba por el foro. Tengo problemas de salud y a veces estoy tonta perdida. Tengo una web que hice estando ya mal y me colaron de todo a través de mi correo. Busque una posible solución y encontre un post que ofrecía un formulario con una suma. Me ha funcionado bien durante un tiempo, pero ahora me da problemas.

El post es este [URL="http://www.forosdelweb.com/f18/aporte-formulario-contactos-con-captcha-sencillo-649294/"]post[/URL]

Tengo un archivo formulario.php:

Código PHP:
<head>
Contenido del head
</head>

<body onload="MM_preloadImages('artistas2.jpg','movimientos2.jpg','estilos2.jpg','elementos2.jpg','musica2.jpg','vestuario2.jpg','beneficios2.jpg','formacion2.jpg','utilidades2.jpg','otros2.jpg','home2.png')">
<div id="Fondo">
  <div id="telefono">
    <center>
    </center>
  </div>
  <div id="Musica"><a href="index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('botonhome','','home2.png',1)"></a><a href="index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('botonhome','','home2.png',1)"><img src="home.png" alt="Inicio" name="botonhome" width="55" height="55" border="0" id="botonhome" /></a></div>
  
  <div id="Texto">
    <div align="center">
      <table width="100%" border="0" cellspacing="0">
        <tr>
          <td><p align="center"><b>Formulario de Contacto</b>
          <?php
// Creo los 2 numeros aleatorios
$num1 rand(1,9);
$num2 rand(1,9);
// Guardo los numero en una session para evitar se borren y luego sumarlos
// y compararlos con la respuesta en contactar.php
session_start();
$_SESSION['numero1'] = $num1;
$_SESSION['numero2'] = $num2;
?>
            <form name="form1" method="post" action="correo.php">
    <table width="100%" border="0" align="center" cellspacing="2" bordercolor="#660000" bgcolor="#EA6F84">
        <tr>
          <td><span class="Estilo9"></span></td>
          <td class="Estilo11">.</td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td><span class="Estilo9"></span></td>
        </tr>
        <tr>
          <td width="1%"><span class="Estilo9"></span></td>
            <td width="10%" class="Estilo9">NOMBRE</td>

            <td width="29%" class="Estilo9"><input name="nombre" type="text" title="Nombre" size="30"></td>
            <td width="2%" class="Estilo9">&nbsp;</td>
            <td width="28%" class="Estilo9">APELLIDO</td>
            <td width="29%" class="Estilo9"><input name="apellido" type="text" title="Apellido" size="30"></td>
            <td width="1%"><span class="Estilo9"></span></td>
        </tr>
        
        <tr>
          <td width="1%"><span class="Estilo9"></span></td>
            <td width="10%" class="Estilo9">PAIS</td>

            <td width="29%" class="Estilo9"><input name="edad" type="text" title="Pais de residencia" size="30"></td>
            <td width="2%" class="Estilo9">&nbsp;</td>
            <td width="28%" class="Estilo9">NOMBRE ART&Iacute;STICO</td>
            <td width="29%" class="Estilo9"><input name="mote" type="text" title="Nombre artístico o de tu grupo" size="30"></td>
            <td width="1%"><span class="Estilo9"></span></td>
        </tr>
        <tr>
          <td><span class="Estilo9"></span></td>
            <td class="Estilo9"> E-MAIL</td>
            <td class="Estilo9"><input type="text" title="Tu dirección de correo electrónico" size="30" name="email"></td>
            <td class="Estilo9">&nbsp;</td>
            <td class="Estilo9">WEB O BLOG </td>
            <td class="Estilo9"><input type="text" title="Dirección de tu web si tienes" size="30" name="web"></td>
            <td><span class="Estilo9"></span></td>
        </tr>
        <tr>
          <td rowspan="2"><span class="Estilo9"></span></td>
            <td rowspan="2" class="Estilo9">MENSAJE</td>
            <td rowspan="2" class="Estilo9">
              <textarea id="mensaje" onkeyup="val=this.value; if (val.length > 800) { alert('Lo siento, has sobrepasado el limite de 800 caracteres'); this.value = val.substring(0,800); }  this.form.count.value=800-parseInt(this.value.length); " name="mensaje" rows="4" wrap="PHYSICAL" cols="23"></textarea>            </td>
            <td rowspan="2" class="Estilo9">&nbsp;</td>
            <td class="Estilo9">Cuanto suma <b><?php echo ($num1);?> </b>m&aacute;s <strong><?php echo ($num2);?> </strong> ?</td>
            <td class="Estilo9"><input name="respuesta" type="text" id="respuesta" value="0" size="2" maxlength="2" /></td>
            <td rowspan="2"><span class="Estilo9"></span></td>
        </tr>
        <tr>
          <td class="Estilo9"><div align="center">
              CARACTERES DISPONIBLES<br />
              <input name="count" disabled="disabled" value="800" size="5" />
            </div></td>
          <td class="Estilo9"><p align="right">
              <input name="submit" type="submit" title="Pulsa una vez para enviar el mensaje, y espera a la pantalla de confirmaci&oacute;n" value="Enviar" />
            </p>              </td>
        </tr>
        <tr>
          <td><span class="Estilo9"></span></td>
          <td class="Estilo11">.</td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td class="Estilo9"></td>
          <td><span class="Estilo9"></span></td>
        </tr>
    </table>
    </form></p></td>
        </tr>
      </table></p>
    </div>
  </div>
<div id="Pie"></div>
<div id="Menu1">contenido del menu1</div>
<div id="Menu2">contenido menu2</div>
</div>

</body>

</html>
y otro archivo correo.php:

Código PHP:
<?php
// Llamo los 2 numeros aleatorios creados con la session anteriormente en contactos.php
session_start();
$num1=$_SESSION['numero1']; 
$num2=$_SESSION['numero2']; 
// hago la suma de los 2 numeros aleatorios
$sumval $num1 $num2;
// Llamo la respuesta dada por el usuario a la pregunta de la suma de 2 numeros aleatorios
$numval=$HTTP_POST_VARS['respuesta']; 
// Hago la comparacion de la suma con la respuesta dada por el usuario
if ($sumval == $numval)
{
    
// Si es correcta hago el envio de correo por PHP
    // email para envio
    
$para  '[email protected]';
    
// cabeceras del mensaje
    
$cabeceras 'To: Mi Correo No.1 <[email protected]>' "\r\n";
    
$cabeceras .= 'From: Mi Correo No.2 <[email protected]>' "\r\n";
    
$cabeceras .= 'Cc: Mi Correo No.3 <[email protected]>' "\r\n";
    
$cabeceras .= 'Bcc: Mi Correo No.4 <[email protected]>';
    
// asunto del mensaje
    
$asunto 'Mensaje desde web asyut';
    
// cuerpo del mensaje
    
$mensaje ='Contactos Pagina Web' "\n\n";
    
$mensaje .='Fecha (Dia/Mes/Año): --> ' .date('d/m/Y') . "\n";
    
$mensaje .='Hora (Hora:Minutos:Segundos): --> ' .date('h:i:s A') . "\n\n";
    
$mensaje .='Datos del Contacto' "\n\n";
    
// Llamo los campos digitados en el formulario con $HTTP_POST_VARS['nombre del campo']
    
$mensaje .='Nombre : ' $HTTP_POST_VARS['nombre'] . "\n";
    
$mensaje .='Apellido : ' $HTTP_POST_VARS['apellido'] . "\n";
    
$mensaje .='Nombre artistico : ' $HTTP_POST_VARS['mote'] . "\n";
    
$mensaje .='Pais : ' $HTTP_POST_VARS['pais'] . "\n";
    
$mensaje .='Web : ' $HTTP_POST_VARS['web'] . "\n";
    
$mensaje .='E-mail : ' $HTTP_POST_VARS['email'] . "\n";
    
$mensaje .='Mensaje : ' $HTTP_POST_VARS['mensaje'] . "\n\n";
    
$mensaje .='Email ejecutado desde la Pagina Web ';
    
// Envio del mensaje con la funcion Mail de PHP
    
mail ($para$asunto$mensaje$cabeceras);
    
// Muestro en una ventana el mensaje de envio exitoso y redireccion a la pagina principal
    
echo('<script language="JavaScript" >');
    echo(
'alert("El mensaje fue enviado correctamente");');
    echo(
'location.replace("http://www.miweb.com")');
    echo(
'</script>');

else
{
    
// Muestro en una ventana el mensaje NO envio y redireccion a la pagina principal
    
echo('<script language="JavaScript" >');
    echo(
'alert("El mensaje NO fue enviado, compruebe la respuesta Anti-Spam");');
    echo(
'location.replace("http://www.miweb.com")');
    echo(
'</script>');
}
?>
El problema que tengo es que unas veces me sale que el mensaje no se ha enviado y otras me envía el mensaje 4 veces pero los campos con los datos me los envía vacios.

Alguién sería tan amable de ayudarme por favor, he hecho un montón de cambios pero no doy con el problema. Os ruego una explicación sencilla porque estoy que no me da la cabeza para nada.

Muchas gracias.

Última edición por Asyut; 02/01/2014 a las 19:27