Tema: Validación
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2009, 17:35
Tigre_Sultan
 
Fecha de Ingreso: febrero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
Busqueda Validación

Estoy enfrentandome a un problema con la Validación a una Base de Datos del lado del Server.

Resulta que hize mi codigo para validar con las advertencias desde el lado del cliente cosa que es bastante estética ya que en caso de dejar algun campo vacío te regresa a la pagina en este caso de "Contacto" y le manejaba una advertencia en rojo que le dice al visitante que es necesario que escriba los datos en tal o cual campo porque es obligatorio.

Al Validar los datos de la Base directamente en el Server aplicando el Comportamiento de Servidor de Dreamweaver "Insertar Registros"

Me hace la validación desde el Server cosa que es bastante segura y recomendable según explican por allí pero.........................

No es lo estetica que quisieramos y provoca que el visitante a la página por donde se están ingresando los datos se confunda.

Lo anterior lo digo porque al encontrar en este tipo de validación desde el Server un campo vacío te regresa una página en blanco con una leyenda en la parte superior que te indica en inglés que el campo X Can not be Null

A continuación les pongo el código que me pone el comportamiento del Servidor Insertar Registros

php
Código PHP:
Ver original
  1. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  2. {
  3. $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
  4.  
  5. switch ($theType) {
  6. case "text":
  7. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  8. break;
  9. case "long":
  10. case "int":
  11. $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  12. break;
  13. case "double":
  14. $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
  15. break;
  16. case "date":
  17. $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  18. break;
  19. case "defined":
  20. $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  21. break;
  22. }
  23. return $theValue;
  24. }
Y el codigo en donde están mis advertencias que ahora trato de poner en primera instancia es el siguiente:

Código PHP:
Ver original
  1. p>
  2. label for="nombre">Nombre: <?php if (isset($perdido) && in_array('nombre', $perdido)) { ?>
  3. span class="advertencia">Por favor, escriba su Nombre/span><php>
  4. </label>
  5. input name="nombre" type="text" class="textInput" id="nombre"
  6. php if (isset($perdido)) {
  7. echo 'value " '.htmlentities($_POST['nombre']).' " ';
  8. }
  9. ?
  10. />
Mi pregunta es podré validar del lado del Cliente y en segunda instancia mandar los datos a la Base y al email ?

Porque ahorita reitero primero valida en el Server y pierdo mucha estética y rompo la secuencia de mi pagina al entrar una página en blanco con una advertencia que solo confunde.

Gracias de antemano por las atenciones que se sirvan tener para conmigo.

Tigre_Sultan

P.D. El código PHP no lo escribí tal cual porque en algunos foros no te lo aceptan, ojalá y no se vayan con la finat y no me digan es que hiciste mas el código porque escribiste mal las entradas y salidas a PHP. GRACIAS de NUEX

Última edición por jam1138; 29/07/2009 a las 17:45 Razón: Coloreando código