Autor
|
Tema: Ayuda con validacion de formulario PHP (Leído 6,152 veces)
|
oscarj24
Desconectado
Mensajes: 65
|
Hola, tengo el siguiente script que envia la informacion de un formulario y un upload de imagen a la base de datos. El problema es que si en el formulario deshabilito el javascript, las validaciones dejan de funcionar y por eso en el archivo php debo realizar las validaciones del servidor. Como veran, en mi codigo estan las condificiones usando "empty" pero, al subirlo al servidor y deshabilitar el javascript, cuando doy click a Enviar se envia todo asi no haya ningun dato. Soy nuevo en php asi que no me critiquen mucho, ahi les va el codigo y espero su ayuda con la validacion, gracias de antemano <?php if (isset($_POST['enviar'])){ $sql = "SELECT MAX(ID) FROM inscripciones"; $max_id = $row[0]+1; $nombres=trim($_POST['nombres']); $apellidos=trim($_POST['apellidos']); $DNI_CarneExtranjeria=trim($_POST['DNI_CarneExtranjeria']); $tipo_persona=trim($_POST['tipo_persona']); $empresa=trim($_POST['empresa']); $cargo=trim($_POST['cargo']); $direccion=trim($_POST['direccion']); $telefono_fijo=trim($_POST['telefono_fijo']); $telefono_celular=trim($_POST['telefono_celular']); $tipo_combrobante=trim($_POST['tipo_comprobante']); $razon_social=trim($_POST['razon_social']); $RUC=trim($_POST['RUC']); $_FILES['voucher']['name'] = $max_id."_".$_FILES['voucher']['name']; $upload_dir = '/home/netline/public_html/inscripciones/vouchers/'; $extension = $_FILES['voucher']['type']; $size = $_FILES['voucher']['size']; $upload_file = $upload_dir.($_FILES['voucher']['name']); $voucher_nombre_db = $_FILES['voucher']['name']; if(empty($nombres) && empty($apellidos) && empty($DNI_CarneExtranjeria) && ($tipo_persona == 'Dependiente' && (empty($empresa) || empty($cargo) || empty($direccion))) &&(empty($telefono_fijo) || empty($telefono_celular)) && ($tipo_comprobante == 'Factura' && (empty($razon_social) || empty($RUC))) && empty($voucher_nombre_db) && $extension != 'image/jpeg' && $size > 204801){ echo '<html> <head> <title>Titulo web</title> <META http-equiv="refresh" content="6; url=http://www.dominio.com/inscripciones/inscripcion.php"> </head> <body> <p>Debe completar todos los datos obligatorios y adjuntar una imagen con extension .JPG y de 200KB de tamaño maximo.</p> </body> </html>'; }else{ mysql_query("INSERT INTO inscripciones(Nombres,Apellidos,DNI_CarneExtranjeria,Tipo_Persona,Empresa,Cargo,Direccion,Telefono_Fijo,Telefono_Celular,Tipo_Comprobante,Razon_Social,RUC,Nombre_Voucher) VALUES('$nombres','$apellidos','$DNI_CarneExtranjeria','$tipo_persona','$empresa','$cargo','$direccion','$telefono_fijo','$telefono_celular','$tipo_comprobante','$razon_social','$RUC','$voucher_nombre_db')",$link); echo '<html> <head> <title>Titulo web</title> <META http-equiv="refresh" content="6; url=http://www.dominio.com/inscripciones/inscripcion.php"> </head> <body> <p>Registro exitoso.</p> </body> </html>'; } } ?>
|
|
|
En línea
|
|
|
|
Shell Root
|
Tienes varías formas. Mirad. if(!isset($_GET['strCadena'])){ echo "<b>Con isset:</b> Esta vacio <br>"; } if(empty($_GET['strCadena'])){ echo "<b>Con empty:</b> Esta vacio <br>"; } if($_GET['strCadena'] == ''){ echo "<b>Con '':</b> Esta vacio <br>"; } if($_GET['strCadena'] == null){ echo "<b>Con null:</b> Esta vacio <br>"; } if(strlen($_GET['strCadena']) == 0){ echo "<b>Con strlen:</b> Esta vacio <br>"; }
Hasta con Expresiones Regulares lo podes hacer.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
if (isset($_POST['enviar'])){
Si estas definida el if se ejecuta y si no, falla el if... Yo prefiero usar empty...Quedaria asi: if(!empty($_POST['enviar'])){
Hay verifico si contiene algun valor, si contiene algun valor se ejecuta el if.... Cuidado con esto $_POST['enviar'] , porque te puede dar true siempre... Ejemplo: <?php if(isset($_POST['enviar'])){ echo 'Se ah enviado el formulario'; echo "<br>El valor de enviar es ".$_POST['enviar']; echo "1 = true, 0 = false"; } ?> <form name="form" action="ej.php" method="POST"> Nombre<br> <input name="nombre" type="text"> <br> <input name="enviar" type="submit" value="Enviar"> </form>
Salida: Se ah enviado el formulario El valor de enviar es Enviar1 = true, 0 = false Siempre que presiones enviar, siempre contendrá un valor verdadero, así que tienes que comprobar los otros campos para verificar si contienen algún valor... Muestra el source entero, ya que tampoco veo el formulario en el source que posteaste.... Saludos.
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
oscarj24
Desconectado
Mensajes: 65
|
Despues pondre el formulario, una pregunta... siempre se usa el metodo $GET para las validaciones?
|
|
|
En línea
|
|
|
|
Shell Root
|
What the fuck? Podes usar $_GET[] o $_POST[] o creo que hasta con las mismas $_SESSION[]
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
GET y POST son metodos de envio HTTP, si no sabes lo que haces siempre tendras problemas...
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
oscarj24
Desconectado
Mensajes: 65
|
eso ya lo tengo claro, lo que sucede es que en mi ejemplo yo tengo almacenadas las variables de esta forma:
$nombres = trim($_POST['nombres']);
y en las validaciones...
if(empty[$nombres])... && todo lo demas
VI TU EJEMPLO SOBRE LAS VALIDACIONES CON GET Y ES OBVIO QUE SE DEBERIAN REEMPLAZAR POR POST EN ESTE CASO PERO COMO VERAS, NO ME RESULTA USANDO POST, POR ESO HICE LA PREGUNTA.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
VI TU EJEMPLO SOBRE LAS VALIDACIONES CON GET Y ES OBVIO QUE SE DEBERIAN REEMPLAZAR POR POST EN ESTE CASO PERO COMO VERAS, NO ME RESULTA USANDO POST, POR ESO HICE LA PREGUNTA.
Pareciera como si estuvieras gritando es raro, como dice mi buen amigo shellroot, funciona con GET, POST, SESSION, Server y hasta con alguno que te inventes (aka variables) Fijate primero si en post te esta llegando algo Imprime un print_r($_POST), a lo mejor no te llega nada y quieres validar? WTF aunque si te muestra los datos que envias, algo estas haciendo mal
|
|
|
En línea
|
|
|
|
oscarj24
Desconectado
Mensajes: 65
|
no era la intencion que pareciera que gritara pero en fin, los valores de las variables si me llegan a la base de datos, lo que no me funciona es la validacion y nose por que... asi desactive el javascript en el formulario, la validacion php no funciona
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
eso ya lo tengo claro, lo que sucede es que en mi ejemplo yo tengo almacenadas las variables de esta forma:
$nombres = trim($_POST['nombres']);
y en las validaciones...
if(empty[$nombres])... && todo lo demas
empty[$nombres] es emtpy($nombres) pruebalo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
validacion formulario
Desarrollo Web
|
marcelo3d
|
8
|
4,920
|
2 Noviembre 2011, 17:28 pm
por Mr. Crowley
|
|
|
Problema con la validación de un formulario con javascript
Desarrollo Web
|
janisorna
|
9
|
5,932
|
3 Enero 2012, 20:22 pm
por janisorna
|
|
|
MOVIDO: Problema con la validación de un formulario con javascript
Java
|
Leyer
|
0
|
1,592
|
30 Diciembre 2011, 19:18 pm
por Leyer
|
|
|
Validación e-mail formulario
PHP
|
el-brujo
|
4
|
3,302
|
12 Mayo 2012, 03:21 am
por jhonatanAsm
|
|
|
[Ayuda] Ideas para Validacion
PHP
|
danny920825
|
2
|
3,445
|
19 Junio 2017, 21:48 pm
por danny920825
|
|