viernes, 31 de mayo de 2019

Operadores aritméticos y logicos en PHP

Operadores aritméticos

Los operadores aritméticos son:

Operación Operador en PHP Ejemplo
Adición + 10 + 2 = 12
Sustracción - 10 - 2 = 8
Multiplicación * 10 * 2 = 20
División / 10 / 2 = 5
Potencia ** 10 ** 2 = 100

Ejemplo en código:
<?php
#Adición
$suma = 2 + 4 ;
var_dump($suma) ;

#Sustracción
$resta = 2 - 4 ;
var_dump($resta) ;

#Multiplicación
$producto = 2 * 4 ;
var_dump($producto) ;

#División
$cociente = 2 / 4 ;
var_dump($cociente) ;

#Potencia
$potencia = 2 ** 4 ;
var_dump($potencia) ;
?>

Operadores lógicos


Los operadores lógicos de PHP son

Operador Operador en PHP Ejemplo
Conjunción ( y ) && true && true == true
true && false == false
false && true == false
false && false == false
Disyunción ( o ) ||
true || true == true
true || false == true
false || true == true
false || false == false
Negación ( no ) ! ! true == false
! false == true


Además, las comparaciones numéricas

Operador Operador en PHP Ejemplo
Mayor >12 > 10 (true)
20 > 30 (false)
Mayor o igual >= 12 >= 12 (true)
12 >= 10 (true)
Menor <2 < 10 (true)
12 < 10 (false)
Menor o igual <=2 <= 10 (true)
10 <= 10 (true)
Igual == "hola" ==  "hola" (true)
12 == 10 (false)
Diferente !=12 != 10 (verdadero)
12 != 12 (false)


Ejemplo en código:
<?php
#Saber si un número es menor de 100 y mayor o igual de 10
if ($num >=10 && $num < 100) {
   echo "Cumple la condición" ;
}
?>

miércoles, 22 de mayo de 2019

Creación de un Menú con responsive design usando HTML + CSS + JS

Se empleará la librería de JQuery para generar el siguiente menú responsivo:

Código HTML

Se construye un menú con los diversos elementos de HTML como "nav", "ul" y "li".


<!DOCTYPE html>
<html>
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="author" content="Jhon Paul">
   <title>Menú</title>
   <!-- CSS -->
   <link rel="stylesheet" href="menu.css">
   <!-- JS -->
   <script 
     src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js">
   </script>
   <script src="menu.js"></script> 
 </head>
 <body style="font-family: calibri, arial;">
   <div class="menu">
 <div class="menu_bar">
            <a href="#" style="color: white;">Menu</a>
        </div>
 <nav class="menu" style="margin: 0 auto;" >
     <ul>
  <li class="menu"><a href="#">Menu 01</a>
  </li><li class="menu">
   <a href="#">Menu 02</a>
   <ul class="submenu">                                    
     <li><a href="#">Submenu 02.01</a></li>
     <li><a href="#">Submenu 02.02</a></li>
     <li><a href="#">Submenu 02.03</a></li>
                               </ul>
  </li><li class="menu">
   <a href="#">Menu 03</a>
   <ul class="submenu">        
     <li><a href="#">Submenu 03.01</a></li>
     <li><a href="#">Submenu 03.02</a></li>                                    
   </ul>
  </li><li class="menu">
   <a href="#">Menu 04</a>
   <ul class="submenu">
     <li><a href="#">Submenu 04.01</a></li> 
   </ul>    
  </li>    
     </ul>
 </nav>
  </div>
 </body>
</html>


Código CSS

Se añade reglas AT para controlar los redimensionamientos de la pantalla


a{text-decoration: none;}
@media only screen and (min-width: 1px){
    .menu_bar {
        display:block;
        text-align: right;
    }
 
 .menu_bar a {
  background:#000000;
        padding: 0.7rem;
 }
  
    nav.menu {
        width: 100%;
    }
 
    nav.menu ul li {
        display: block;
        border-bottom:1px solid white;
    }

    nav.menu ul li a {
        display: block;
        font-size: 1rem;
        position: relative;
        color: white;
        box-sizing: border-box;
        background:black;
        padding: 0.5rem 0;
    }

    .submenu {
        display: none;
    }

    nav.menu ul {
        list-style: none;
        padding: 0;
        text-align: center;
    }
}

@media only screen and (min-width: 460px){   
    nav.menu ul li a {
        font-size: 1.2rem;
        padding: 0.8rem 0;
    }
}

@media only screen and (min-width: 768px){
    .menu_bar {
        display:none;
    }
    nav.menu{
        display: initial;
    }
    nav.menu ul li:hover .submenu {
        display:block;
    }

nav.menu {
 display: block;
 margin: 0;
 padding: 0;
 list-style: none;
}
 nav.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
 }

 nav.menu > ul > li {
  float: left;
 }
 
     nav.menu ul li a {
                display: block;
  margin: 0;
  padding: 15px 20px;
  color: #FFFFFF;
  background-color: #333333;
            }
 
     nav.menu > ul > li > ul {
  display: none;
     }

     nav.menu > ul > li:hover > ul {
  list-style: none;
  display: block;
  position: absolute;
     }
 
     nav.menu a:hover {
  background-color: #C80000;
            } 
}

Código JS

Finalmente, código JS para controlar el despliegue del menú en pantallas pequeñas.

$(document).ready(function () {
    $('.menu_bar').click(function () {
        $('nav.menu').slideToggle();
    });
    $(window).resize(function () {
        if (eval($('body').width()) > 750) {
            $('nav.menu').show();
        }else{
            $('nav.menu').hide();
        }
    });
});

viernes, 17 de mayo de 2019

Métodos de entrada y salida de JavaScript

Métodos de entrada

PROMPT

En JavaScript tenemos el método prompt(), que tiene tres variantes según la cantidad de parámetros:

Sin parámetros Un parámetro Dos parámetros
  prompt();
  prompt('Ingrese su edad');
  prompt('Ingrese su edad','18');

  • Cuando no tiene parámetros muestra una ventana flotante que pide ingresar un dato.
  • Cuando tiene un parámetro muestra la ventana flotante con un texto, que es el que colocamos como argumentos.
  • Cuando tiene dos parámetros muestra la ventana flotante, el título o texto sobre la caja de texto y un valor por defecto en la caja de texto.

CONFIRM

En JavaScript tenemos el método confirm(), que permite al usuario elegir una opción entre Ok (aceptar) o Cancel (Cancelar), especialmente útil para evitar que acciones no deseadas se ejecuten al dar un clic por error o mostrar un mensaje previo a la confirmación de una acción. Por ejemplo:
El siguiente código utiliza la función Confirm cuando se presiona el botón.

<script>
   function test(){
     let eleccion = confirm("Elige una opción\n\nSabiamente");
     if (eleccion == true) {
        alert("Elegiste Aceptar");
     } else {
        alert("Elegiste Cancelar");
     } 
   }
</script>

<button onclick="test();">Botón confirm</button>

Notas:
para insertar saltos de línea usamos \n dentro de la cadena de texto, para un espacio de tabulación \t
El valor que la función confirm devuelve es un valor lógico (verdadero o falso)



Métodos de salida

ALERT

La función por excelencia para mostrar un mensaje es Alert(); que nos permite desplegar una ventana flotante con el mensaje que deseemos, este mensaje puede ser cualquier tipo de variable, pero se mostrará convertido a texto. Ejemplo:


<button onclick="alert('Yo soy un alert');">Botón alert</button>



miércoles, 1 de mayo de 2019

Formularios en HTML5

Los formularios envían datos a través de los métodos POST y GET, por ello es necesario que los diversos elementos que contendrán los datos que serán enviados se encuentren dentro de las etiquetas FORM

Estructura básica

Todo formulario debe encontrarse entre las etiquetas Form, luego los diversos elementos pueden encontrarse como mejor deseemos, pero lo recomendable es seguir una serie de estándares como utilizar los Fieldset como contenedores de los diversos elementos que pueden ser etiquetas, cajas de texto, botones, etc.

Ejemplo en código:

<form>
  <fieldset>
     Ingrese su usuario:<br/>
     <input type="text" /><br/>
     Ingrese su clave:<br/>
     <input type="password" /><br/><br/>
     <input type="submit" value="Enviar"/>
  </fieldset>                
</form>

Resultado visual:

Ingrese su usuario:

Ingrese su clave:



Títulos, textos, cajas de texto y botones básicos

Podemos colocar un título para cada Fieldset mediante la etiqueta Legend, textos de guía con la etiqueta Label y diversas cajas de texto con la etiqueta Input. Además, botones que pueden ser creados con la misma etiqueta Input o Button.

Ejemplo en código:

<form>
  <fieldset>
     <legend>Titulo</legend>
     <label>Ingrese su usuario:</label><br/>
     <input type="text" /><br/>
     <label>Ingrese su clave:</label><br/>
     <input type="password" /><br/><br/>
     <button>ENVIAR</button>
  </fieldset>
</form>

Resultado visual:


Titulo






Diversos tipos de campos para ingresar información

Tenemos los diferentes tipos con sus respectivas propiedades

Texto normal

Ejemplo en código:

<form>
  <fieldset>
     <legend>INPUT</legend>
     Texto normal: <br/>
     <input type="text"/><br/>
     Texto con valor: <br/>
     <input type="text" value="valor"/><br/>
     Texto solo de lectura: <br/>
     <input type="text" value="no puedes cambiarme" readonly/><br/>
     Texto con placeholder: <br/>
     <input type="text" placeholder="Ingresa tu nombre"/><br/>
     Texto requerido u obligatorio: <br/>
     <input type="text" placeholder="Dale clic a enviar" required/><br/>
     Texto multilíneas: <br/><textarea></textarea><br/>
     <button type="submit">ENVIAR</button>
  </fieldset>
</form>

Resultado visual:


INPUT Texto normal:

Texto con valor:

Texto solo de lectura:

Texto con placeholder:

Texto requerido u obligatorio:

Texto multilíneas:



Texto para contraseñas

Ejemplo en código:

<form>
  <fieldset>
     <legend>CONTRASEÑAS</legend>
     Contraseña: <br/>
     <input type="password" placeholder="Ingresa tu clave" required/><br/>
     <button type="submit">ENVIAR</button>
  </fieldset>
</form>

Resultado visual:

CONTRASEÑAS Contraseña:


Calendario fecha y hora

Ejemplo en código:

<form>
  <fieldset>
     <legend>FECHAS Y HORAS</legend>
     Fecha: <br/>
     <input type="date"/><br/>
     Hora: <br/>
     <input type="time"/><br/>     
  </fieldset>
</form>

Resultado visual:
FECHAS Y HORAS Fecha:

Hora:



Carga de archivos

Ejemplo en código:

<form>
  <fieldset>
     <legend>ARCHIVOS</legend>
     Cargar un archivo: <br/>
     <input type="file" name="archivo"/><br/>
     <button type="submit">ENVIAR</button>
  </fieldset>
</form>

Resultado visual:
ARCHIVOS Cargar un archivo:



Numérico

Ejemplo en código:

<form>
  <fieldset>
     <legend>NÚMEROS</legend>
     Números enteros:<br/>
     <input type="number"/><br/>
     Números con decimales:<br/>
     <input type="number" min="-10" max="20" step="0.01"/><br/>
     Números de tres en tres:<br/>
     <input type="number" step="3"/><br/>
  </fieldset>
</form>

Resultado visual:
NÚMEROS Números enteros:

Números con decimales:

Números de tres en tres:



Colores

Ejemplo en código:

<form>
  <fieldset>
     <legend>COLORES</legend>
     Selecciona un color<br/>
     <input type="color"/><br/>
  </fieldset>
</form>

Resultado visual:

COLORES Selecciona un color



Barras deslizables

Ejemplo en código:

<form>
  <fieldset>
     <legend>BARRAS DESLIZABLES</legend>
     Mueva las barras: <br/>
     <input type="range"/><br/>
     <input type="range" min="0" max="100" step="10"/><br/>
     <input type="range" min="1" max="5" step="1"/><br/>
  </fieldset>
</form>

Resultado visual:

BARRAS DESLIZABLES Mueva las barras:





Botones

Tenemos tres tipos:

Input type submit

Ejemplo en código:

<form>
  <fieldset>     
     <input type="submit" value="Presioname"/><br/>
  </fieldset>
</form>

Resultado visual:




Button type submit

Ejemplo en código:

<form>
  <fieldset>     
     <button type="submit">Presioname</button>
  </fieldset>
</form>

Resultado visual:



Input type reset
Ejemplo en código:

<form>
  <fieldset>     
     <input type="text" value="Hola"/><br/>     
     <input type="date"/><br/>     
     <input type="reset"/><br/>
  </fieldset>
</form>

Resultado visual:






CheckBox y RadioButton

Un checkbox permite seleccionar diversos elementos de una lista, mientras RadioButton elegir un elemento de una serie de valores

Ejemplo en código:

<form>
  <fieldset>
    <legend>Radio Button</legend>
    <label>¿Qué comida que desagrada más?</label><br/><br/>
    <input type="radio" name="comidaNo"><label>Escabeche</label><br/>
    <input type="radio" name="comidaNo"><label>Arroz árabe</label><br/>
    <input type="radio" name="comidaNo"><label>Cebiche</label><br/>
    <input type="radio" name="comidaNo"><label>Tocosh</label><br/><br/>
    <button type="submit">Elegir</button>     
  </fieldset>
  <br/>
  <fieldset>
    <legend>CheckBox</legend>
    <label>¿Qué comidas que te gustan?</label><br/><br/>
    <input type="checkbox" name="comida"><label>Escabeche</label><br/>
    <input type="checkbox" name="comida"><label>Arroz árabe</label><br/>
    <input type="checkbox" name="comida"><label>Cebiche</label><br/>
    <input type="checkbox" name="comida"><label>Tocosh</label><br/><br/>
    <button type="submit">Elegir</button>     
  </fieldset>
</form>

Resultado visual:

Radio Button







CheckBox








Listas desplegables

Conocidas como los Combobox en lenguajes de programación como Visual, Java, etc. permiten desplegar una serie de valores y elegir uno de ellos, la ventaja de este frente al RadioButton es que se puede desplegar mucha más información sin usar demasiado espacio en la página.


Ejemplo en código:

<form>
  <fieldset>
     <legend>Seleccionar una ingeniería</legend>
        <select><option>Ingeniería ambiental</option>
        <option>Ingeniería eléctrica</option>
        <option>Ingeniería informática</option>
        <option>Ingeniería de minas</option>
        <option>Ingeniería química</option>
        <option selected="selected">Ingeniería de software</option>
     </select>    
  </fieldset>
</form>

Resultado visual:

Seleccionar una ingeniería