Images

EVALUACIÓN

8 de noviembre de 2017

Evaluación 08 de Nov. 2017.

  • Recomiendo realizar ejercicios de los manuales 33 y 34.
  • Recomiendo Blog actualizado hasta el 08 de Nov. de 2017.
Images

ACUMULATIVO

1 de noviembre de 2017

Se realizó el acumulativo basado en los conceptos aprendidos de php y phpmyadmin
Images

PROYECTO

25 de octubre de 2017

Se realizó el proyecto basado en conceptos aprendidos de php y phpmyadmin.

Images

DÍA DEL NIÑO

Octubre 18 de 2017

No hubo clase por celebración del día del niño
Images

PHP Y PHPMYADMIN

Octubre 11 de 2017

Vimos la utilización de los arrays y los for en php, y seguimos profundizando en phpmyadmin.
Images

PHPMYADMIN

Octubre 4 de 2017


PHP MY ADMIN


usuario: root
contraseña: alumnos


TIPOS DE DATOS ====>

int: le almacena números de valores enteros (sirve para cálculos operacionales).
float: le almacena valores con decimales.
double: almacena valores inmensamente grandes.
time: tiempo (hora)
date: fecha
char: almacena cadenas de texto.
varchar: almacena cadenas de texto. ES MÁS EFECTIVO QUE EL CHAR. ya que es más eficiente y es más efectivo en el posicionamiento de memoria. (HASTA 255 CARACTERES).
text: almacenar muchos más datos.

ESTRUCTURA =

campos==> tipos de datos==> conjunto de campos (registro)==> conjunto de registros (tabla)==>
conjunto de tablas (base de datos)==> una base de datos es un archivo.



TABLA EN PHPMYADMIN =

Toda tabla que se vaya crear la primera columna debe ser id==> int==> auto incremet==>
debe ser PRIMARY.





SOLUCIÓN PROBLEMA HORA EQUIVOCADA =

Se pone en el archivo de resultado.php la siguiente línea de código para que salga la hora de colombia:

date_default_timezone_set('America/Bogota');



VARIABLE PARA FECHA Y HORA =

$fecha= date("Y-m-d");

$hora= date("H:i:s");



PREGUNTAS
¿Cuántas tablas pueden existir con el mismo nombre en una base de datos? Solo una.
¿Cuántas tablas con el mismo nombre pueden existir en distintas bases de datos? Las que se quiera.


CÓDIGO PARA DESCARGAR PHPMYADMIN EN LAMP=

sudo apt-get install phpmyadmin
Images

NIVELACIÓN Y EVALUACIÓN

Septiempre 27 de 2017

Se realizará evaluación práctica que contará como nivelación, plan de mejoramiento e indicador.
Images

CRONOGRAMA Y NIVELACIONES

Septiembre 20 de 2017

Cronograma: http://coldivinoamor.com/espacio_virtual/29594a8e69df98102a820fa076d268ce/cronogramas2017/13.pdf


Inicio del Cuarto Periodo

recomiendo lo siguiente:
  • El plan de Mejoramiento y las Nivelaciones se realizarán en la hora de clase.
  • Para dicha evaluación, deben llevar un template vacio, con un modulo de derechos de autor.
  • En el modulo de derechos debe tener un link tipo _blank que se redireccione a su blog ACTUALIZADO.
  • De igual manera debe tener los 11 ultimos ejercicios ya solucionados(Publicación de agosto 02 de de 2017).
  • Recomiendo tener su blog actualizado a la fecha de septiembre 20 de 2017, incluyendola.
  • Material de estudio para el cuarto periodo lo indicaré en la hora de clase.
Images

SEMANA DE FERIAS

Septiembre 13 de 2017

Semana de las ferias de bucaramanga, por ende no hubo clase.
Images

ENTREGA DE NOTAS

Septiembre 6 de 2017

Hoy fue la entrega de notas. Mi definitiva fue: 100

Resultado de imagen para 100
Images

ACUMULATIVO

Agosto 30 de 2017

Nos otorgan una carpeta llamada base en la cual aparecían 2 archivos: index.php y saludo. php.

Lo que debíamos hacer es modificar el template, de tal forma que debía haber una caja de selección donde se pudiera seleccionar a,b o x. Si se selecciona a, debía aparecer información sobre agusta ada. Si se selecciona b información sobre charles babbagge. Y por último si se seleccionaba x, debían aparecer los derechos.


SERVIDOR:

      Usuario: trax
      Dominio: se deja igual
      Clave: coinsda


NOTA: Estos dos archivos (index.php y saludos.php) debían estar contenidos dentro de una carpeta llamada "acumulativo_primer apellido_#lista_10a" .

Images

PROYECTO

Agosto 16 del 2017


Al darnos un número debíamos calcular seno, coseno, tangente, arcotangente, o raiz cuadrada dependiendo de lo que escogiera, esto debía ser dentro de una tabla 2x1. En la primera casilla se debía hacer un if, que dependiendo de lo que haya escogido la persona, aparecería "seno", "coseno", "tangente" etc.
Luego en la parte de abajo teníamos que hacer unos if simples con las funciones trigonométricas que nos han brindado los manuales. No alcancé por tiempo :(.
Images

"PROYECTO"

Agosto 9 de 2017

Funciones de strings
addcslashes — Escapa una cadena al estilo de C
addslashes — Escapa un string con barras invertidas
bin2hex — Convierte datos binarios en su representación hexadecimal
chop — Alias de rtrim
chr — Devuelve un caracter específico
chunk_split — Divide una cadena en trozos más pequeños
convert_cyr_string — Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico
convert_uudecode — Descodifica una cadena codificada mediante uuencode
convert_uuencode — Codificar mediante uuencode una cadena
count_chars — Devuelve información sobre los caracteres usados en una cadena
crc32 — Calcula el polinomio crc32 de una cadena
crypt — Hash de cadenas de un sólo sentido
echo — Muestra una o más cadenas
explode — Divide un string en varios string
fprintf — Escribir una cadena con formato a una secuencia
get_html_translation_table — Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities
hebrev — Convierte texto hebreo lógico a texto visual
hebrevc — Convertir texto de hebreo lógico a texto visual con conversión de línea nueva
hex2bin — Decodifica una cadena binaria codificada hexadecimalmente
html_entity_decode — Convierte todas las entidades HTML a sus caracteres correspondientes
htmlentities — Convierte todos los caracteres aplicables a entidades HTML
htmlspecialchars_decode — Convierte entidades HTML especiales de nuevo en caracteres
htmlspecialchars — Convierte caracteres especiales en entidades HTML
implode — Une elementos de un array en un string
join — Alias de implode
lcfirst — Pasa a minúscula el primer caracter de un string
levenshtein — Cálculo de la distancia Levenshtein entre dos strings
localeconv — Obtener información sobre el formato numérico
ltrim — Retira espacios en blanco (u otros caracteres) del inicio de un string
md5_file — Calcula el resumen criptográfico md5 de un archivo dado
md5 — Calcula el 'hash' md5 de un string
metaphone — Calcula la clave metaphone de un string
money_format — Da formato a un número como un string de moneda
nl_langinfo — Consulta información sobre el idioma y la configuración regional
nl2br — Inserta saltos de línea HTML antes de todas las nuevas líneas de un string
number_format — Formatear un número con los millares agrupados
ord — devuelve el valor ASCII de un caracter
parse_str — Convierte el string en variables
print — Mostrar una cadena
printf — Imprimir una cadena con formato
quoted_printable_decode — Convierte un string quoted-printable en un string de 8 bits
quoted_printable_encode — Convierte un string de 8 bits en un string quoted-printable
quotemeta — Escapa meta caracteres
rtrim — Retira los espacios en blanco (u otros caracteres) del final de un string
setlocale — Establecer la información del localismo
sha1_file — Calcula el hash sha1 de un archivo
sha1 — Calcula el 'hash' sha1 de un string
similar_text — Calcula la similitud entre dos strings
soundex — Calcula la clave soundex de un string
sprintf — Devuelve un string formateado
sscanf — Interpreta un string de entrada de acuerdo con un formato
str_getcsv — Convierte un string con formato CSV a un array
str_ireplace — Versión insensible a mayúsculas y minúsculas de str_replace
str_pad — Rellena un string hasta una longitud determinada con otro string
str_repeat — Repite un string
str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
str_rot13 — Realizar la transformación rot13 sobre una cadena
str_shuffle — Reordena aleatoriamente una cadena
str_split — Convierte un string en un array
str_word_count — Devuelve información sobre las palabras utilizadas en un string
strcasecmp — Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas
strchr — Alias de strstr
strcmp — Comparación de string segura a nivel binario
strcoll — Comparación de cadenas basada en la localidad
strcspn — Averiguar la longitud del segmento inicial que no coincida con una máscara
strip_tags — Retira las etiquetas HTML y PHP de un string
stripcslashes — Desmarca la cadena marcada con addcslashes
stripos — Encuentra la posición de la primera aparición de un substring en un string sin considerar mayúsculas ni minúsculas
stripslashes — Quita las barras de un string con comillas escapadas
stristr — strstr insensible a mayúsculas y minúsculas
strlen — Obtiene la longitud de un string
strnatcasecmp — Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"
strnatcmp — Comparación de strings utilizando un algoritmo de "orden natural"
strncasecmp — Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas
strncmp — Comparación segura a nivel binario de los primeros n caracteres entre strings
strpbrk — Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres
strpos — Encuentra la posición de la primera ocurrencia de un substring en un string
strrchr — Encuentra la última aparición de un caracter en un string
strrev — Invierte una string
strripos — Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
strrpos — Encuentra la posición de la última aparición de un substring en un string
strspn — Averigua la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.
strstr — Encuentra la primera aparición de un string
strtok — Tokeniza string
strtolower — Convierte una cadena a minúsculas
strtoupper — Convierte un string a mayúsculas
strtr — Convierte caracteres o reemplaza substrings
substr_compare — Comparación segura a nivel binario de dos o más strings desde un índice hasta una longitud de caracteres dada
substr_count — Cuenta el número de apariciones del substring
substr_replace — Reemplaza el texto dentro de una porción de un string
substr — Devuelve parte de una cadena
trim — Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena
ucfirst — Convierte el primer caracter de una cadena a mayúsculas
ucwords — Convierte a mayúsculas el primer caracter de cada palabra de una cadena
vfprintf — Escribe un string con formato en un flujo
vprintf — Muestra una cadena con formato
vsprintf — Devuelve una cadena con formato
wordwrap — Ajusta un string hasta un número dado de caracteres

Tomado de: http://php.net/manual/es/ref.strings.php
Images

Evaluación

2 de agosto de 2016

1. Bajo el criterio de lo indicado en clase, para su mejoramiento de notas, comento lo siguiente:
  • Hasta nuevo aviso se publicaran nuevos manuales.
  • Los manuales que necesiten serán de solicitud por el estudiante via e-mail.
  • Esta web, sólo publicará para décimo, datos especiales como recordatorio de evaluaciones y será canal de comunicación para revisión del Blog..
  • Los ejercicios serán tomados en clase por cada estudiante.
  • Recomiendo descargar a su usb, los manuales del grado décimo. Cierre oportuno del módulo 2017-08-04. 6:00 p.m.
  • Recomiendo tener el BLOG actualizado a la fecha, revision rapida.

eval: $x="cualquier cosa"; contar caracteres.
echo strlen($x);

quitar espacios
echo trim($x);

Images

Primer ejercicio en php y xampp

Julio 26 de 2017

Realizamos un ejercicio en parejas en php, en el cual nos tocaba escribir Mi primer php.

<!DOCTYPE html>
<html>
<body>

<?php
echo "My first PHP script!";
?>


</body>
</html>


Funciones matematicas

  • abs — Valor absoluto
  • acos — Arco coseno
  • acosh — Arco coseno hiperbólico
  • asin — Arco seno
  • asinh — Arco seno hiperbólico
  • atan2 — Arco tangente de dos variables
  • atan — Arco tangente
  • atanh — Arco tangente hiperbólica
  • base_convert — Convertir un número entre bases arbitrarias
  • bindec — Binario a decimal
  • ceil — Redondear fracciones hacia arriba
  • cos — Coseno
  • cosh — Coseno hiperbólico
  • decbin — Decimal a binario
  • dechex — Decimal a hexadecimal
  • decoct — Decimal a octal
  • deg2rad — Convierte el número en grados a su equivalente en radianes
  • exp — Calcula la exponencial de e
  • expm1 — Devuelve exp(numero)-1, calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • floor — Redondear fracciones hacia abajo
  • fmod — Devuelve el resto en punto flotante (módulo) de la división de los argumentos
  • getrandmax — Mostrar el mayor valor aleatorio posible
  • hexdec — Hexadecimal a decimal
  • hypot — Calcula la longitud de la hipotenusa de un triángulo de ángulo recto
  • intdiv — División entera
  • is_finite — Encuentra si un valor es un número finito legal
  • is_infinite — Encuentra si un valor es infinito
  • is_nan — Encuentra si un valor no es un número
  • lcg_value — Generador lineal congruente combinado
  • log10 — Logaritmo en base 10
  • log1p — Devuelve log(1 + numero), calculado de tal forma que no pierde precisión incluso cuando el valor del numero se aproxima a cero.
  • log — Logaritmo natural
  • max — Encontrar el valor más alto
  • min — Encontrar el valor más bajo
  • mt_getrandmax — Mostrar el mayor valor aleatorio posible
  • mt_rand — Genera un mejor número entero aleatorio
  • mt_srand — Genera el mejor número aleatorio a partir de una semilla
  • octdec — Octal a decimal
  • pi — Obtener valor de pi
  • pow — Expresión exponencial
  • rad2deg — Convierte el número en radianes a su equivalente en grados
  • rand — Genera un número entero aleatorio
  • round — Redondea un float
  • sin — Seno
  • sinh — Seno hiperbólico
  • sqrt — Raíz cuadrada
  • srand — Genera un número aleatorio a partir de una semilla
  • tan — Tangente
  • tanh — Tangente hiperbólica

Operadores lógicos ¶

Operadores lógicos
EjemploNombreResultado
$a and $bAnd (y)TRUE si tanto $a como $b son TRUE.
$a or $bOr (o inclusivo)TRUE si cualquiera de $a o $b es TRUE.
$a xor $bXor (o exclusivo)TRUE si $a o $b es TRUE, pero no ambos.
! $aNot (no)TRUE si $a no es TRUE.
$a && $bAnd (y)TRUE si tanto $a como $b son TRUE.
$a || $bOr (o inclusivo)TRUE si cualquiera de $a o $b es TRUE.
La razón para tener las dos variaciones diferentes de los operadores "and" y "or" es que ellos operan con precedencias diferentes. (Ver Precedencia de operadores.)
Ejemplo #1 Los operadores lógicos ilustrados
<?php
// --------------------
// foo() nunca será llamado ya que los operadores están en cortocircuito
$a = (false && foo());$b = (true  || foo());$c = (false and foo());$d = (true  or  foo());
// --------------------
// "||" tiene una precedencia mayor que "or"

// El resultado de la expresión (false || true) es asignado a $e
// Actúa como: ($e = (false || true))
$e = false || true;
// La constante false es asignada a $f antes de que suceda la operación "or"
// Actúa como: (($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" tiene una precedencia mayor que "and"

// El resultado de la expresión (true && false) es asignado a $g
// Actúa como: ($g = (true && false))
$g = true && false;
// La constante true es asignada a $h antes de que suceda la operación "and"
// Actúa como: (($h = true) and false)
$h = true and false;
var_dump($g, $h);?>
El resultado del ejemplo sería algo similar a:
bool(true)
bool(false)
bool(false)
bool(true)



Operadores de comparación
EjemploNombreResultado
$a == $bIgualTRUE si $a es igual a $b después de la manipulación de tipos.
$a === $bIdénticoTRUE si $a es igual a $b, y son del mismo tipo.
$a != $bDiferenteTRUE si $a no es igual a $b después de la manipulación de tipos.
$a <> $bDiferenteTRUE si $a no es igual a $b después de la manipulación de tipos.
$a !== $bNo idénticoTRUE si $a no es igual a $b, o si no son del mismo tipo.
$a < $bMenor queTRUE si $a es estrictamente menor que $b.
$a > $bMayor queTRUE si $a es estrictamente mayor que $b.
$a <= $bMenor o igual queTRUE si $a es menor o igual que $b.
$a >= $bMayor o igual queTRUE si $a es mayor o igual que $b.
$a <=> $bNave espacialUn integer menor que, igual a, o mayor que cero cuando $a es respectivamente menor que, igual a, o mayor que $b. Disponible a partir de PHP 7.
$a ?? $b ?? $cFusión de nullEl primer operando de izquierda a derecha que exista y no sea NULL. NULL si no hay valores definidos y no son NULL. Disponible a partir de PHP 7.
ESTRUCTURAS REPETITIVAS O BUCLES EN PHP
Las estructuras repetitivas (bucles) son aquellas que reiteran una o un grupo de instrucciones "n" veces y dependen de una variable de control del ciclo. Es decir, ejecutan una o varias instrucciones un número de veces definido. Las instrucciones básicas que permiten construir este tipo de estructuras son while, do ... while y for.
 

LA INSTRUCCIÓN WHILE
La instrucción while (que en castellano se traduciría como “mientras…”) ejecuta una porción de programa mientras se cumpla una cierta condición.
Mientras la condición sea verdadera, se ejecutan las instrucciones contenidas en el while. Cuando deja de cumplirse la condición, se sale del ciclo y se continúa ejecutando el resto del programa.
Si la condición no se cumple ni la primera vez que se comprueba, las líneas en el interior del while no se ejecutarán ni una vez.
La estructura general o sintaxis habitual de un bucle while es la siguiente:
<?php
while (condición) {
... sentencias;
}
?>


En este fragmento de código estaríamos indicando que mientras se cumpla la condición se realizan las sentencias, y en este caso si no se cumpliese la condición se seguiría ejecutando el programa o mostrando los contenidos de la página web justo después del cierre de la instrucción while (que queda determinado por el símbolo de cierre } ).
Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = 0;
while ($galletas < 10){
echo "$galletas, ";
$galletas++;
}
?>



En este ejemplo, las instrucciones dentro del while se ejecutarían 10 veces, mostrando los números de 0 a 9 separados por coma. Hay que tener especial cuidado en no crear estructuras repetitivas que se ejecuten infinitamente (bucles infinitos). En el ejemplo anterior, si no incrementamos el valor de la variable $galletas, la condición del while se cumpliría siempre y tendríamos un problema porque habríamos creado un bucle infinito, quedando el programa ‘atascado’ en dicho while.


EJERCICIO 1
Crea el código PHP donde generes:
a) Un bucle while que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente)
b) Un bucle while que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.


LA INSTRUCCIÓN DO … WHILE
La estructura repetitiva do-while (en castellano equivaldría a hacer… mientras) es muy similar a la estructura while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar de al principio. La diferencia principal con los bucles while es que está garantizado que se ejecuten las instrucciones que contienen, al menos una vez (la verificación de si se tiene que repetir el proceso se realiza al final de la repetición de la estructura.
La estructura general o sintaxis habitual de un bucle do while es la siguiente:
<?php
do {
…sentencias
} while(condición);
?>


En este fragmento de código estaríamos indicando que se ejecute una primera vez “sí o sí” las sentencias, y que después se evalúe la condición para comprobar si se deben ejecutar nuevamente las sentencias. Como vemos, aunque no se cumpla la condición las sentencias se ejecutarían al menos una primera vez.
Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo2.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = 0;
do {
echo "$galletas, ";
$galletas++;
} while ($galletas < 10);
?>



EJERCICIO 2
Crea el código PHP donde generes:
a) Un bucle do…while que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente)
b) Un bucle do…while que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.


LA INSTRUCCIÓN FOR
La estructura repetitiva for (en castellano se traduciría como “desde…”) se utiliza generalmente cuando tenemos bien determinada la cantidad de repeticiones a realizar. Se diferencia de las anteriores en que se debe incluir en la propia instrucción una variable de control, la cual se incrementa o decrementa de forma automática. La estructura de estas instrucciones viene a ser muy similar a la anterior.
La estructura general o sintaxis habitual de un bucle for es la siguiente:
<?php
for ($variable=valor_inicial; condición; incremento) {
... sentencias;
}
?>


En este fragmento de código estaríamos indicando que mientras se cumpla la condición se realizan las sentencias, y en este caso si no se cumpliese la condición se seguiría ejecutando el programa justo después del cierre de la instrucción for (}). Todo esto es igual a la instrucción while anteriormente citada, salvo que en la propia declaración de la estructura se encuentra la variable de control, que en cada repetición se incrementa automáticamente.
Esta instrucción consta, por tanto, de tres parámetros:
  • Inicialización de la variable que se utilizará en la condición.
  • Condición que se debe cumplir para permanecer en el ciclo.
  • Modificación de la variable utilizada en la condición.

Escribe ahora este otro código guárdalo con un nombre de archivo como ejemplo3.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
for ($galletas = 0; $galletas < 10; $galletas++){
echo "$galletas, ";
}
?>



Este ejemplo muestra a la salida, la misma información que mostraba la instrucción while. Como podemos observar, el valor inicial y el incremento de la variable $galletas, van en la propia instrucción.


EJERCICIO 3
Crea el código PHP donde generes:
a) Un bucle for que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente y que por tanto la variable deberá operar como $galletas– –).
b) Un bucle for que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.

Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.


MODIFICAR EL PASO O STEP DE LA VARIABLE CONTADORA
Crea el siguiente código, guárdalo con un nombre de archivo como ejemplo4.php y visualiza los resultados en tu navegador.
<?php
for ( $i = 0; $i < 50; $i+=5 ){
echo "&nbsp;&nbsp; $i <br/> ";
}
?>



Fíjate que en este caso a la variable contador la hemos denominado i. Es habitual usar nombres como i, j, k para las variables contadoras en bucles.
Otra cosa interesante es que usando la instrucción += conseguimos que la variable contadora no vaya de uno en uno, sino que el paso (step) de la variable sea el número que nosotros deseemos. En este caso, hemos utilizado un incremento de 5 unidades en cada repetición del bucle. También podemos lograr el mismo efecto pero con decrementos usando – =.
 ESTRUCTURAS CONDICIONALES
En PHP existen una serie de instrucciones que permiten tomar decisiones lógicas cuando programamos: estas instrucciones, comunes a distintos lenguajes de programación, se suelen denominar de forma general "condicionales".

 

  • if...else
  • if...elseif...else
  • switch


CONDICIONAL IF…ELSE EN PHP
Estas instrucciones son quizás las más usadas de todos los lenguajes de programación, ya que son las más básicas. IF (en español: si…) ELSE (en español: sino…). La estructura general de un condicional if else es la siguiente:
if(expresión) {
... sentencias 1, 2, 3 … ;
} else {
... sentencias A, B, C …;
}


En este trozo de código estaríamos diciendo que si la expresión se cumple se ejecutan las sentencias 1, 2, 3…, y en caso de que no se cumpliese la expresión se ejecutarían las sentencias que están dentro del else, es decir, las sentencias A, B, C …
Escribe este código en un editor como Notepad++ y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = true;
if($galletas == true) {
echo 'Hay galletas';
} else {
echo 'No hay galletas';
}
?>


En este ejemplo, estamos dando un valor $galletas y comprobamos si el valor de esta variable es true o no, introduciéndolo en la expresión del condicional. Tal cual está, este ejemplo produciría el resultado 'Hay galletas', aunque si cambiásemos $galletas = true; por $galletas = false daría como resultado la segunda sentencia.


Escribe ahora este otro código guárdalo con un nombre de archivo como ejemplo2.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = true;
if($galletas == true){
?>
<br/>
<p>&nbsp ;&nbsp ;&nbsp ;&nbsp ;---------------------------------</p>
<?php
echo '&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;Hay galletas';
echo '<br/>';
echo '<br/>';
echo '&nbsp ;&nbsp ;&nbsp ;&nbsp ;---------------------------------';
} else {
echo 'No hay galletas';
}
?>



Como podrás comprobar, el código produce el mismo resultado. Unicamente hemos introducido algunos caracteres para mejorar la forma en que se ve (recordar que &nbsp seguido de un punto y coma, sin espacio entre ambos, equivale a un espacio en blanco en HTML). Compara las similitudes y diferencias entre los dos códigos que hemos escrito. En nuestro ejemplo2 podrás comprobar que hemos escrito un fragmento de código php, luego un fragmento de código html y luego otro fragmento en php. Si te fijas, no hemos utilizado las etiquetas de apertura y cierre de html, aunque hubiera sido quizás más correcto hacerlo, es decir, escribir:
<html>
<?php
$galletas = true;
if($galletas == true){
?>
<br/>
<p>&nbsp ;&nbsp ;&nbsp ;&nbsp ;---------------------------------</p>
<?php
echo '&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;&nbsp ;Hay galletas';
echo '<br/>';
echo '<br/>';
echo '&nbsp ;&nbsp ;&nbsp ;&nbsp ;---------------------------------';
} else {
echo 'No hay galletas';
}
?>
</html>


Como comprobarás, a veces los navegadores son capaces de interpretar el código aunque falten algunas etiquetas o contenga algunos errores. Esta es una de las cuestiones que diferencia HTML de lenguajes de programación en sentido estricto como C, Java o Visual Basic, donde la sintaxis es mucho más estricta.
En este código además podemos señalar:
  • Usamos el código &nbsp que en HTML significa “un espacio”. Recuerda que HTML omite los espacios antes y después de una cadena de texto. Por ello hemos de especificar que se introduzcan espacios con &nbsp.
  • Un salto de línea, que introducimos gracias a la etiqueta <br/>, podemos escribirlo tanto fuera del código php como dentro de él. Para introducirlo dentro de php, hemos de ponerlo dentro de un echo, que es la forma que tenemos de indicarle a php de que dé salida a esa etiqueta como código html.

¿Qué pasaría si introdujéramos una etiqueta html como <br/> directamente dentro del código php? Pruébalo y comprobarás que en el navegador se muestra un mensaje de error de este tipo:
Parse error: syntax error, unexpected '<' in /home/m/dom/mi.com/public_html/prueba.php on line 11
Esta es una cuestión que debes de tener en cuenta: para introducir html debes de cerrar un bloque php o usar una instrucción echo dentro del bloque php. La instrucción echo viene significando “dar salida html a lo que va a continuación”.


CONDICIONALES IF...ELSE IF...ELSE EN PHP
La estructura de estas instrucciones viene a ser muy similar que la anterior. Su significado: “Si ocurre esto, haz esto, sino si ocurre esta otra cosa, haz esto otro, sino si ocurre esta otro cosa, haz …”. La estructura general de un condicional if else if [else] es:
if(expresión) {
... sentencias 1, 2, 3, …;
} else if(expresión) {
... sentencias A, B, C, …;
} else {
... sentencias M, N, O, …;
}


Esta es la síntaxis con la que debe ser usada else if. Un else if se ejecutará, siempre y cuando, no haya alguna respuesta verdadera en el if o else if anterior; luego de que se llega al final de los else if, y ninguno ha sido verdadero, se ejecutará lo que está dentro del else final.
Pueden haber varios else if, pero estos están siempre dentro de un if y terminarán con un else (sólo uno) final.
Escribe este código en un editor como Notepad++ y guárdalo con un nombre de archivo como ejemplo3.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$test = 33;
if ($test > 40) {
echo "Sí, $test es mayor que 40.";
} else if ($test > 35) {
echo "Sí, $test es mayor que 35.";
} else if ($test > 30) {
echo "Sí, $test es mayor que 30.";
} else {
echo "No, $test es menor que 40, 35 y 30.";
}
?>


En este caso la respuesta sería: Sí, 33 es mayor que 30.
Si el valor de $test se cambia a 22, la respuesta sería: No, 22 es menor que 40, 35 y 30.


OPERADOR CONDICIONAL TERNARIO
Para escribir condicionales la estructura básica de lenguajes como PHP, JavaScript, Java, y otros es la sentencia if. Otro tipo de condicionales como el switch o el else if pueden ser reemplazados por if. Hay otra sintaxis de condicional que se denomina operador condicional ternario y que se escribe con expresiones que incluyen una interrogación y dos puntos como: a ? b : c;
La sintaxis y significado del operador condicional ternario (válida para diferentes lenguajes, como PHP, JavaScript, Java, etc.) es la siguiente:
expresiónConValorBooleano ? expresión1 : expresión2;

Interpretación: si la expresiónConValorBooleano es cierta se ejecuta la expresión1, y en caso contrario se ejecuta la expresión2.


Ejemplos. Supongamos que tenemos cuatro variables: A = 5, B = 3, C = -7 y D = 5
Expresión
Resultado
A==5 ? dispara(): espera();
Se ejecuta dispara()
A<B ? dispara(): espera();
Se ejecuta espera()
B<C ? dispara(): espera();
Se ejecuta espera()
A<B && B>C ? dispara(): espera();
Se ejecuta espera()
A<B && B>C || B==3 ? dispara(): espera();
Se ejecuta dispara()
A==5 ? A=20: A=1;
Si A valía 5 ahora vale 20, caso contrario ahora vale 1.
B = B==3 ? B*10: B*100;
Se trata de una asignación: si B valía 3, ahora B vale 10 veces
lo que valía, caso contrario ahora B vale 100 veces lo que valía.


El operador ternario puede ser insertado en sentencias de ejecución donde no se permite la inserción de if, por ejemplo en una operación de asignación o en la variable de control de un bucle for. Usar el operador condicional ternario tiene ventajas e inconvenientes.


VENTAJAS E INCONVENIENTES DEL OPERADOR CONDICIONAL TERNARIO
En la siguiente tabla resumimos las ventajas e inconvenientes del operador condicional ternario comparándolo con el if tradicional.
Condicional ternario
If tradicional
Permite la escritura compacta, permitiendo ahorrar escritura de código.
Obliga a escribir más sentencias para conseguir el mismo resultado.
Resulta más difícil de leer, entender y depurar
Resulta más fácil de leer, entender y depurar
No todos los programadores lo usan, algunos ni siquiera lo conocen.
Todos los programadores lo usan y lo conocen.
Se admite en la sintaxis de los lenguajes en lugares donde no se admite la sentencia if
No es válido en ciertas ubicaciones donde sólo se admiten expresiones, pero puede hacerse la evaluación antes del punto donde sea necesario el condicional.
Criticado por algunos expertos, adorado por otros
Uso y aceptación cuasi-universal


EJEMPLOS DE USO EN PHP
Escribe este código, guárdalo como archivo php y comprueba los resultados de ejecución. Razona sobre los resultados obtenidos y trata de explicar paso a paso la lógica de todo lo que hace el código.
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos PHP</h3></div>
<?php
$A=5; $B=3; $C=-7; $D=5;
$msg = '';
$A==5 ? $msg='A es 5<br/>': $msg='A no es 5<br/>';
echo $msg;
$A<$B ? $msg='A es menor que B<br/>': $msg='A es mayor o igual que B<br/>';
echo $msg;
$B<$C ? $msg='B es menor que C<br/>': $msg='B es mayor o igual que C<br/>';
echo $msg;
?>
</body>
</html>


El resultado esperado es que se muestre por pantalla:
Cursos aprenderaprogramar.com
Ejemplos PHP
A es 5
A es mayor o igual que B
B es mayor o igual que C

La instrucción if

La instrucción if nos da la posibilidad de ejecutar un fragmento de código si la condición es evaluada como TRUE (Verdadera), si la condición es FALSE no se ejecuta y pasa a la siguiente condición hasta que encuentra el comando ELSE solo si la condición del if es FALSE.
Por ejemplo:
?
$count = 1;
 
if($count <= 10)
{
 
    echo $count . " es menor de 10";
     
}
El ejemplo anterior $count tiene valor 1 por lo que la condicional if es TRUE y mostraría 1 es menor de 10.
la condición if va sujeta a la instrucción else aunque no siempre debe aparecer pero, en el caso de que la condición if nos devuelva FALSE la podemos añadir para mostrar otro mensaje o que el script siga otro camino.
Por ejemplo:
?
$count = 20;
 
if($count <= 10)
{
 
    echo $count . " es menor de 10";
     
}else{
 
   echo $count . " es mayor de 10";
 
}
En este ejemplo la varibale count la hemos inicializado a 20 por lo que la condicional pasará directamente a la sentencia else y nos mostrará en pantalla 20 es mayor de 10.
También podemos anidar dentro de un if un elseif para preguntar de nuevo.
Por ejemplo:
?
   $usuario = "Admin";
 
  if($usuario == "Admin"){
 
    echo "Bienvenido a la parte de administracición";
 
  }elseif ($usuario == "Invitado"){
 
    echo "Bienvenido a la pagina de Invitados";
 
 }else{
 
    echo "Bienvenido a la pagina de usuarios";
}
Como veis no es muy complicado, es hacer preguntas a nuestro programa y esperar respuesta.
Para todo esto hay una manera de simplificarlo y es con el operador ? este es un operador ternario y se basa en tres operandos.
Funciona como una instrucción if pero devuelve un valor de una de dos expresiones. La expresión condicional determina el valor de la expresión. Se emplean dos puntos : para separar las diferentes expresiones.
Por ejemplo:
Vamos a utilizarlo para mostrar un mensaje en pantalla.
?
$count = 10;
 
$mensaje = ($count <= 10) ? $count . " es menor o igual a 10" : $count . " es mayor de 10";
 
echo $mensaje;
En este ejemplo lo que hemos hecho es almacenar el mensaje en la variable mensaje y luego con echo mostrarla en pantalla, según sea TRUE o FALSE mostrara un mensaje u otro. En este caso el mensaje es ” 10 es menor o igual a 10″.

La instrucción switch

La instrucción switch compara una expresión con varios valores y tendrá que ejecutar diferentes fragmentos de código para cada valor almacenado en la variable.
Por ejemplo:
?
$hacer = "AÑADIR";
 switch ($hacer){
 
   case "AÑADIR":
      echo "las tareas a realizar, por ejemplo mostrar con un bucle del 1 al 10";
      for ($i=1; $i<= 10; $i++)
      {
        
        echo $i;
 
      }
      break;
 
  case "MODIFICAR":
       echo "Sus tareas";
       break;
  case "BORRAR":
 
       echo "Las tareas a borrar";
       break;
}
La sentencia switch selecciona el valor que aparece después del comando switch y lo compara con los case en el orden en el que aparecen, si no coincide con ninguno el código no se ejecuta, si coincide con alguno se ejecuta hasta que aparece la instrucción break. sino quiere que la ejecución del script se detenga puede optar por quitar las sentencias break. Esta instrucción tiene una última instrucción llamada default que hace la misma labor que el else de la sentencia if, en el caso de que no se cumpla ninguna de las condiciones saltará a la instrucción default y mostrara lo que tengamos.
Por ejemplo:
?
$hacer = "AÑADIR";
 switch ($hacer){
 
   case "AÑADIR":
      echo "las tareas a realizar, por ejemplo mostrar con un bucle del 1 al 10 <br>";
      for ($i=1; $i<= 10; $i++)
      {
        
        echo $i;
 
      }
      break;
 
  case "MODIFICAR":
       echo "Sus tareas";
       break;
  case "BORRAR":
 
       echo "Las tareas a borrar";
       break;
  default:
       echo "Error, el valor no es valido";
}
FUNCIONES CON CADENAS DE CARACTERES EN PHP.
Las cadenas de caracteres en PHP se definen, como ya sabemos, entre comillas dobles o simples (podemos usar dobles o simples indistintamente). Es decir, podemos definir una variable como cadena de caracteres de la siguiente forma: $cadena = "George Washington"; o también $cadena = 'George Wasington';
 

Para la manipulación de estas variables o cadenas de caracteres nos será útil conocer las funciones básicas de manipulación. No vamos a entrar a describir cada una de las funciones para cadenas de caracteres que PHP posee, que son muchas. Simplemente veremos las más básicas y de uso más común.


FUNCIÓN STRLEN
La función strlen obtiene la longitud de una cadena y devuelve un número entero. Es decir, obtenemos el número de caracteres que forman la cadena completa.
Escribe este código en un editor como Notepad++ y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$cad = "cadena"; //Prueba a cambiar el texto cadena por otro
$n = strlen($cad);
echo "La longitud de la cadena es: $n";
?>



FUNCIÓN SUBSTR
La función substr devuelve una subcadena de la cadena original, es decir, una parte de la cadena original. Esta función tiene 3 parámetros:
  1. La variable que contiene la cadena.
  2. Número que representa la posición (inclusive) en la que comenzará a ser extraída la subcadena.
  3. Número que indica la cantidad de caracteres que serán extraídos. Este argumento es opcional. Si se omite se tomará hasta el final de la cadena original.

Tener en cuenta que la numeración de la posición de los caracteres empieza por cero. Por ejemplo para la cadena 'GPS', que tiene 3 caracteres, el carácter en posición 0 es G, en posición 1 es P y en posición 2 es S. No existe la posición 3 debido a que se comienza a contar por el cero.
Escribe este código en un editor como Notepad++ y guárdalo con un nombre de archivo como ejemplo2.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$cad = "cadena";
$sub1 = substr($cad, 2);
$sub2 = substr($cad, 2, 2);
echo "La subcadena número uno es la siguiente: $sub1 <br />";
echo "La subcadena número dos es la siguiente: $sub2";
?>



Escribe este otro ejemplo y visualízalo en tu navegador (nota: & nbsp; representa un espacio en blanco):
<?php
$cad = "aprenderaprogramar.com";
$sub1 = substr($cad, 0); //La cadena completa
$sub2 = substr($cad, 0, 8); //La subcadena aprender
$sub3 = substr($cad, 8, 1); //La subcadena a
$sub4 = substr($cad, 9); //La subcadena programar
echo "& nbsp; & nbsp; La subcadena número uno es la siguiente: $sub1 <br />";
echo "& nbsp; & nbsp; La subcadena número dos es la siguiente: $sub2 <br />";
echo "& nbsp; & nbsp; La subcadena número tres es la siguiente: $sub3 <br />";
echo "& nbsp; & nbsp;La subcadena número cuatro es la siguiente: $sub4";
?>



Fíjate en las siguientes cuestiones:
a) La numeración de caracteres empieza en cero y no en uno. Así en este último ejemplo el caracter 0 es la a, el 1 la p, el 2 la r, el 3 la e y así sucesivamente.
b) La posición en que comienza la extracción va incluida en la subcadena extraida. Esto significa que substr ($cad, 0, 1) significa que sólo se extrae el primer caracter de la cadena.


OPERADOR DE CONCATENACIÓN
La concatenación es el proceso de unir varias porciones de texto en una sola cadena. Este operador se expresa como un punto '.'
Escribe el siguiente código, súbelo al servidor y visualízalo en tu navegador.
<?php
$cad1 = "aprendera";
$cad2 = "programar";
$cadt = $cad1 . $cad2;
echo "La cadena número uno concatenada con la cadena número 2 es: $cadt <br />";
// Ahora concatenaremos la cadena ejemplo con la concatenación de $cad2 y $cad1
echo "Ejemplo: " . ($cad2 . $cad1);
?>



En este ejemplo vemos cómo las cadenas se pueden concatener en el orden que nosotros deseemos.