Foros del Web » Programando para Internet » PHP »

Eregi (), como reemplazar?

Estas en el tema de Eregi (), como reemplazar? en el foro de PHP en Foros del Web. Código PHP: $Usuario  = ( $_POST [ 'slogin' ]); $Pass  = ( $_POST [ 'spass' ]); if (( eregi ( "[^a-zA-Z0-9_-]" ,  $Usuario )) || ( eregi ( "[^a-zA-Z0-9_-]" ,  ...
  #1 (permalink)  
Antiguo 04/10/2012, 13:05
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Eregi (), como reemplazar?

Código PHP:
$Usuario = ($_POST['slogin']);
$Pass = ($_POST['spass']);
if ((
eregi("[^a-zA-Z0-9_-]"$Usuario)) || (eregi("[^a-zA-Z0-9_-]"$Pass)))
{
echo(
"<font color='#FF0000'>SQL Injection Detectado. Use  letras de A a Z e numeros de 0 a 9");
exit();

Estoy utilizando el código anterior para evitar que hagan SQLInyection, al actualizar a PHP 5.4, no funciona más. De que forma puede volver a funcionar, estuve leyendo acerca de preg_match, pero no se como hacerlo funcionar. :( Help.
  #2 (permalink)  
Antiguo 04/10/2012, 13:31
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 1 mes
Puntos: 511
Respuesta: Eregi (), como reemplazar?

Hola que tal.

Prueba con lo siguiente y comentas.

Código PHP:

$Usuario 
= ($_POST['slogin']); 
$Pass = ($_POST['spass']); 
if ((
preg_match('/[^A-Za-z0-9_]/i'$Usuario)) || (preg_match('/[^A-Za-z0-9_]/i'$Pass))) 

echo(
"<font color='#FF0000'>SQL Injection Detectado. Use  letras de A a Z e numeros de 0 a 9"); 
exit(); 


Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 04/10/2012, 23:14
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Cita:
Iniciado por skiper0125 Ver Mensaje
Hola que tal.

Prueba con lo siguiente y comentas.

Código PHP:

$Usuario 
= ($_POST['slogin']); 
$Pass = ($_POST['spass']); 
if ((
preg_match('/[^A-Za-z0-9_]/i'$Usuario)) || (preg_match('/[^A-Za-z0-9_]/i'$Pass))) 

echo(
"<font color='#FF0000'>SQL Injection Detectado. Use  letras de A a Z e numeros de 0 a 9"); 
exit(); 


Saludos
Me sirvio, para poder arreglar los campos en la parte del registro, pero sigo sin poder aplicarlo de ninguna forma al login.

te muestro que es lo que tengo para que orientes un poco.

Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','xx','xx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('xx')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

if(
trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
//Necesito que verifique que no hayan caracteres extraños, y que me de el error de Intento de Inyección SQL.
    
$usuario $_POST["usuario"];
    
$password $_POST["password"];
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
            
$_SESSION["k_username"] = $row['usuario'];
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="index.php">Index</a></p>';

  echo
'<script>alert("El usuario o contraseña son erroneos.");</script>';
  echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
        }
    }else{
          echo
'<script>alert("El usuario o contraseña son erroneos.");</script>';
  echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
    }
    
mysql_free_result($result);
}else{
     echo
'<script>alert("Debe especificar un usuario y password.");</script>';
 echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
}
mysql_close();
?>
  #4 (permalink)  
Antiguo 05/10/2012, 07:58
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

Cita:
Me sirvio, para poder arreglar los campos en la parte del registro, pero sigo sin poder aplicarlo de ninguna forma al login.
porque no lo metes en una funcion y la llamas siempre que la nesesites?la funcion devolveria true o false y tu preguntarias por ella, tambien recibe como parametro la variable a evaluar...
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #5 (permalink)  
Antiguo 05/10/2012, 15:14
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Cita:
Iniciado por NSD Ver Mensaje
porque no lo metes en una funcion y la llamas siempre que la nesesites?la funcion devolveria true o false y tu preguntarias por ella, tambien recibe como parametro la variable a evaluar...
Intente hacer una funcion, la cual no resulto, probablemente porque no tengo los conocimientos suficientes.
Código PHP:
Ver original
  1. function check($usuario){
  2. if(!preg_match("/[^A-Za-z0-9_]/i", $usuario))
  3. return false;
  4. else
  5. return true;
  6. }

Esa función arme, pero no se si es correcta, pero no funciona, y además quiero que me avise con un error de SQL injection

Última edición por kasumidie; 05/10/2012 a las 15:35
  #6 (permalink)  
Antiguo 05/10/2012, 17:16
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Disculpen el doble post;
esto es lo que me parecio lógico hacer
Código PHP:
Ver original
  1. $check = '/[^A-Za-z0-9_]/i';
  2.  
  3. if(!preg_match($check, trim($_POST["usuario"])) != "" && !preg_match($check, trim($_POST["password"])) != "")
  4. {

Pero ahora como hago para que me tire un error si es que se incluye un caracter de esos? Ya que si pongo un "@" por ejemplo, me dice que introduzca una clave o usuario, y eso corresponde a cuando se deja en blanco, alguna forma de hacer que tire los 2 errores? cuando haya SQL injection que tire ese error, y cuando se deje en blanco que diga el que esta ahora.
  #7 (permalink)  
Antiguo 05/10/2012, 17:59
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

Cita:
Pero ahora como hago para que me tire un error si es que se incluye un caracter de esos? Ya que si pongo un "@" por ejemplo, me dice que introduzca una clave o usuario, y eso corresponde a cuando se deja en blanco, alguna forma de hacer que tire los 2 errores? cuando haya SQL injection que tire ese error, y cuando se deje en blanco que diga el que esta ahora.
Cita:
Intente hacer una funcion, la cual no resulto, probablemente porque no tengo los conocimientos suficientes.
pues te recomiendo que leas algun manual un poco compañero, lo que pides no es complicado, te dejo el codigo pero intenta razonarlo asi aprendes y mejoras
Código PHP:
Ver original
  1. <?php
  2.     Function ValidoSQL($String){
  3.         If(!preg_match("/[^A-Za-z0-9_]/i", $String)){
  4.             $Estado = False;
  5.         } Else {
  6.             $Estado = True;
  7.         }
  8.         Return ($Estado);
  9.     }
  10.     If(!ValidoSQL(trim($_POST['usuario'])) Or !ValidoSQL(trim($_POST['password']))){
  11.             $Estado = 'Error de inyeccion sql!';
  12.     } Else {
  13.         If(($_POST['usuario'] == '') Or ($_POST['password'] == '')){
  14.             $Estado = 'Datos invalidos, completa los campos!';
  15.         } Else {
  16.             $Estado = 'Datos OK.';
  17.         }
  18.     }  
  19. ?>

Saludos!
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #8 (permalink)  
Antiguo 05/10/2012, 18:34
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Cita:
Iniciado por NSD Ver Mensaje
pues te recomiendo que leas algun manual un poco compañero, lo que pides no es complicado, te dejo el codigo pero intenta razonarlo asi aprendes y mejoras
Código PHP:
Ver original
  1. <?php
  2.     Function ValidoSQL($String){
  3.         If(!preg_match("/[^A-Za-z0-9_]/i", $String)){
  4.             $Estado = False;
  5.         } Else {
  6.             $Estado = True;
  7.         }
  8.         Return ($Estado);
  9.     }
  10.     If(!ValidoSQL(trim($_POST['usuario'])) Or !ValidoSQL(trim($_POST['password']))){
  11.             $Estado = 'Error de inyeccion sql!';
  12.     } Else {
  13.         If(($_POST['usuario'] == '') Or ($_POST['password'] == '')){
  14.             $Estado = 'Datos invalidos, completa los campos!';
  15.         } Else {
  16.             $Estado = 'Datos OK.';
  17.         }
  18.     }  
  19. ?>

Saludos!
Entiendo perfectamente, pero el problema lo tengo cuando lo quiero aplicar a lo que ya tengo, entendes?

Lo que tengo yo es lo siguiente...
Código PHP:
 <?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','xx','xx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('xx')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

if(
trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
//Necesito que verifique que no hayan caracteres extraños, y que me de el error de Intento de Inyección SQL.
    
$usuario $_POST["usuario"];
    
$password $_POST["password"];
    
$result mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if(
$row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
            
$_SESSION["k_username"] = $row['usuario'];
            echo 
'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="index.php">Index</a></p>';

  echo
'<script>alert("El usuario o contraseña son erroneos.");</script>';
  echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
        }
    }else{
          echo
'<script>alert("El usuario o contraseña son erroneos.");</script>';
  echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
    }
    
mysql_free_result($result);
}else{
     echo
'<script>alert("Debe especificar un usuario y password.");</script>';
 echo
'<SCRIPT LANGUAGE="javascript">
            location.href = "one.html";
            </SCRIPT>'
;
}
mysql_close();
?>
El que me dice que tengo campos sin rellenar lo tengo hechom lo que me faltan es agregar el del error SQl.
  #9 (permalink)  
Antiguo 05/10/2012, 19:36
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

Cita:
Entiendo perfectamente, pero el problema lo tengo cuando lo quiero aplicar a lo que ya tengo, entendes?
si entiendo. porque no lo intentas tu? no es tan dificil, recuerda que eres tu quien debe aprender...(para eso es el foro)

Código PHP:
Ver original
  1. <?php
  2. Function ValidoSQL($String){
  3.     If(!preg_match("/[^A-Za-z0-9_]/i", $String)){
  4.         $Estado = False;
  5.     } Else {
  6.         $Estado = True;
  7.     }
  8.     Return ($Estado);
  9. }  
  10.  
  11.  
  12. If(!ValidoSQL(trim($_POST['usuario'])) Or !ValidoSQL(trim($_POST['password']))){
  13.     Echo'<Script Type="text/javascript">alert("Error, Se detecto intento de inyeccion SQL.");</Script>';
  14.     Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';
  15. } Else {
  16.     If(($_POST['usuario'] == '') Or ($_POST['password'] == '')){
  17.         Echo'<Script Type="text/javascript">alert("Debe especificar un usuario y password.");</Script>';
  18.         Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';
  19.     } Else {
  20.         $User = $_POST["usuario"];
  21.         $Pass = $_POST["password"];
  22.         Mysql_Connect('localhost','xx','xx') Or Die ('Ha fallado la conexión: '.Mysql_Error());
  23.         Mysql_Select_DB('xx') Or Die ('Error al seleccionar la Base de Datos: '.Mysql_Error());
  24.         $Resultado = Mysql_Query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$User.'\'');    
  25.         Mysql_Close();
  26.         $Datos = Mysql_Fetch_Array($Resultado);
  27.         Mysql_Free_Result($Resultado);
  28.         If($Datos["password"] == $Pass){
  29.             $_SESSION["k_username"] = $Datos['usuario'];
  30.             Echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
  31.             Echo '<a href="index.php">Index</a></p>';
  32.         } Else {
  33.             Echo'<Script Type="text/javascript">alert("Error al identificarse, tus datos son incorrectos.");</Script>';
  34.             Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';         
  35.         }          
  36.     }
  37. }
  38.  
  39. ?>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #10 (permalink)  
Antiguo 05/10/2012, 19:40
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Eregi (), como reemplazar?

Vas a forzar a tus usuarios para que las contraseñas sólo tengan ciertos caracteres permitidos?, creo que eso hará más vulnerable el sitio.

Te recomiendo leer esto: http://www.forosdelweb.com/f18/aport...a-php-1011808/
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 05/10/2012, 19:47
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Cita:
Iniciado por NSD Ver Mensaje
si entiendo. porque no lo intentas tu? no es tan dificil, recuerda que eres tu quien debe aprender...(para eso es el foro)

Código PHP:
Ver original
  1. <?php
  2. Function ValidoSQL($String){
  3.     If(!preg_match("/[^A-Za-z0-9_]/i", $String)){
  4.         $Estado = False;
  5.     } Else {
  6.         $Estado = True;
  7.     }
  8.     Return ($Estado);
  9. }  
  10.  
  11.  
  12. If(!ValidoSQL(trim($_POST['usuario'])) Or !ValidoSQL(trim($_POST['password']))){
  13.     Echo'<Script Type="text/javascript">alert("Error, Se detecto intento de inyeccion SQL.");</Script>';
  14.     Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';
  15. } Else {
  16.     If(($_POST['usuario'] == '') Or ($_POST['password'] == '')){
  17.         Echo'<Script Type="text/javascript">alert("Debe especificar un usuario y password.");</Script>';
  18.         Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';
  19.     } Else {
  20.         $User = $_POST["usuario"];
  21.         $Pass = $_POST["password"];
  22.         Mysql_Connect('localhost','xx','xx') Or Die ('Ha fallado la conexión: '.Mysql_Error());
  23.         Mysql_Select_DB('xx') Or Die ('Error al seleccionar la Base de Datos: '.Mysql_Error());
  24.         $Resultado = Mysql_Query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$User.'\'');    
  25.         Mysql_Close();
  26.         $Datos = Mysql_Fetch_Array($Resultado);
  27.         Mysql_Free_Result($Resultado);
  28.         If($Datos["password"] == $Pass){
  29.             $_SESSION["k_username"] = $Datos['usuario'];
  30.             Echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
  31.             Echo '<a href="index.php">Index</a></p>';
  32.         } Else {
  33.             Echo'<Script Type="text/javascript">alert("Error al identificarse, tus datos son incorrectos.");</Script>';
  34.             Echo'<Script Type="text/javascript">location.href = "one.html";</Script>';         
  35.         }          
  36.     }
  37. }
  38.  
  39. ?>
Voy a seguir intentando, el código que me has dejado tira siempre error de SQL, así esten los casilleros en blanco, y tambien cuando pongo un usuario y contraseña válidos, configure la base de datos, user y pass, voy a ver un poquito que puede ser.
  #12 (permalink)  
Antiguo 05/10/2012, 19:53
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

Código PHP:
Ver original
  1. Voy a seguir intentando, el código que me has dejado tira siempre error de SQL, así esten los casilleros en blanco, y tambien cuando pongo un usuario y contraseña válidos, configure la base de datos, user y pass, voy a ver un poquito que puede ser.

varifica el estado de las funcion, puede que alla un error en la funcion, el codigo lo tipie rapido asique puedo haberle pifiado en algo revisalo y luego nos comentas que onda.

Cita:
Vas a forzar a tus usuarios para que las contraseñas sólo tengan ciertos caracteres permitidos?, creo que eso hará más vulnerable el sitio.

Te recomiendo leer esto: http://www.forosdelweb.com/f18/aport...a-php-1011808/
__________________
la verdad triby te felicito por ese articulo, lo lei completo hase unos dias y la verdad muy bueno (aprobecho a felicitarte aca porque creo que esta de sobra si lo hago en dicho articulo)
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #13 (permalink)  
Antiguo 06/10/2012, 18:40
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Todavia no doy en el clavo. :(
  #14 (permalink)  
Antiguo 06/10/2012, 18:59
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

bueno entonces, vamos a analizarlo hasta que ande.

Código PHP:
Ver original
  1. $Prove[1]='SoyValido123';
  2. $Prove[2]='"Nolo$%¡?Soy';
  3. $Prove[3]='';
  4. $Prove[4]='%$';
  5. $Prove[5]='345';
  6. If(!ValidoSQL(trim($Prove[1])) Or !ValidoSQL($Prove[1]))){

ejecuta por favor ese codigo 5 veces, haciendo que en cada ocacion el if se aplique a otro elemento del array (en el ejemplo esta listo para probar con el 1, tu cabia el 1 en las dos partes del if por el 2 etc)

y dime en cada una de las 5 pruebas que cartel te arrojo.

(los cambios los haces manualmente)

por ahora no importa el user y el pass reales, quiero saber si la funcion y el script andan bien.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #15 (permalink)  
Antiguo 06/10/2012, 22:07
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

1- Error SQL
2- Debe especificar User y pass
3- Error SQL
4- Debe especificar User y pass
5- Error SQL
  #16 (permalink)  
Antiguo 06/10/2012, 23:22
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

bien, veamos, en el codigo original (el que te pase antes) de hacer esta pruebita pon esta linea reemplazando la que esta y pruebala haber si anda.

Código PHP:
Ver original
  1. If(ValidoSQL(trim($_POST['usuario'])) Or ValidoSQL(trim($_POST['password']))){

1- Error SQL -> deberia pasar pero no paso
2- Debe especificar User y pass-> no deberia pasar pero paso
3- Error SQL -> deberia pasar pero no paso
4- Debe especificar User y pass-> no deberia pasar pero paso
5- Error SQL -> deberia pasar pero no paso

eso sugiere que hay que invertir el condicional, si te fijas en la linea que te pase quite las negaciones.

asi que en teoria deberia funcionar...
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #17 (permalink)  
Antiguo 07/10/2012, 13:05
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Cita:
Iniciado por NSD Ver Mensaje
bien, veamos, en el codigo original (el que te pase antes) de hacer esta pruebita pon esta linea reemplazando la que esta y pruebala haber si anda.

Código PHP:
Ver original
  1. If(ValidoSQL(trim($_POST['usuario'])) Or ValidoSQL(trim($_POST['password']))){

1- Error SQL -> deberia pasar pero no paso
2- Debe especificar User y pass-> no deberia pasar pero paso
3- Error SQL -> deberia pasar pero no paso
4- Debe especificar User y pass-> no deberia pasar pero paso
5- Error SQL -> deberia pasar pero no paso

eso sugiere que hay que invertir el condicional, si te fijas en la linea que te pase quite las negaciones.

asi que en teoria deberia funcionar...
Muchisimas gracias, ahora te pregunto el signo "!" cual es su funcion? Tenes una guia o algo? No sabia lo que realmente significaba, te vuelvo a agradecer, y gracias por hacerme ese ejercicio, es lo mejor para aprender, envez de directamente dar el código. Gracias gracias

PD: yo lo tengo limitado a estos caracteres > '/[^A-Za-z0-9_]/i', donde puedo leer una guia, para armar uno a mi gusto, en el cual pueda añadir algun otro caracter. Busque pero no encontre algo que me explique bien. Saludos
  #18 (permalink)  
Antiguo 07/10/2012, 16:01
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Eregi (), como reemplazar?

! es un operador logico para negar.... es lo mas basico, equivale a decir:

if(exprecion==false)
if(!exprecion)

if($A==3){}else{sentencias}
if($A!=3){sentencias}

Referencias oficiales (POR FAVOR LEELAS ESTO ES LO BASICO DE LO BASICO)
http://www.php.net/manual/es/languag...rs.logical.php

Cita:
PD: yo lo tengo limitado a estos caracteres > '/[^A-Za-z0-9_]/i', donde puedo leer una guia, para armar uno a mi gusto, en el cual pueda añadir algun otro caracter. Busque pero no encontre algo que me explique bien. Saludos
Busca sobre expreciones regulares aqui hay algunos ejemplos muy comunes:
http://web.ontuts.com/snippets/10-ex...esarrollo-web/

por otro lado:
Cita:
[^A-Za-z0-9_+@&]
los elementos que pongas ahi en la negrita se iran agregando a la lista de permitidos. si quieres permitir un - debes poner \- ya que - es un caracter reservado y sirve para indicar intervalos A-Z letras mayusculas a-z letras minusculas 0-9 nuemros.

espero te sirva saludos
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #19 (permalink)  
Antiguo 07/10/2012, 16:13
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Eregi (), como reemplazar?

Buenisimo, la que no sabia era la del !. Ahí lo lei, saludos y gracias.

Etiquetas: eregi, sql, usuarios
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 08:23.