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, $i, 1) + $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,