Foros del Web » Programando para Internet » PHP »

Problema con formulario de contacto

Estas en el tema de Problema con formulario de contacto en el foro de PHP en Foros del Web. Hola, muy buenos dias, El problema que tengo es que al meter mas script del del formulario de contacto en mi pagina web me saca ...
  #1 (permalink)  
Antiguo 16/04/2013, 09:33
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema con formulario de contacto

Hola, muy buenos dias,

El problema que tengo es que al meter mas script del del formulario de contacto en mi pagina web me saca en pantalla todos los campos del formulario mas " mensaje enviado" cosa que tendria que sacar ese mensaje solo cuando le as dado al boton aceptar del formulario, a validado y a enviado.

Aparte cuando sale el texto "mensaje enviado" en pantalla y le das a enviar da un error " NOT FOUND, The requested URL /< was not found on this server"

Podria estar aqui la linea a mejorar ??

Código:
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validar();">
Gracias de antemano, Un Saludo

Última edición por pitas; 16/04/2013 a las 09:45 Razón: Añadir mas info
  #2 (permalink)  
Antiguo 16/04/2013, 09:45
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con formulario de contacto

Deberias de poner el codigo que te da problemas(el formulario y script php) por que con esa linea que publicas no nos dice nada
__________________
Recursos para diseñadores
lacatedradeboris.com
  #3 (permalink)  
Antiguo 16/04/2013, 10:00
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Ahi va mi codigo del formulario

Código:
<?php
if (!isset($_POST['email'])) {
?>


  <script type="text/javascript">

function validar()
{

var verificar = true;
var x = document.getElementById("CasillaVer")
if(x.checked){
   alert('Valida');
  return true;
   

}
else alert('Debes aceptar la politica de privacidad');
 return false;

}



  </script>


<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validar();">

    <label>
      Nombre:
      <input name="nombre" type="text" id="nombre" />
    </label>
    <label>
      <br>
      <br>
      Teléfono:
<input name="telefono" type="text" id="telefono" />
<br>
<br>
    </label>
    <label>
      Email:
      <input name="email" type="text" id="email" />
      <br>
      <br>
    </label>
    <label>
      Mensaje:
      <textarea name="mensaje" cols="50" rows="6" id="mensaje"></textarea>
    <br>
    <br>
    <a href="http://www.mipagina.es" target="_blank">Acepte las politicas de privacidad      </a> <span id="sprycheckbox1"><span class="checkboxRequiredMsg">. </span></span>
    <input type="checkbox" name="CasillaVer" id="CasillaVer" />
    <br>
<br>
    </label>
    <input type="submit" value="Enviar" />
    <input type="reset" value="Borrar" />      
    
</form>
<?php
}else{
  $mensaje="Mensaje del formulario de contacto de mipagina";
  $mensaje.= "\nNombre: ". $_POST['nombre'];
  $mensaje.= "\nEmail: ".$_POST['email'];
  $mensaje.= "\nTelefono: ". $_POST['telefono'];
  $mensaje.= "\nMensaje: \n".$_POST['mensaje'];
  $destino= "[email protected]";
  $remitente = $_POST['email'];
  $asunto = "Mensaje enviado por: ".$_POST['nombre'];
  mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
  <p><strong>Mensaje enviado.</strong></p>
<?php
}
?>
Saludos
  #4 (permalink)  
Antiguo 16/04/2013, 11:06
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: Problema con formulario de contacto

Deberias tener algo como esto en la funcion mail()

Código PHP:
Ver original
  1. if(mail($destino,$asunto,$mensaje,"FROM: $remitente")):
  2.     echo "enviado";
  3. else:
  4.    echo "Error";
  5. endif;
__________________
Recursos para diseñadores
lacatedradeboris.com
  #5 (permalink)  
Antiguo 16/04/2013, 12:48
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

He puesto lo que me has comentado, y no aparecia el mensaje enviado pero me seguia dando el " NOT FOUND ..... " al darle a enviar.

He cambiado esto
Código:
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validar();">
por esto

Código:
<form action=" /Inicio.html " method="post" onsubmit="return validar();">
y no me da el error " NOT FOUND.... "

pero no me llega a mi correo el mensaje.

Un Saludo y Gracias por el interes
  #6 (permalink)  
Antiguo 17/04/2013, 12:02
 
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Por que no lo modificas, para que el formulario se active solamente si le das click en ENVIAR ?

Algo como:

Código PHP:
<?php
if (isset ($_POST['enviar'])) {
?>

Y nombras a tu boton de esta forma:

<input type="submit" value="Enviar" name="enviar" />
  #7 (permalink)  
Antiguo 03/05/2013, 05:35
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Nada, sigo sin encontrar una solucion! Gracias de todos modos , sigo investigando!
  #8 (permalink)  
Antiguo 03/05/2013, 13:35
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Problema con formulario de contacto

Cita:
y no me da el error " NOT FOUND.... "

pero no me llega a mi correo el mensaje.
Pregunto, en algun momento recibiste el mensaje en tu correo??
  #9 (permalink)  
Antiguo 04/05/2013, 18:15
Idteames
Invitado
 
Mensajes: n/a
Puntos:
Busqueda Respuesta: Problema con formulario de contacto

Lo que tienes que hacer es parecido a lo que dijo HackGhost.

Debes hacer:
Código PHP:
<?php
if (isset ($_POST['enviar'])) {
    
$mensaje="Mensaje del formulario de contacto de mipagina";
  
$mensaje.= "\nNombre: "$_POST['nombre'];
  
$mensaje.= "\nEmail: ".$_POST['email'];
  
$mensaje.= "\nTelefono: "$_POST['telefono'];
  
$mensaje.= "\nMensaje: \n".$_POST['mensaje'];
  
$destino"[email protected]";
  
$remitente $_POST['email'];
  
$asunto "Mensaje enviado por: ".$_POST['nombre'];
  
mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
 <p><strong>Mensaje enviado.</strong></p>
<?php
 
}else{
   
?>
  <script type="text/javascript">

function validar()
{

var verificar = true;
var x = document.getElementById("CasillaVer")
if(x.checked){
   alert('Valida');
  return true;
   

}
else alert('Debes aceptar la politica de privacidad');
 return false;

}



  </script>


<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validar();">

    <label>
      Nombre:
      <input name="nombre" type="text" id="nombre" />
    </label>
    <label>
      <br>
      <br>
      Teléfono:
<input name="telefono" type="text" id="telefono" />
<br>
<br>
    </label>
    <label>
      Email:
      <input name="email" type="text" id="email" />
      <br>
      <br>
    </label>
    <label>
      Mensaje:
      <textarea name="mensaje" cols="50" rows="6" id="mensaje"></textarea>
    <br>
    <br>
    <a href="http://www.mipagina.es" target="_blank">Acepte las politicas de privacidad      </a> <span id="sprycheckbox1"><span class="checkboxRequiredMsg">. </span></span>
    <input type="checkbox" name="CasillaVer" id="CasillaVer" />
    <br>
<br>
    </label>
    <input type="submit" value="Enviar" name="enviar" />
    <input type="reset" value="Borrar" />      
    
</form>
}
Lo que hace simplemente es si manda el email, te sale el mensaje de enviado, si no, te carga el formulario otra vez.

Creo que esta bien asi, al menos me funciona de esa manera. Pruebalo tu y me comentas
  #10 (permalink)  
Antiguo 16/05/2013, 10:10
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Cita:
Iniciado por Idteames Ver Mensaje
Lo que tienes que hacer es parecido a lo que dijo HackGhost.

Debes hacer:
Código PHP:
<?php
if (isset ($_POST['enviar'])) {
    
$mensaje="Mensaje del formulario de contacto de mipagina";
  
$mensaje.= "\nNombre: "$_POST['nombre'];
  
$mensaje.= "\nEmail: ".$_POST['email'];
  
$mensaje.= "\nTelefono: "$_POST['telefono'];
  
$mensaje.= "\nMensaje: \n".$_POST['mensaje'];
  
$destino"[email protected]";
  
$remitente $_POST['email'];
  
$asunto "Mensaje enviado por: ".$_POST['nombre'];
  
mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
 <p><strong>Mensaje enviado.</strong></p>
<?php
 
}else{
   
?>
  <script type="text/javascript">

function validar()
{

var verificar = true;
var x = document.getElementById("CasillaVer")
if(x.checked){
   alert('Valida');
  return true;
   

}
else alert('Debes aceptar la politica de privacidad');
 return false;

}



  </script>


<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validar();">

    <label>
      Nombre:
      <input name="nombre" type="text" id="nombre" />
    </label>
    <label>
      <br>
      <br>
      Teléfono:
<input name="telefono" type="text" id="telefono" />
<br>
<br>
    </label>
    <label>
      Email:
      <input name="email" type="text" id="email" />
      <br>
      <br>
    </label>
    <label>
      Mensaje:
      <textarea name="mensaje" cols="50" rows="6" id="mensaje"></textarea>
    <br>
    <br>
    <a href="http://www.mipagina.es" target="_blank">Acepte las politicas de privacidad      </a> <span id="sprycheckbox1"><span class="checkboxRequiredMsg">. </span></span>
    <input type="checkbox" name="CasillaVer" id="CasillaVer" />
    <br>
<br>
    </label>
    <input type="submit" value="Enviar" name="enviar" />
    <input type="reset" value="Borrar" />      
    
</form>
}
Lo que hace simplemente es si manda el email, te sale el mensaje de enviado, si no, te carga el formulario otra vez.

Creo que esta bien asi, al menos me funciona de esa manera. Pruebalo tu y me comentas
Parece que entra en conflicto con los otros scripts de la pagina y sale esto :





P.D. Sin otros scripts en la pagina, va bien y recibo bien a mi correo.

Saludoss Y Gracias
  #11 (permalink)  
Antiguo 20/05/2013, 02:50
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Help!! Me tiene en vilo!
  #12 (permalink)  
Antiguo 21/05/2013, 10:23
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Problema con formulario de contacto

Cita:
Iniciado por pitas Ver Mensaje
Help!! Me tiene en vilo!
Tu error es simple, el archivo de contacto es un html sin duda debes leer mas de php

Si quieres ejecutar codigo php debes hacerlo en un script php no en un .html
  #13 (permalink)  
Antiguo 21/05/2013, 10:29
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Problema con formulario de contacto

Cita:
Iniciado por pitas Ver Mensaje
Help!! Me tiene en vilo!
Tu error es simple, el archivo de contacto es un html sin duda debes leer mas de php

Si quieres ejecutar codigo php debes hacerlo en un script php no en un ,html
  #14 (permalink)  
Antiguo 07/06/2013, 05:32
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Dudo que sea ese el fallo, de lo contrario porque cuando no hay ningun script mas en la pagina , el formulario funciona correctamente?

Aparte , el archivo yo entiendo que es php , otra cosa puediera ser el continente del archivo php.
  #15 (permalink)  
Antiguo 07/06/2013, 05:54
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: Problema con formulario de contacto

Como bien te dice alex1084, tu problema es que tienes la extensión .html y no .php
Un .html no te va a procesar el código php, a no ser que lo tengas habilitado en el PHP.INI en el servidor, y esto salvo raras ocasiones no lo esta.

De echo si miras el código fuente que te devuelve tu página
Código HTML:
<div>&nbsp;<?php
if (isset ($_POST['enviar'])) {
    $mensaje="Mensaje del formulario de contacto de mipagina";
  $mensaje.= "\nNombre: ". $_POST['nombre'];
  $mensaje.= "\nEmail: ".$_POST['email'];
  $mensaje.= "\nTelefono: ". $_POST['telefono'];
  $mensaje.= "\nMensaje: \n".$_POST['mensaje'];
  $destino= "[email protected]";
  $remitente = $_POST['email'];
  $asunto = "Mensaje enviado por: ".$_POST['nombre'];
  mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
 <p><strong>Mensaje enviado.</strong></p>
<?php
 }else{
   ?>
  <script type="text/javascript"> 
Se puede ver claramente que no lo procesa.

Vale "trasteando" por tu página web, puedo ver que tienes 2 versiones de los archivos, una con la version .html y otra con .php.
Consejo: Cuando hagas cambios tan grandes como cambiar de extensión los archivos, procura eliminar todo lo del servidor antes de subirlo de nuevo, para que no se queden 2 cosas juntas que pueden darte fallos.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Última edición por bookmaster; 07/06/2013 a las 06:06
  #16 (permalink)  
Antiguo 07/06/2013, 08:06
Avatar de wizanchez  
Fecha de Ingreso: junio-2013
Ubicación: bogota
Mensajes: 120
Antigüedad: 10 años, 10 meses
Puntos: 6
Respuesta: Problema con formulario de contacto

- te recomeinto que tengas en un arhicvo php
- si el formulario lo tenes en un .php, no tiens la necesidad de colocar la propiedad de $_SERVER['PHP_SELF'], porque lo vas a enviar al mismo arichivo

- ahora si te das cuenta en la imagen que subiste de no found, en la url aparece este codigo php y es ovio que no lo va a reconocer.

- si finalmente entra a la funcion de correo, pero no lo envia mira las siguiente observaciones
- que no este en la carpeta de no deseado.(para esto hay muchas librerias que hacen un buen trabajo)
- verifica que tu dominio o hosting no esten en las listas negras de spam,
- evita enviar correos masivo porque te ponen en listas negra de una
__________________
---------
cubesoftechnology.com
Wizanchez,,
  #17 (permalink)  
Antiguo 07/06/2013, 08:55
 
Fecha de Ingreso: junio-2008
Mensajes: 47
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con formulario de contacto

Ok, probare a eliminar los archivos .html aver que sucede. Gracias

Etiquetas: contacto, formulario
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 03:17.