Como calcular la letra del DNI con PHP
Escrito por: Luebsgrafic en Codigo abierto, General, PHP, Script, programacionPara calcular la letra del DNI con PHP lo único que tenemos que saber es la formula matemática.
La formula es el dividir el numero del DNI por 23 y nos dara un resto entre 0 y 22 el cual mostraremos la letra segun esta tabla:
|
RESTO |
LETRA |
RESTO |
LETRA |
|---|---|---|---|
|
0 |
T |
12 |
N |
|
1 |
R |
13 |
J |
|
2 |
W |
14 |
Z |
|
3 |
A |
15 |
S |
|
4 |
G |
16 |
Q |
|
5 |
M |
17 |
V |
|
6 |
Y |
18 |
H |
|
7 |
F |
19 |
L |
|
8 |
P |
20 |
C |
|
9 |
D |
21 |
K |
|
10 |
X |
22 |
E |
|
11 |
B |
Aqui os dejo el script:
Tags: calcular, calcular letra dni, dni, ejemplo, letra, PHP, Script
<?php//creo el array con las letras segun la tabla anterior ya que los array e primer valor empieza por 0.
$letrasDni = array(“T”, “R”, “W”, “A”, “G”, “M”, “Y”, “F”, “P”, “D”, “X”, “B”, “N”, “J”, “Z”, “S”,
“Q”, “V”, “H”, “L”, “C”, “K”, “E”);
//Guardo la variable pasada por el usuario desde el formulario
$dni = $_POST[‘dni’];
//Guardo el resto de la division en la variable resto
$resto = $dni % 23;
//Paso el resto al array para que me devuelva la letra de la posicion en el array
$letra = $letrasDni[$resto];
?>
<html>
<head>
<title>Calculo de letra DNI</title>
</head>
<body>
<h2><center>Introduce tu dni y calculara la letra.</center></h2><br /><br />
<form method=”POST” action=”calculaDNI.php”>
<?php
//compruebo que la variable dni del formulario este inicializada si es asi ejecuta los que esta en el if
if(isset($_POST[‘dni’])){
?>
<input type=”text” name=”dni” value=”<?php echo $dni; ?>“>
<input type=”text” size=”3″ disabled value=”<?php echo $letra; ?>“>
<input type=”submit” value=”Calcular”>
<?php
// Si la variable no esta inicializada ejecuta el formulario
}else{
?>
<input type=”text” name=”dni”>
<input type=”text” size=”3″ disabled value=”">
<input type=”submit” value=”Calcular”>
<?php
}
?>
</form>
</body>
</html>
Bueno pues aquí teneis el ejemplo, la verdad que esta hecho un poco cutre, se puede mejorar muchas cosas como comprobar si es realmente un numero el que ha pasado el usuario con la funcion is_int() lo cual quedaria asi:
dni = is_int($_POST[’dni’]) ;
Pero la cuestion de esto es que veais como es el script la implementacion y diseño del html y todas comprobaciones son cosas vuestras :-].
Bueno espero que os sirva de ayuda en algunos de vuestros trabajos os dejo el script para que lo podais descargar.
Podeis comentar, criticar, agradecer y mejorar el script.



Entradas (RSS)