Pregunta:
Fecha: 17-08-2019 17:55:31
(En Español)
pero mis condicionales no funcionan
no funcionan las condicionales de mi fromulario [No resuelta]
funciona el submit antes me llevava a otra pagina lo solucione conheader ("location:../html/cont.php ");
pero mis condicionales no funcionan
<?php $enviado = ""; $errores = ""; if (isset($_POST["submit"])){ $nombre = $_POST["nombre"]; $apellido = $_POST["apellido"]; $telefono = $_POST ["telefono"]; $correo = $_POST["correo"]; $cotizacion = $_POST["cotizacion"]; if(!empty($nombre)){ $nombre = trim($nombre); $nombre = filter_var($nombre, FILTER_SANITIZE_STRING); }else{ $errores .= "Porfavor ingrese el Nombre <br/>"; } if(!empty($apellido)){ $apellido = trim($apellido); $apellido = filter_var($apellido, FILTER_SANITIZE_STRING); }else{ $errores .= "Porfavor ingrese el Apellido <br/>"; } if(!empty($telefono)){ $telefono = trim($telefono); $telefono = filter_var($telefono, FILTER_SANITIZE_STRING); }else{ $errores .= "Porfavor ingrese el Apellido <br/>"; } if(!empty($correo)){ $correo = filter_var($correo ,FILTER_SANITIZE_EMAIL); if(!filter_var($correo , FILTER_VALIDATE_EMAIL)){ $errores .= "Porfavor ingrese un Correo valido"; } }else{ $errores .= "Porfavor ingrese un Correo" ; } if (!empty($cotizacion)){ $cotizacion = htmlspecialchars($cotizacion); $cotizacion = trim($cotizacion); $cotizacion = stripslashes($cotizacion); }else{ $errores .= "Porfavor ingrese una cotizacion"; } if(!$errores){ $enviar_a = "renteriaemiliano2@gmail.com"; $asunto = "Correo enviado desde Tu clima y servicios.com"; $cotizacion_preparado = "De: $nombre \n"; $cotizacion_preparado .= "Apellido: $apellido \n"; $cotizacion_preparado .= "Correo: $correo \n"; $cotizacion_preparado .= "Telefono: $telefono /n"; $cotizacion_preparado .= "Cotizacion:$cotizacion /n" ; //mail($nombre, $apellido, $correo, $telefono, $cotizacion ); $enviado = true; } header ("location:../html/cont.php "); }
<div class="wrap"> <form action="../scripts/form.php" method="post" > <input type="text" class="form-control" name="nombre" placeholder="Nombre" value ="<?php if(!$enviado && isset($enviado)) echo $nombre ?>" > <input type="text" class="form-control" name="apellido" placeholder="Apellido" value ="<?php if(!$enviado && isset($enviado)) echo $apellido ?>" > <input type="text" class="form-control" name="telefono" placeholder="Telefono" value ="<?php if(!$enviado && isset($enviado)) echo $telefono ?>" > <input type="text" class="form-control" name="correo" placeholder="Correo" value ="<?php if(!$enviado && isset($enviado)) echo $correo ?>" > <textarea class="cot-text" id="Cotizacion" placeholder="Cotización" name="cotizacion"></textarea> <?php if (!empty($errores)):?> <div class="alert error"> <? echo $errores; ?> </div> <?php elseif ($enviar): ?> <div class="alert sucess"> <p>Enviado correctamente</p> </div> <?php endif ?> <input type="submit" class="btn btn-primario" value="Enviar Correo" name="submit" > </form> </div>Votos: 0 - Respuestas: 3 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 19-08-2019 13:18:18 Podrías decir cuál es el error que obtienes o qué es lo que no hace (y debería hacer). Lo que veo es que hay un formulario que procesa sus datos en form.php y de allí te redirige a cont.php. Lo primero que veo es que si hay algún error, no tienes donde mostrarlo ya que dejaste atrás el archivo con el formulario y, por otra parte, al saltar a cont.php también dejas atrás todo el procesamiento. Tal vez tienes alguna razón para hacerlo pero, por qué procesas el formulario en dos archivos diferentes (form.php y cont.php)? Votos: 1 - Link respuesta
-
Fecha: 23-08-2019 13:59:54 debería marcarme los errores del formulario al no ingresar o ingresar incorrectamente los datos .
me mandaba directamente a la pagina al form.php , como no tenia estructura html me salia en blanco agrege el header para que me mantuviera en esa pagina ya que no me manda a la otra,
aun asi no me marcaba los errores de formulario .
intente llamarlo desde mi código php poniéndolo asi como index" con require mandando llamar la pagina html
y en mi pagina html teniaaction= "<? php echo $_SERVER["PHP_SELF"] ?>"
y asi no me mandaba a otra pagina pero seguia sin marcarme errores del formulario Votos: 0 - Link respuesta -
Fecha: 26-08-2019 03:55:23 Todos esos condicionales (lineas 13 a 47) puedes evitarlas si marcas los campos de tu formulario como "requiered":
<input type=text name="nombre" required>
De esa manera no se envía el formulario a menos que esos campos no estén vacíos. Luego puedes validarlos todos (sin tanto condicional):
$nombre = filter_input(INPUT_POST, 'nombre');
El hecho de que te mande a otras páginas es porque tu lo pides cuando en el formulario colocas un valor para "action". Si no quieres que vaya a otra página y lo vas a procesar en la misma página, deja eso vacío:
<form action="" method="post" >
Y en tu otro archivo el brinco lo produce la línea que dice "header ("location:../html/cont.php ");" Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión