Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/01/2006, 08:33
Avatar de calavera
calavera
 
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 18 años, 4 meses
Puntos: 0
Me he guiado por la Faq's PËRO

hola a todos nuevamente me e guiado por la fag's pero tengo un problema ke al ingresar el rut no me hace nada y necesito para eso ke me envie un mensaje si el rut es correcto lo deje en trar, y si no ke me envie un mensaje el rut es "invalido"

e puesto el codigo de la sgte forma
en conex.php e puesto la f(x) ke me valida el rut


Código PHP:
<?php 
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","root"))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("test",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link
}



function 
ValidaDVRut($rut_Proveedor) { 

    
$tur strrev('$Rut_Proveedor'); 
    
$mult 2

    for (
$i 0$i <= strlen($tur); $i++) {  
       if (
$mult 7$mult 2;  
     
       
$suma $mult substr($tur$i1) + $suma
       
$mult $mult 1
    } 
     
    
$valor 11 - ($suma 11); 

    if (
$valor == 11) {  
        
$codigo_veri "0"
      } elseif (
$valor == 10) { 
        
$codigo_veri "k"
      } else {  
        
$codigo_veri $valor
    } 
  return 
$codigo_veri


?>
y acha

e puesto la sentecia if ke esta en procesar.php

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
if (
ValidaDVRut($_POST['Rut_Proveedor'])==$_POST['Rut_dv']) 
    echo (
"Rut válido!!"); 
    else
    echo (
"Rut inválido!!");  
  
   
$Id_Equipos=$_POST['Id_Equipos'];
   
$Tipo=$_POST['Tipo']; 
   
$Marca=$_POST['Marca'];
   
$Modelo=$_POST['Modelo'];
   
$N_Serie=$_POST['N_Serie'];
   
$Descripcion=$_POST['Descripcion'];
   
$Fecha_Compra=$_POST['Fecha_Compra'];
   
$N_Factura=$_POST['N_Factura'];       
   
$Rut_Proveedor=$_POST['Rut_Proveedor'];   
   
$Rut_Asignado=$_POST['Rut_Asignado'];



   
mysql_query("INSERT INTO equipos ( Tipo, Marca, Modelo, N_Serie, Descripcion, Fecha_Compra, N_Factura, Rut_Proveedor,
               Rut_Asignado)
          values ('$Tipo', '$Marca', '$Modelo', '$N_Serie', '$Descripcion', '$Fecha_Compra', '$N_Factura', '$Rut_Proveedor',
                    '$Rut_Asignado')"
,$link); 
    

  
header('Location: Equipos.php');
     
   
?>


pero todo esto no me genera ningun mensaje de error si el rut es incorrecto, cual es el problema





Cita:
Iniciado por Cluster
Bueno .. pero que problema tienes?, no necesitas saber como funciona la función (el algoritmo base 11 para revisar el código verificador de un RUT), eso ya lo hace la función en si.

Ahora .. si tu dices que tienes un sólo campo de tus formularios (que generas una $_POST['rut']) y ahí pueden escribir el rut con puntos o sin puntos y con el dígito verificador con su - de separador .. sólo tendrás que desglosar y limpiar de puntos esa cadena (RUT) para usar la función que te proponen en las FAQ's.

Para quitar los puntos:
Código PHP:
$rut_completo=str_replace('.','',$_POST['rut']); 
y para desglosar el "rut" del "dígito":
Código PHP:
$rut_completo_partes=explode('-',$rut_completo);
$rut=$rut_completo_partes[0];
$rut_digito=$rut_completo_partes[1]; 
Con eso ya podrás usarlo en la función que te mencionaron:

Código PHP:
if (ValidaDVRut($rut)==$rut_digito) { 
echo 
"Rut válido!!"
} else { 
echo 
"Rut inválido!!";

Un saludo,