Programación web de servidor

De Wiket
Salta a la navegació Salta a la cerca

En este curso seguiremos una estructura clásica comenzando por ejercicios sencillos para conocer la sintaxis e iremos aprendiendo todo lo necesario para poder desarrollar aplicaciones en PHP. Aquí os dejo algunas páginas con tutoriales de PHP:

Ejercicios

Sintaxis

  1. Escribe un programa que pinte un título en HTML con el texto: "Mi primera aplicación en PHP ASIX M09" y que en PHP pinte en pantalla el texto: "Hola mundo!". Añade comentarios al código explicando que hace tu código PHP (Comentarios multilínea y de una única línea) .
  2. Explica que hace cada una de las siguiente líneas PHP. Sacas alguna conclusión?
<!DOCTYPE html>
<html>
<body>

<?php
ECHO "I know Kung Fu<br>";
echo "Hola Mundo!<br>";

$pastilla = "roja";
echo "permaneces en el país de las maravillas y te mostraré qué tan profundo llega la madriguera. Elige la " . $pastilla . "<br>";
echo "el cuento termina, despiertas en tu cama y creerás lo que quieras creer. Elige la " . $PASTILLA . "<br>";
?>

</body>
</html>

Variables y Constantes

  1. Crea tres variables, una de tipo String, otra de tipo entero y otra de tipo decimal. Imprime su valor.
  2. Nombra y explica los diferentes ámbitos de variables que hay en PHP.
  3. Explica que hacen los siguientes códigos. Modifícalos en caso necesario para que funcionen de manera correcta:
<?php
$guardian_clase = "Hechicero"; /* ámbito global */

function GuardianClase()
{
    echo $guardian_clase; /* referencia a una variable del ámbito local */
}

GuardianClase();
?>
<?php
$x = 2;
$y = 6;

function Multiplica()
{
    global $x, $y;

    $y = $x * $y;
}

Multiplica();
echo $y;
?>
<?php
$a = 1;
$b = 2;

function Suma()
{
    $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Suma();
echo $b;
?>
<?php
function variableEstatica() {
    static $var = 0;
    echo $var;
    $var++;
}

variableEstatica();
variableEstatica();
variableEstatica();
?>
  1. Crea una función que calcule el área de un circulo donde el número π sea una constante

echo y print

  1. Declara 2 variables de texto (txt1 = pon aquí un título para la página, txt2 = pon aquí tu videojuego favorito) y 2 variables numéricas. Pinta con la función echo el contenido de la primera variable de texto con formato h3 (html) y el contenido de la segunda variable de texto junto al texto: Mi videojuego favorito es . Pinta también la suma de los valores de las variables numéricas.
  2. Realiza el mismo ejercicio con la función print.
  3. Explica que diferencia hay entre la función echo y la función print.

Tipos de datos

  1. Lista los tipos de variables que existen en PHP y pon un ejemplo de cada uno. Pista: la función var_dump muestra el tipo de la variable que le pasamos por parámetro.

Funciones útiles de string

  1. Escribe un programa que pinte el número de caracteres y el número de palabras que tiene la frase: "klaatu barada nikto"
  2. Escribe un programa que pinte correctamente esta frase: "...azreuf sed omoc euqrop ,aicneicap emad soiD"
  3. Escribe un programa que pinte si las palabras "todas", "Dios", "cambiar" están en la frase: "Señor, concédeme serenidad para aceptar todo aquello que no puedo cambiar, fortaleza para cambiar lo que soy capaz de cambiar y sabiduría para entender la diferencia." Pinta una respuesta por cada palabra con el formato: "La palabra "todas" está/no está en la frase...
  4. Escribe un programa que dada la frase del ejercicio anterior sustituya la palabra Señor por la palabra Dios.

Operadores

  1. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores aritméticos de PHP (Suma, resta, multiplicación, división, módulo, exponencial)
  2. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores de asignación de PHP (Asignación, suma, resta, multiplicación, división, módulo)
  3. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores de comparación de PHP (Igual, idéntico, no igual, no idéntico, más grande, más grande o igual, más pequeño, más pequeño o igual)
  4. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores de incremento/decremento de PHP (pre-incremento, post-incremento, pre-decremento, post-decremento)
  5. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores lógicos de PHP (and, or, xor, not)
  6. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores de string de PHP (concatenación, concatenación y asignación)
  7. Crea un programa que explique y ponga un ejemplo de cada uno de los operadores de arrays de PHP (unión, igualdad, identidad, no igual, no idéntico)

Condicionales

  1. Escribe un programa que si en el momento de ejecutarse en la hora del sistema los minutos son impares imprima la frase: "La suma de 2 números impares siempre es un número par".
  2. Escribe un programa que si en el momento de ejecutarse en la hora del sistema los minutos son impares imprima la frase: "La suma de 2 números impares siempre es un número par" y si los minutos son pares imprima la frase: "Soy el amo y ya se como usar el if...else por tanto esto es par"
  3. Usando el código siguiente:
    • Ejercicio3_Condicionales.html
    <!DOCTYPE html>
    <html>
    <head>
    <title>Mi plataforma de juego</title>
    <meta charset="utf-8">
    </head>
        <body>
            <form name="formularioDatos"method="get"action="Ejercicio3_Condicionales.php">
                <p>Selecciona una compañia</p>
                <br/>
                <select name="ciaSelect">
                    <option value="SONY">Sony</option>
                    <option value="NINTENDO">Nintendo</option>
                    <option value="MICROSOT">Microsoft</option>
                    <option value="PC">Pc</option>
                </select>
                  <br/> <br/>
                 <input value="Adivinar" type="submit" />
            </form>
        </body>
    </html>
    
    • Ejercicio3_Condicionales.php
    <?php
    $ciaSelected = $_GET['ciaSelect'];
    ?>
    

    Modifica el archivo Ejercicio3_Condicionales.php para que muestre PS4 si seleccionó SONY, SWITCH si seleccionó NINTENDO, XBOX ONE si seleccionó MICROSOFT y PC MASTER RACE si seleccionó PC. No puedes usar IF...ELSE

  4. Escribe un programa que según el valor de la variable mes (puede ser number o string) indique el número de días que tiene ese mes.(Utiliza el condicional if...else if..else)
  5. Escribe un programa que según el valor de la variable mes (puede ser number o string) indique el número de días que tiene ese mes.(Utiliza el condicional Switch)
  6. Escribe un programa que dado un número indique si el número es divisible por 3 y por 7
  7. Escribe un programa que dado un número indique si el número es positivo, negativo o cero
  8. Escribe un programa que introduciendo una nota entre 0 y 10 indique el resultado en forma de texto según la siguiente tabla
    Notas
    0:4 Insuficiente
    5:6 Suficiente
    7:8 Notable
    9:10 Excelente
  9. Escribe un programa que introduciendo un número del 1 al 7 imprima el día de la semana al que pertenece. (1 es lunes). Extra: modifica el programa para que enseñe un mensaje de error en caso de introducir un número que no esté entre 1 y 7.
  10. Crea un programa que introduciendo un número de máximo 4 cifras (crea un proceso para validarlo) determine si tiene 1, 2, 3 o 4 cifras imprimiendo un mensaje que lo indique
  11. Crea un programa que introduciendo un número entero y positivo de 5 cifras como máximo rellene por la izquierda con zeros hasta conseguir completar las 5 cifras. Por ejemplo, si introducimos el número 64 el resultado sería 00064, si el número es el 20450 el resultado sería 20450.
  12. Crea un programa que permita introducir un carácter (validar en caso de introducir más de un carácter) y luego indique si se trata de una vocal, una consonante, un símbolo o un número

Bucles

  1. Escribe un script que imprima los números del 0 al 9
  2. Escribe un script que imprima los números del 100 al 105
  3. Escribe un script que imprima solo los números 3,6,9,12 y 15.
  4. Escribe un script que imprima los números del 30 al 20.
  5. Escribe un programa que imprima los números impares comprendidos entre el 23 y el 58.
  6. Modifica el programa anterior para que en cada linea se pinten solo se pinten 3 números y los siguientes en la siguiente linea de manera que quedaría algo así:
        23 25 27
        29 31 33
        ...
    
  7. Crea un programa que sea capaz de imprimir los valores comprendidos entre las variables $min y $max. Si $min es más grande que $max imprime el siguiente texto de error: "Vuelve a Barrio Sésamo si no entiendes que min siempre tiene que ser más pequeño que max".
  8. Crea un script que según el valor de la variable $enlaces cree tantos enlaces (<a href="#"> 1 </a>) como sea necesario. De modo que si $enlaces = 2 el resultado serían dos enlaces uno con el número 1 y otro con el número 2
  9. Crea un programa que determine si el número de la variable $num es un número primo. Un número primo es aquel número que solo es divisible por 1 y por sí mismo.
  10. Crea un programa que genere una tabla html de 3 x 3 que contenga los números del 1 al 9.
  11. Crea un programa que genere una tabla html de 10 x 10 con los números del 1 al 100 y que las filas impares tengan un color y las pares otro color.
  12. Crea un programa que genere un tablero de ajedrez.
  13. Crea un programa que genere una tabla html de 10 x 10 con las tablas de multiplicar.

Arrays

  1. Guarda en un array los 10 primeros números pares. Imprimelos cada uno en una linea.
  2. Dado el siguiente array : $v[1]=90;$v[30]=7;$v['e']=99;$v['hola']=43; utiliza la estructura de control for each para imprimir los valores
  3. Crea un array introduciendo 5 ciudades como valor del array. Muestra el contenido del array siguiendo el patrón: "La ciuidad con el índice xxxx tiene el nombre de yyyyy"
  4. Crea un array con nombres de niño (arrNino) y otro array con nombres de niña (arrNina), crea un nuevo array que sea la suma de los dos arrays anteriores. Imprime los nombres en una lista numerada.
  5. Crea 1 array de animales, otro de números y otro de ciudades. Crea un nuevo array con la suma de los 3 y muestralo. Ahora muestralo en orden inverso.
  6. Dado el siguiente array: arr(3,2,8,123,5,1,9). Ordenalo de mayor a menor e imprime los valores en una lista no numerada

Funciones

  1. Crea una función que imprima por pantalla "Dios dame paciencia, porque como me des fuerza...."
  2. Crea una función que usando tablas de html cree un tablero de ajedrez.
  3. Crea la función cuadradoMasUno que recibe un número como parámetro y devuelve el cuadrado de ese número y le suma 1. Ejemplo 2 => 5, 3 => 10, 4 =>17, 9 => 82
  4. Crea la función maximo que recibe dos valores y devuelve el valor más grande.
  5. Crea la función minimo que recibe dos valores y devuelve el valor más pequeño.
  6. Crea la función max_array que recibe un array y devuelve el valor máximo.
  7. Crea la función potencia que recibe 2 valores (base y exponente) y devuelve como resultado la base elevada al exponente.
  8. Crea la función factorial que recibe un número y devuelve el factorial.
  9. Crea la función palindromo que recibe un string y devuelve si el string es palindromo o no.

Formularios

  1. Crea un formulario que pida introducir tu nombre. y al clicar enviar te salude de la siguiente manera: "Bienvenido al desierto de lo real NOMBRE"
  2. Crea un formulario con los siguientes datos: Nombre(texto), Contraseña(password), educación[sin estudios, ESO, FP, Universidad](select), Nacionalidad[Española, Otra](Radio), idiomas[castellano, catalán, inglés, alemán](checkbox), email(text). Al enviar el formulario imprimir los datos recibidos.
  3. Modifica el formulario del ejercicio 1 para que usando una máquina de estados se gestione todo dentro de la misma página.
  4. Aplica control de formularios al ejercicio 2.
  5. Modifica el formulario del ejercicio 4 para que usando una máquina de estados se gestione todo dentro de la misma página.

Sesiones

  1. Crea una página que muestre el número de páginas visitadas del sitio web. La página ha de tener 2 enlaces a otras páginas que enseñarán solo el título de la página y otro enlace para volver a la página pincipal.
  2. Modifica el ejercicio anterior y añade un botón o un enlace que permita borrar la sesión.

Acceso a datos (PDO)

  1. Crea una página PHP que realice una conexión a una base de datos MySQL utilizando el objeto PDO de PHP.
  2. Crea una página PHP que haga una consulta a una base de datos MySQL desde PHP utilizando un objeto PDO.
  3. Crea una página PHP que haga que cree un nuevo registro en una base de datos MySQL desde PHP utilizando un objeto PDO.
  4. Crea una página PHP que actualice un registro en una base de datos MySQL desde PHP utilizando un objeto PDO.
  5. Crea una página PHP que borre un registro en una base de datos MySQL desde PHP utilizando un objeto PDO.