Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2003, 22:02
kech
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 23 años, 6 meses
Puntos: 0
este lo hice yo jejeje no sabia que ya avias echo uno cluster
primero un formulario donde poner el rut
formulario.htm
Código PHP:
<html>
<
head></head>
<
body>
<
title>validador de rut</title>

<
FORM METHOD=POST action="rut.php">
Rut<br>
<
INPUT TYPE="TEXT" NAME="rut">
<
br>
<
INPUT TYPE=SUBMIT VALUE="ACEPTAR">
<
form>
</
body>
</
html> 


el archivo rut.php

Código PHP:
<?php
if (is_numeric($rut)){
      
$digitos = strlen($rut);
            
// primero separamos los numeros
        
switch ($digitos){
            case 
7:
                  
$num = 0;
                
$num1 = substr ("$rut", 0, 1);
                
$num2 = substr ("$rut", 1, 1);
                
$num3 = substr ("$rut", 2, 1);
                
$num4 = substr ("$rut", 3, 1);
                
$num5 = substr ("$rut", 4, 1);
                
$num6 = substr ("$rut", 5, 1);
                
$num7 = substr ("$rut", 6, 1);
            break;  

            case 
8:
                
$num = substr("$rut", 0, 1);    
                  
$num1 = substr ("$rut", 1, 1);
                 
$num2 = substr ("$rut", 2, 1);
                  
$num3 = substr ("$rut", 3, 1);
                
$num4 = substr ("$rut", 4, 1);
                 
$num5 = substr ("$rut", 5, 1);
                
$num6 = substr ("$rut", 6, 1);
                
$num7 = substr ("$rut", 7, 1);
             break;
        }
        if (
$digitos >=9){
            echo 
"El numero que digitaste tiene $digitos numeros, y como maximo el rut tiene 8";
        }
        else {
                if (
$digitos <=6){
                    echo 
"El numero que digitaste tiene $digitos numeros, y como minimo el rut tiene 7";                }
                else{

                     
//ahora empieza la multiplicacion
                      
$nu = $num*3;
                      
$nu1 = $num1*2;
                      
$nu2 = $num2*7;
                      
$nu3 = $num3*6;
                      
$nu4 = $num4*5;
                      
$nu5 = $num5*4;
                      
$nu6 = $num6*3;
                      
$nu7 = $num7*2;
  
                        
//ahora empieza la suma
                      
$totalsum = $nu + $nu1 + $nu2 + $nu3 + $nu4 + $nu5 + $nu6 + $nu7;
  
                            
//ahora la divicion
                      
$totaldiv = $totalsum / 11;

                        
//ahora sacamos el sobrante de la divicion
                      
$totalresu = $totalsum % 11;

                        
//ahora empieza la resta
                      
$totalres = 11 - $totalresu;

                      
                      
                      
//ahora mostramos el digito
                      
                      
switch ($totalres){
                              case 
10:
                              
$digito = "K";
                              break;
            
                              case 
11:
                              
$digito = "0";
                              break;
    
                              default:   
                              
$digito = $totalres;
                              break;
                       }
 
                        echo 
"el digito que quieres es <b>\"$digito\"</b><br>";
                    }
            }
      
}
else {

    echo 
"Pusiste letras";
}
?>

es un poco mas grande del que pones cluster pero es mas facil de entender para los que no saben mucho de php como yo jejeje

este codigo toma como referencia que el usuario ingresa solo numeros sin puntos


salu2

Última edición por kech; 19/05/2003 a las 22:05