elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Ayuda con validacion de formulario PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con validacion de formulario PHP  (Leído 6,152 veces)
oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Ayuda con validacion de formulario PHP
« en: 9 Junio 2010, 00:58 am »

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  ;D

Código
  1. <?php
  2. if (isset($_POST['enviar'])){
  3. $link = mysql_connect('localhost', 'user', 'pwd');
  4. mysql_select_db('dbname', $link);
  5. $sql = "SELECT MAX(ID) FROM inscripciones";
  6. $result = mysql_query($sql);
  7. $row = mysql_fetch_row($result);
  8. $max_id = $row[0]+1;
  9. $nombres=trim($_POST['nombres']);
  10. $apellidos=trim($_POST['apellidos']);
  11. $DNI_CarneExtranjeria=trim($_POST['DNI_CarneExtranjeria']);
  12. $tipo_persona=trim($_POST['tipo_persona']);
  13. $empresa=trim($_POST['empresa']);
  14. $cargo=trim($_POST['cargo']);
  15. $direccion=trim($_POST['direccion']);
  16. $telefono_fijo=trim($_POST['telefono_fijo']);
  17. $telefono_celular=trim($_POST['telefono_celular']);
  18. $tipo_combrobante=trim($_POST['tipo_comprobante']);
  19. $razon_social=trim($_POST['razon_social']);
  20. $RUC=trim($_POST['RUC']);
  21. $_FILES['voucher']['name'] = $max_id."_".$_FILES['voucher']['name'];
  22. $upload_dir = '/home/netline/public_html/inscripciones/vouchers/';
  23. $extension = $_FILES['voucher']['type'];
  24. $size = $_FILES['voucher']['size'];
  25. $upload_file = $upload_dir.($_FILES['voucher']['name']);
  26. $voucher_nombre_db = $_FILES['voucher']['name'];
  27. 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){
  28. echo '<html>
  29. <head>
  30. <title>Titulo web</title>
  31. <META http-equiv="refresh" content="6; url=http://www.dominio.com/inscripciones/inscripcion.php">
  32. </head>
  33. <body>
  34. <p>Debe completar todos los datos obligatorios y adjuntar una imagen con extension .JPG y de 200KB de tamaño maximo.</p>
  35. </body>
  36. </html>';
  37. }else{
  38. move_uploaded_file($_FILES['voucher']['tmp_name'], $upload_file);
  39. 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);
  40. mysql_close($link);
  41. echo '<html>
  42.         <head>
  43.         <title>Titulo web</title>
  44.         <META http-equiv="refresh" content="6; url=http://www.dominio.com/inscripciones/inscripcion.php">
  45.         </head>
  46.         <body>
  47.         <p>Registro exitoso.</p>
  48.         </body>
  49.         </html>';
  50. }
  51. }
  52. ?>


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con validacion de formulario PHP
« Respuesta #1 en: 9 Junio 2010, 01:17 am »

Tienes varías formas. Mirad.
Código
  1. if(!isset($_GET['strCadena'])){
  2. echo "<b>Con isset:</b> Esta vacio <br>";
  3. }
  4.  
  5. if(empty($_GET['strCadena'])){
  6. echo "<b>Con empty:</b> Esta vacio <br>";
  7. }
  8.  
  9. if($_GET['strCadena'] == ''){
  10. echo "<b>Con '':</b> Esta vacio <br>";
  11. }
  12.  
  13. if($_GET['strCadena'] == null){
  14. echo "<b>Con null:</b> Esta vacio <br>";
  15. }
  16.  
  17. if(strlen($_GET['strCadena']) == 0){
  18. echo "<b>Con strlen:</b> Esta vacio <br>";
  19. }
Hasta con Expresiones Regulares lo podes hacer.


En línea

Te vendería mi talento por poder dormir tranquilo.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Ayuda con validacion de formulario PHP
« Respuesta #2 en: 9 Junio 2010, 01:29 am »

Código
  1. if (isset($_POST['enviar'])){
Si estas definida el if se ejecuta y si no, falla el if... Yo prefiero usar empty...Quedaria asi:
Código
  1. 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:

Código
  1. <?php
  2. if(isset($_POST['enviar'])){
  3. echo 'Se ah enviado el formulario';
  4. echo "<br>El valor de enviar es ".$_POST['enviar'];
  5. echo "1 = true, 0 = false";
  6. }
  7. ?>
  8. <form name="form" action="ej.php" method="POST">
  9. Nombre<br>
  10. <input name="nombre" type="text">
  11. <br>
  12. <input name="enviar" type="submit" value="Enviar">
  13.  
  14. </form>

Salida:
Código:
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 Desconectado

Mensajes: 65


Ver Perfil
Re: Ayuda con validacion de formulario PHP
« Respuesta #3 en: 9 Junio 2010, 02:24 am »

Despues pondre el formulario, una pregunta... siempre se usa el metodo $GET para las validaciones?
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con validacion de formulario PHP
« Respuesta #4 en: 9 Junio 2010, 02:41 am »

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 Desconectado

Mensajes: 1.125



Ver Perfil
Re: Ayuda con validacion de formulario PHP
« Respuesta #5 en: 9 Junio 2010, 03:03 am »

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 Desconectado

Mensajes: 65


Ver Perfil
Re: Ayuda con validacion de formulario PHP
« Respuesta #6 en: 9 Junio 2010, 03:11 am »

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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con validacion de formulario PHP
« Respuesta #7 en: 9 Junio 2010, 13:59 pm »

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 :xD

aunque si te muestra los datos que envias, algo estas haciendo mal
En línea

oscarj24

Desconectado Desconectado

Mensajes: 65


Ver Perfil
Re: Ayuda con validacion de formulario PHP
« Respuesta #8 en: 9 Junio 2010, 15:40 pm »

no era la intencion que pareciera que gritara  :-X 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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con validacion de formulario PHP
« Respuesta #9 en: 9 Junio 2010, 16:15 pm »

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]  :huh:

es

emtpy($nombres)
 ;) pruebalo
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validacion formulario
Desarrollo Web
marcelo3d 8 4,920 Último mensaje 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 Último mensaje 3 Enero 2012, 20:22 pm
por janisorna
MOVIDO: Problema con la validación de un formulario con javascript
Java
Leyer 0 1,592 Último mensaje 30 Diciembre 2011, 19:18 pm
por Leyer
Validación e-mail formulario
PHP
el-brujo 4 3,302 Último mensaje 12 Mayo 2012, 03:21 am
por jhonatanAsm
[Ayuda] Ideas para Validacion
PHP
danny920825 2 3,445 Último mensaje 19 Junio 2017, 21:48 pm
por danny920825
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines