E hecho lo sgte pero en realidad no se pa donde va la moto, a estas alturas si me ayudas mas podre entender .sigo con lo mismo
E tomado tu ejemplo de como validar en un solo campo y lo e puesto en procesar para ke esto lo verifique los datos antes de ser ingresados ¡o no!
procesar.php
Código PHP:
<?php
include("conex.php");
$link=Conectarse();
$rut_completo=str_replace('.','',$_POST['Rut_Proveedor']);
$rut_completo_partes=explode('-',$rut_completo);
$Rut_Proveedor=$rut_completo_partes[0];
$rut_digito=$rut_completo_partes[1];
if (ValidaDVRut($Rut_Proveedor)==$rut_digito) {
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');
?>
<?php
Esto es para llamar el include ke hace referencia a la conexion y a la función rut
conex.php
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;
}
?>
Cita:
Iniciado por Cluster Si tu haces un "echo" y luego un "location" (para redireccionar) lo que deberías observar es un tremendo error referente a cabeceras HTTP enviadas al navegador (justamente por los "echo" de antes).
Si ese script hace X proceso y al terminar (si todo va bien) redirecciona a cierto script .. NO puedes en ese script ni es correcto en ese proceso mostrar un "mesaje" de error o exito .. debes de redireccionar.
Código PHP:
if (ValidaDVRut($rut)==$rut_digito) {
header ("Location: Equipos.php");
exit;
} else {
header("Location: al_formulario_donde_pides_esos_datos.php");
// Tendrás que pasarle también las variables que venían del formulario
// sino .. las pierdes.
exit;
}
No sé si leistes mi mensaje .. pero ya te dí la solución para que lo uses .. (no lo aplicastes para nada en tu código!!!!).
Un saludo,