Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/10/2012, 18:34
kasumidie
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 13 años, 2 meses
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.