Foros del Web » Programando para Internet » PHP »

duda con validacion entre variable por post i variable de base de datos

Estas en el tema de duda con validacion entre variable por post i variable de base de datos en el foro de PHP en Foros del Web. $provincia_nombre = $_POST["provincia_nombre"]; mi pregunta es podría validar con $row_provincia_nombre["provincia_nombre"]; haciendo una select previamente de la base de datos Itata == Itata $validacion_provincia_nombre = $row_provincia_nombre["provincia_nombre"]; ...
  #1 (permalink)  
Antiguo 16/07/2011, 03:51
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
duda con validacion entre variable por post i variable de base de datos

$provincia_nombre = $_POST["provincia_nombre"];

mi pregunta es podría validar con $row_provincia_nombre["provincia_nombre"];
haciendo una select previamente de la base de datos

Itata == Itata

$validacion_provincia_nombre = $row_provincia_nombre["provincia_nombre"];

ahora lo estoy haciendo con este metodo
$validacio_provincia_nombre = "/[A-Za-z]{6,9}/";


if( preg_match($validacio_provincia_nom, $provincia_nombre)){

}
  #2 (permalink)  
Antiguo 16/07/2011, 04:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: duda con validacion entre variable por post i variable de base de datos

Pregunto, ¿hablas de comparación o validación?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/07/2011, 05:16
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: duda con validacion entre variable por post i variable de base de datos

hablo de validacion
  #4 (permalink)  
Antiguo 19/07/2011, 23:14
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: duda con validacion entre variable por post i variable de base de datos

antes hacia la validación
$validacio_provincia_nombre = "/[A-Za-z]{6,9}/";
aunque tuviera un formulario con un select desplegable con las diferentes provincias que cojia de la base de datos

Ahora tengo un formulario con una select desplegable con varias provincias que cojo de la base de datos si le llega una provincia diferente de la que esta en la base de datos no hará el insert

Código PHP:
Ver original
  1. $provincia_nombre = $_POST["provincia_nombre"];
  2.  
  3.  
  4.   $link = mysqli_connect($hostname,$user,$password,$database);
  5.             $query_provincia_nombre = "SELECT provincia_nombre FROM provincies WHERE provincia_nombre='" . $provincia_nombre . "';";
  6.          
  7.             $result_provincia_nombre = mysqli_query($link,$query_provincia_nombre);
  8.             $row_provincia_nombre = mysqli_fetch_array($result_provincia_nombre, MYSQLI_ASSOC);
  9.                  
  10.  
  11.  
  12.         $validacio_provincia_nombre = "/".$row_provincia_nombre['provincia_nombre']."/";
  13.  
  14.  
  15.  
  16.  if(preg_match($validacio_provincia_nom, $provincia_nom)){
  17.  
  18. }

Última edición por albertrc; 19/07/2011 a las 23:25
  #5 (permalink)  
Antiguo 20/07/2011, 20:47
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: duda con validacion entre variable por post i variable de base de datos

antes hacia la validación
$validacio_provincia_nombre = "/[A-Za-z]{6,9}/";
aunque tuviera un formulario con un select desplegable con las diferentes provincias que cojia de la base de datos

Ahora tengo un formulario con una select desplegable con varias provincias que cojo de la base de datos si le llega una provincia diferente de la que esta en la base de datos no hará el insert

hay campos como nombre que hago esta validación
$validacio_nombre = "/[A-Za-z]{6,9}/";

creo que siempre se tienen que validar todas las entradas del formulario aunque
sean de un formulario select desplegable y la información se extraiga de una base de datos
la pregunta esta bien este tipo de validación o estoy haciendo algo mal
echo un echo de la variable

$validacio_provincia_nombre y de $provincia_nombre
en el caso de la $validacio_provincia_nombre me sale /El nombre de la provincia/

si de vuelvo mas campos que son de una base de datos también los tendría que validar aunque tuviera que hacer una select distinta para cada campo
por ejemplo
provincia
comarca
población
codigo postal

o en el caso del dni y correo electrónico comprobar que no existen en la base de datos


otra cosa hago que el formulario esta validado en php en el mismo documento,
la duda que tengo es hecho que si rellenas algún campo mal salga el mensaje de error y no tengas que volver a rellenar todos los campos cuando hago el insert conforme a todos los campos son correctos tendría que hacer que me enviara a otra pagina y saliera un mensaje de que me he registrado satisfactoria mente

si volviera atrás por ejemplo tendría todos los datos en el formulario hay alguna forma de vaciarlos lo digo porque si cambiando el dni y correo electrónico podría hacer tantos inserts como quisiera

tengo una sentencia tipo
Código PHP:
if(submit){
    if(
hago la validacio de los campos que tienen que estar llenos){
                   
insert
    
}
    else{
        
en caso de un campo no este relleno mostrara su correspondiente mensaja
    
}


Código PHP:
$provincia_nombre $_POST["provincia_nombre"];
 
 
  
$link mysqli_connect($hostname,$user,$password,$database);
            
$query_provincia_nombre "SELECT provincia_nombre FROM provincies WHERE provincia_nombre='" $provincia_nombre "';";
         
            
$result_provincia_nombre mysqli_query($link,$query_provincia_nombre);
            
$row_provincia_nombre mysqli_fetch_array($result_provincia_nombreMYSQLI_ASSOC);
                  
 
 
        
$validacio_provincia_nombre "/".$row_provincia_nombre['provincia_nombre']."/";
 
 
 
 if(
preg_match($validacio_provincia_nom$provincia_nom)){
 


Última edición por albertrc; 20/07/2011 a las 20:52
  #6 (permalink)  
Antiguo 20/07/2011, 21:12
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 6 meses
Puntos: 188
Respuesta: duda con validacion entre variable por post i variable de base de datos

Hola amigo, la verdad es que casí no te entendi.

Esta linea de código: [A-Za-z]{6,9} es una expresión que funciona para validar que una cadena este conformada por las letras de la A a la Z (mayusculas y minusculas) y las llaves son un contador: donde en {6, 9} la expresion debe cumplirse al menos 6 veces y no mas de 9 veces. [ se llaman expresiones regulares]

Y para comparar el valor recibido por POST con los de una consulta SQL, lo conveniente es obtener un array con todas provincias y utilizando una funcion que retorne TRUE/FALSE en PHP y un ciclo foreach recorrer éste arreglo comparando elemento a elemento. Si encuentras una concordancia entonces retornas true, caso contrario saldra del ciclo y retornaras FALSE.


Código PHP:
Ver original
  1. function isProvinciaExistsInDB($provincia){
  2.          foreach($arregloFromDB as $llave){
  3.                 if($llave == $provincia)
  4.                         return true;
  5.          }
  6.          return false;
  7. }

Y lo aplicas así:

Código PHP:
Ver original
  1. if(isProvinciaExistsInDB($_POST['NombreCampoprovincia_del_selectFormulario']){
  2.  
  3.     //Si hay una provincia con este nombre guardado en la DB
  4. } else {
  5.  
  6.     //NO hay una provincia con este nombre en la DB
  7.  
  8. }

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Etiquetas: post, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:39.