PHP - logre llegar a las expresiones con php

   
Vista:

logre llegar a las expresiones con php

Publicado por zendi (836 intervenciones) el 17/10/2013 04:57:46
Heme por aqui nuevamente, como señalo en el titulo logre construir este codigo en php para las expresiones:
Pero me devuelve 1 cada vez que lo ejecuto, ahora pueden ayudarme al respecto ya que lo que guarda es un 1 en los campos de la tabla. Gracias.
NOTA:Traigo las variables con $_POST desde otro programa. Este es para guardar finalmente el registro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$connect2 = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
 
$nroapto   =$_POST['nroapto'];
 
$apellidos =$_POST['apellidos'];
$apellidos = preg_match('/[A-Z ]+$/', $apellidos);
 
if(!$apellidos){
	 echo "<script type='text/javascript'>
	 alert('Debe Escribir Letras para el apellido');
	 </script>";
}
 
$nombres   =$_POST['nombres'];
$nombres = preg_match('/[A-Z ]+$/', $nombres);
 
if(!$nombres){
	 echo "<script type='text/javascript'>
	 alert('Debe Escribir Letras para el Nombre');
	 </script>";
}
 
$cedula    =$_POST['cedula'];
$cedula = preg_match('/[0-9]+$/', $cedula);
if(!$cedula){
	 echo "<script type='text/javascript'>
	 alert('Debe Escribir Numeros para la Cedula');
	 </script>";
}
 
   $guardar = "INSERT INTO propietarios(nroapto,apellidos,nombres,cedula) VALUES ('$nroapto',
 UPPER('$apellidos'),UPPER('$nombres'),'$cedula')";
 $actualiza = @pg_query($connect2,$guardar);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

logre llegar a las expresiones con php

Publicado por Mari Carmen (145 intervenciones) el 17/10/2013 12:16:28
La mejor práctica si no te conoces las funciones es tener la documentación al lado en este caso http://www.php.net/manual/es/function.preg-match.php. En ella te explica como usar la función preg_match() y te dice que el valor devuelto es un entero. 1 si se encontró parecido, 0 si no lo encontró y false si ocurrió algún error.
También te dice que el 3er parámetro de la función es el resultado, en donde está la cadena que coincide con el patrón.

Las dos veces que llamas a la función preg_match() solo lo haces para saber si existe o no existe similitud en la cadena.

Tienes 2 formas de solucionarlo:
1era : Sin cambiar las funciones preg_match() evaluar si la salida es 1 y si lo es guardar en la base de datos la variable $_POST o la que evalúes en la expresión regular.
Ejemplo:
1
2
3
4
5
6
7
$apellidos =$_POST['apellidos'];
$existe_apellido = preg_match('/[A-Z ]+$/', $apellidos);
if($existe_apellido==0){
    die("El apellido no está bien escrito");
}elseif($existe_apellido===false){
   die("Ocurrió un error");
}

la 2da:
Poner el 3cer parámetro una variable que sera el resultado de nuestra comprobación:
Ej
1
2
3
4
5
$apellidos=false;
preg_match('/[A-Z ]+$/', $_POST['apellidos'], $apellidos );
 
if($apellidos===false)
   die("No existe coincidencias");
Temas aparte, si te fijas en tu código al tener algún campo erróneo el script no para en ese instante. Debes encontrar la forma de NO evaluar el select a menos que TODAS las variables estén bien al 100%.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

logre llegar a las expresiones con php

Publicado por zendi (836 intervenciones) el 17/10/2013 16:30:37
Hola Mari Carmen. Bueno, analicé bien el codigo y tenia unos errores fueron reparados y ya funciona muy bien. Gracias por tu ayuda. y disculpa tanta insistencia. Soy muy tenaz y pertinaz y hasta que no soluciono, no estoy quieto.
De donde eres Mari Carmen?. Y perdona la pregunta. Yo soy venezolano.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

logre llegar a las expresiones con php

Publicado por Mari Carmen (145 intervenciones) el 17/10/2013 18:07:56
Soy de la otra parte del charco! muy lejos para invitarme a una cena! ^^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

logre llegar a las expresiones con php

Publicado por zendi (836 intervenciones) el 17/10/2013 18:23:13
Bueno, para saber nada mas. Me dejas en ascuas ¿a que te refieres cuando hablas del charco? y disculpa la ignorancia. ¿eres europea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

logre llegar a las expresiones con php

Publicado por zendi (836 intervenciones) el 18/10/2013 00:49:39
desde España!!! y oleeeeeeeeeeeeeeé!!!!. Saludos. vale. Que bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar