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
