Home
Username:
Password:
PHP Project Solutions (Español) Tutorials

Área Admininistrative y Función Ingresar / Validación por Cuenta del Servidor

Subtitles of the Movie

Tan pronto como el usuario presione "Submit", y la informaci—n que est‡ enviando llegue al servidor, ejecutamos la validaci—n del servidor; la tengo que validar de nuevo debido a que como mencionŽ, hay usuarios maliciosos que pueden da–ar la validaci—n del cliente; algunos no tendr‡n problema con ello, pero si lo tienen, tendr‡n que hacer una validaci—n de nuevo, por seguridad. Lo que se ha hecho es escribir algunas funciones PHP, y escribir una funcion en PHP. Simplemente inicia con la funci—n "keyword", luego le da un nombre a la funci—n, y luego configura los argumentos que llevar‡. En Žste caso la funci—n "string" v‡lida, como podr’a deducir de su nombre, va a validar las cadenas, o datos tipo cadena. Esta funci—n, toma la cadena entrante, (la nombro "in string"), y tambiŽn toma la m‡xima longitud que usted desea permitir en la cadena. En Žste caso la inicializo con 0, pero cuando uso Žsta funci—n en la p‡gina principal, con la sentencia 'switch case', al usar la funci—n "string" v‡lida, no solo env’o la cadena, sino tambiŽn la longitud que tendr‡. Esto debido a que en la sentencia 'swithc case', con todas estas bœsquedas, ingresos, actualizaciones y eliminaciones en la base de datos, tengo que verificar que todas las cadenas que van a la base de datos no tengan mayor longitud, que la longitud total de Žse campo en la base de datos. La forma en que he configurado la base de datos es: si una cadena es muy larga, no solo ser‡ truncada,sino que ser‡ cortada antes de ir a la base de datos. Generar‡ un error para Žse tipo particular de dato, es una "varchar" o variable de caracter en la base de datos. Si la cadena entrante es muy grande, causar‡ un error en la base de datos. Para evitar eso, valido las cadenas, y tambiŽn me aseguro de que tengan la longitud que se supone deben tener. Debe tener en cuenta lo que puede hacer con Žsta funci—n en particular. Entonces veamoslo. En Žsta parte de aqu’ estoy quitando caracteres no imprimibles, estoy usando la funci—n PHP "add slashes" para agregar barras diagonales de liberaci—n, en caso de necesitarlo, aspecto que es importante al ingresar comillas o ap—strofes en una base de datos. Si tengo comillas o ap—strofes puede que no se ejecutan apropiadamente y si no se agregan estas barras diagonales, tambiŽn se generar‡ un error, por lo que no podrŽ ingresar datos a la base de datos. Ya que no se si el usuario los va a poner, uso la funci—n "add slashes" para agregar las barras diagonales y asegurar que todo est‡ bien. Pero tambiŽn estoy usando la funci—n "HTML special characters" con caracteres especiales HTML desde PHP. Lo que Žsta hace es, crear caracteres especiales fuera de HTML tales como los parŽntesis cuadrados, marcadores o cosas as’. Podr’a buscar temas en www.w3.org - que hablen mucho m‡s acerca de los caracteres especiales. Realmente no quiero ir all’ en Žste momento debido a que es un elemento del HTML; simplemente usted debe saber que si la usa estar‡ bien. Esta funci—n convertir‡ esos caracteres, en caracteres especiales y estos trabajar‡n muy bien en la base de datos. Pero digamos que estoy restringiendo Žsta cadena a 10 caracteres y algunos de estos son caracteres, m‡s grandes o m‡s peque–os que un s’mbolo o un parŽntesis cuadrado. Entonces, estos ser‡n transformados en caracteres especiales HTML, los cuales ocupan 4 caracteres. As’ que puedo exceder el l’mite y en Žse caso, justo aqu’ abajo, si usted rebasa el l’mite, se corta parte de Žse caractŽr especial, obteniendo un resultado impredecible. Pero esto solo preocupa cuando uso Žsta funci—n en Posgress; el tipo de dato 'varchar' es muy comœn. Tiene l’mites cerrados; cualquier l’mite que haya configurado en la funci—n, ser‡ un l’mite cerrado y generar‡ un error,por lo que debo ser cuidadoso con eso. Si necesito m‡s caracteres, me aseguro de configurar un campo lo suficientemente grande y restringirlo razonablemente. Si piensa que va a tener HTML en Žste momento, con los administradores y los clientes registrados, no hay raz—n para que ellos coloquen caracteres especiales dentro de los campos ; me refiero a los parŽntesis cuadrados HTML, comillas o algo as’. Pero, debe tener cuidado si ellos lo hacen, podr’a tener un peque–o problema. Ok, veamos otra funci—n de validaci—n PHP que he escrito, y esta es "valid int" con la cual nos aseguramos de tener un entero y un precio v‡lido. Para saber si se trata de un precio, me aseguro que sea el tipo correcto de dato y tambiŽn de que tenga el nœmero correcto de decimales, etc. Estas funciones, las tengo todas en un archivo especial que pongo en "incs", o en el folder "INCS". Luego, cada vez que necesitemos usarlo en una p‡gina, en Žste caso en particular lo uso en la p‡gina "home.php", simplemente lo buscamos all’; as’ que el archivo es v‡lido, "libraryincphp" - por supuesto el nombre describe lo que hace, es una validaci—n, es una biblioteca de funciones, es un archivo incluido, y el .PHP decide si se puede ir directamente all’ y ver cu‡les son las funciones. As’ que esta es una forma muy b‡sica de crear la validaci—n del servidor con PHP.

Tutorial Information

Course: PHP Project Solutions (Español)
Author: Dave Mercer
SKU: 33619
ISBN: 1-932808-63-9
Release Date: 2005-06-03
Duration: 6.5 hrs / 87 lessons
Work Files: Yes
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 98,729 Video Tutorials (23,265 free)
  • Video Available as Flash or QuickTime
  • Over 1026 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available