Primer Programa PHP

Primer Programa PHP

Mi experiencia en esto de las páginas webs se limita solo al HTML y CSS, simplemente porque el tiempo que me deja la universidad para seguir aprendiendo es muy limitado, sin embargo, he conseguido sacar un poco de tiempo para decidirme aprender PHP, y creo que voy por buen camino, en menos de una semana ya he conseguido varios programitas en PHP, uno de los que me siento más orgulloso es el siguiente:

Lo que vamos a hacer en este programa PHP es crear una página “generaunatablaa.php” donde vamos a tener un formulario al cual le vamos a agregar dos números y nos va a generar una tabla de tantas filas como columnas el usuario coloque.

El PHP

1- Variables
2- Envío y tratamiento de datos de formularios
3- If
4- Funciones
5- For
6- Echo

El archivo generaunatablaa.php

Vamos a insertar un formulario común y corriente con nuestro dreamweaver donde vamos a tener dos campos de texto y un botón de enviar.

Lo importante de nuestros formularios para poder usar su información en PHP es que definamos un name=” ” a cada campo del mismo, en este caso, mi formulario me ha quedado así:

1
2
3
4
5
6
7
8
9
<form id="form1" name="form1" method="post" action="generaunatabla.php">
  <p>
    <input type="text" name="filas" />Filas
    <br />
    <input type="text" name="columnas" />Columnas
    <br />
    <input type="submit" name="Submit" value="Enviar" />
  </p>
</form>

Como dije anteriormente es importante dos cosas, uno, que definamos un name a cada campo de nuestro formulario, en este caso le coloque name=”filas” al campo que pide el numero de filas y name=”columnas” al campo que pide el numero de columnas y dos que definas en action, la pagina que va a leer los datos enviados, en este caso, el archivo generaunatabla.php.

El archivo generaunatabla.php

Este archivo va a ser el que me lee la información del formulario y me genera la tabla, veamos entonces las posibles situaciones que pueden ocurrir cuando nuestro usuario ingrese valores en el formulario.

1- El Usuario ingresa letras en lugar de números
2- El Usuario ingresa un número negativo en el campo filas
3- El Usuario ingresa un número negativo en el campo columnas
4- El usuario ingresa valores correctos para ambos campos

Siempre debemos evaluar los diferentes casos que pueden ocurrir en el envío de datos, vamos a encontrarle solución a cada uno de ellos.

1- Para solucionar el primer caso (El usuario ingresa letras en lugar de números) no hace falta PHP, ya aquí en skyandstars tenemos un tutorial disponible para eliminar esa posibilidad: http://www.skyandstars.net/validar-formularios-en-dreamweaver/

El resto de los casos los vamos a solucionar con un poco de PHP, para ello abrimos una nueva página PHP en nuestro Dreamweaver y vamos a comenzar con lo siguiente:

Abrimos el indicador de PHP y luego vamos a eliminar la posibilidad de valores negativos en las filas, esto lo vamos a lograr con la sentencia de control “IF” cuya sintaxis es la siguiente:

1
2
3
4
if (condicion)
{bloque de instruccion}
else
{bloque de instruccion en caso falso}

Lo que sucede es lo siguiente: en la parte que dice “condición” vamos a colocar por ejemplo que el valor de las filas sea negativo, en caso de que sea negativo se ejecuta lo que denominamos “bloque de instruccion” que debería ser un mensaje de alerta, en caso de que el numero sea positivo (es decir que la condición no se cumpla) muestra una tabla.

Así, para eliminar la posibilidad de números negativos en las filas, vamos a tener el siguiente código:

1
2
3
4
5
6
<?php 
//eliminamos la posibilidad de filas negativas
if ($_POST["filas"] < 0){
echo "Solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}

De aquí te voy a explicar las siguientes líneas:

Línea 1: Es un comentario PHP de una sola línea, que se comienza con dos “Slash” seguidos, es importante que sepas que este tipo de comentarios es de una sola línea.

Línea 2: Primero que nada tenemos “$_POST["filas"]” que nos va a traer la variable “fila” que colocamos en el formulario en la primera pagina. Luego vemos lo siguiente “< 0" es decir estamos diciendo que si la variable fila es menor que cero ejecutamos la línea 3 y 4.

Línea 3 y 4: Son líneas que nos muestran unos determinados mensajes en caso de que el número sea negativo.

Ahora vamos a eliminar la posibilidad de las columnas negativas, para eso debemos (si pensamos en la lógica) crear otra sentencia de control if que nos haga algo parecido a la sentencia anterior, eso lo vamos a lograr con lo siguiente:

1
2
3
4
5
//eliminamos la posibilidad de columnas negativas
elseif ($_POST["columnas"] < 0){
echo "solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}

Para entender lo que se quiere lograr con el “elseif” podemos usar un poco de traducción al español. Piensa en que la traducción de “if” al español es “si”, es decir la sentencia if trabaja así por ejemplo: “SI el perro es azul entonces es extraño, si no es azul entonces puede ser normal”. Ahora imaginemos la sentencia “elseif” cuya traducción al español puede ser “además si”, la misma trabaja CONJUNTAMENTE con IF, y extendiendo el ejemplo anterior, podemos tener: “SI el perro es azul entonces es extraño, si no es azul PERO ES anaranjado es muy feo, si no, entonces es normal”. Ahora vamos a escribirte lo que queremos hacer con el código de arriba “SI el numero de filas es negativo, muestro un mensaje de error, SI NO ES negativo PERO las columnas son negativas muestro un mensaje de error, si las columnas y las filas son positivas, ejecuto el código”.

Entonces hasta ahora tenemos lo siguiente en nuestro archivo

1
2
3
4
5
6
7
8
9
10
11
<?php 
//eliminamos la posibilidad de filas negativas
if ($_POST["filas"] < 0){
echo "Solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}
//eliminamos la posibilidad de columnas negativas
elseif ($_POST["columnas"] < 0){
echo "solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}

Ahora todos los valores son validos, vamos con lo que de verdad nos genera la tabla, por supuesto dentro de las llaves correspondientes del else:

Primero creamos una función que va a depender de dos variables, en este caso nuestra función va a ser algo así:

1
2
3
function MostrarTabla($limiteF, $limiteC) {
 
}

*Donde $limiteF y $limiteC van a ser los valores correspondientes al número de filas y el numero de columnas.

Debemos darnos cuenta que en la estructura HTML de una tabla la apertura y el cierre de la misma es independiente del numero de filas o de columnas, así podemos imprimir de una vez como dije antes, el cierre y la apertura de la tabla.

1
2
3
4
5
	function MostrarTabla($limiteF, $limiteC){
		echo "<table width=0 border=1 cellspacing=0 cellpadding=0>";//Inicio la Tabla Comun
//AQUI VAN LAS FILAS Y COLUMNAS
		echo "</table>";//Termino la tabla comun
	}//de la funcion

*Nota que deje un comentario en la línea 3 que dice que ahí van a estar las filas y las columnas.

Ahora necesitamos de alguna herramienta en PHP que nos permita repetir las filas y las columnas un número determinado de veces, para eso vamos a usar la sentencia de control “FOR”. lo vamos a hacer de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
	function MostrarTabla($limiteF, $limiteC){
		echo "tabla de $limiteF Filas y $limiteC Columnas";
		echo "<table width=0 border=1 cellspacing=0 cellpadding=0>";//Inicio la Tabla Comun
		for ($numerof = 1; $numerof <= $limiteF; $numerof++){
			echo "  <tr>\n";//inicio de la fila comun
			//Aqui van las columnas
			echo "  </tr>\n";//fin de la fila comun
		}//del for para las filas
		echo "</table>";//Termino la tabla comun
	}//de la funcion

La línea que dice for esta seguida de “$numerof = 1; $numerof <= $limiteF; $numerof++" que nos dice que lo que está entre los corchetes siguientes se va a repetir desde 1 hasta el "limiteF", en este caso lo que se va a repetir es el código HTML correspondiente a las filas.

Ahora necesitamos agregar otro for para repetir tantas columnas como sea el "limiteC", entonces nuestro código nos quedaría:

1
2
3
4
5
6
7
8
9
10
11
12
	function MostrarTabla($limiteF, $limiteC){
		echo "tabla de $limiteF Filas y $limiteC Columnas";
		echo "<table width=0 border=1 cellspacing=0 cellpadding=0>";//Inicio la Tabla Comun
		for ($numerof = 1; $numerof <= $limiteF; $numerof++){
			echo "  <tr>\n";//inicio de la fila comun
			for ($numeroc = 1; $numeroc <= $limiteC; $numeroc++){
				echo "    <td>&nbsp;</td>";//columnas
			}//del for para las columnas
			echo "  </tr>\n";//fin de la fila comun
		}//del for para las filas
		echo "</table>";//Termino la tabla comun
	}//de la funcion

*Siempre ayúdate con los comentarios para especificar que corchete termina que instruccion.

Finalmente llamamos a la funcion de la siguiente manera:

1
	MostrarTabla($_POST["filas"], $_POST["columnas"]);

Así nuestros códigos finales quedan de la siguiente manera:

Archivo generaunatablaa.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
 
<body>
<h1>Escribe el numero de Filas y el numero de Columnas para tu tabla</h1>
 
<form id="form1" name="form1" method="post" action="generaunatabla.php">
  <p>
    <input type="text" name="filas" />Filas
    <br />
    <input type="text" name="columnas" />Columnas
    <br />
    <input type="submit" name="Submit" value="Enviar" />
  </p>
</form>
<p>&nbsp;</p>
</body>
</html>

Archivo generaunatabla.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
 
<body>
<?php 
//eliminamos la posibilidad de filas negativas
if ($_POST["filas"] < 0){
echo "Solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}
//eliminamos la posibilidad de columnas negativas
elseif ($_POST["columnas"] < 0){
echo "solo numeros positivos<br />";
echo "<a href=generaunatablaa.php>Volver</a>";
}
//si los numeros son correctos, generamos la tabla
else {
	function MostrarTabla($limiteF, $limiteC){
		echo "tabla de $limiteF Filas y $limiteC Columnas";
		echo "<table width=0 border=1 cellspacing=0 cellpadding=0>";//Inicio la Tabla Comun
		for ($numerof = 1; $numerof <= $limiteF; $numerof++){
			echo "  <tr>\n";//inicio de la fila comun
			for ($numeroc = 1; $numeroc <= $limiteC; $numeroc++){
				echo "    <td>&nbsp;</td>";//columnas
			}//del for para las columnas
			echo "  </tr>\n";//fin de la fila comun
		}//del for para las filas
		echo "</table>";//Termino la tabla comun
	}//de la funcion
	MostrarTabla($_POST["filas"], $_POST["columnas"]);
}//del if
?>
</body>
</html>

Mijael es el creador y editor de skyandstars.net donde publica guias y tutoriales sobre WordPress, Cutenews, PHP, HTML y mucho más. Acutalmente estudiante universitario.

Mijael166

Quizas alguna de estas entradas te pueda interesar

Deja un Comentario

Nombre (Requerido)

Email (Requerido pero no publicado)

Web

Comentario (Requerido)

*Tu E-mail es usado para relacionarlo con tu cuenta en Gravatar