Archivo del Autor

Para 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:


<?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.

Descarga el Script calculaDNI.rar

Tags: , , , , , ,

Comments No Hay Comentarios »

Segunda edición del concurso de Programación en QT

QTCenter, junto con sus patrocinadores, lanzan la segunda edición de concurso de programación en QT centrado en la comunidad QT/Qtopia.

Para todo aquel que esté interesado, aquí os dejo el enlace a la web.

Via : CutreBlog de Miguel Ángel


Tags: , ,

Comments No Hay Comentarios »

Ejemplo Completo de Clase Simple:

<?php

class Clase {

var $numeros = array();

function Clase()
{
//Do nothing…
}

function setNumero($numero)
{
$this->numeros[] = $numero;
}

function muestraNumeros()
{
return implode(’,', $this->numeros);
}

}

$obj = new Clase();

$obj->setNumero(2);

$obj->setNumero(4);

$obj->setNumero(6);

echo $obj->muestraNumeros();

?>

Una clase con dos metodos, uno para agregar numeros, donde podemos agregar los numeros que queramos y otra para mostrar los numeros separados por una coma, observa que para guardar los numeros es usado un atributo en modalidad de array, el valor de los atributos dentro de la clase es estatico asi que sirve a la perfeccion para nuestro proposito.

Esto mostraría:
2,4,6

La programación orientada a objetos no es mas dificil que la programacion estructurada y es bastante util, aunque tiene tambien sus desventajas como el tiempo de procesamiento…

Tags: , , ,

Comments No Hay Comentarios »

Acceso Private (Privado)
Este es el más restrictivo, los elementos declarados bajo private solo seran accesibles desde metodos de su clase original.

<?php
class Ejemplo ()
{
private $atributo;

function Ejemplo() {
$this->atributo = ‘Hey!’;
}

function daAtributo()
{
return $this->atributo;
}

}

$obj = new Ejemplo();

echo $obj->daAtributo;
?>

Como vez, hemos tenido que instanciar un metodo para devolver el valor de atributo.

Acceso Protected (Protegido)

Con este los elementos seran accesibles desde su clase original o desde clases heredadas.

Tags: , , , ,

Comments No Hay Comentarios »

Acceso Public (Publico)

Al ser declarado un metodo o atributo public sera accesible desde cualquier punto, este es el punto mas bajo del sistema de proteccion. Para declarar publico, se usa la palabra reservada public.

<?php
class Ejemplo ()
{
public $atributo;

function Ejemplo() {
$this->atributo = ‘Hey!’;
}

}

$obj = new Ejemplo();

echo $obj->atributo;
?>

Tags: , , , ,

Comments No Hay Comentarios »