Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Ejemplos cookie e include
Archivo muestracookie:
<?php //Comprueba si hay una cookie llamada nombre y muestra el valor $nombre = filter_input(INPUT_COOKIE, "nombre"); if (!empty($nombre)) { ?> <h4>Usuario: <?= $nombre ?></h4> <?php } ?>
Index.php:
<?php //Comprueba que me hayan pasado un nombre, y si es así lo guarda en la cookie $nombre = filter_input(INPUT_GET, "nombre"); if (!empty($nombre)) { setcookie("nombre", $nombre, time() + 86400); } include "muestracookie.php"; ?> <form> Pon tu nombre: <input type="text" name="nombre"> <input type="submit"> </form>
Uso en otras páginas:
<?php include "muestracookie.php"; ?>
Otro ejemplo filter_input
<?php $nombre = filter_input(INPUT_POST, "nombre"); $password = filter_input(INPUT_POST, "password"); $error = []; if (empty($nombre)) { $error[] = "Falta nombre"; } if (empty($password)) { $error[] = "Falta password"; } if ($nombre != "Juan" || $password != "1234") { $error[] = "Nombre / contraseña incorrecto"; } if (!empty($error)) { ?> <p>Se han encontrado los siguientes errores</p> <p><?= implode(". ", $error) ?></p> <a href="index.php">Volver</a> <?php } else { echo "Adelante"; } ?>
Ejemplo filter_input
<form action="contenido.php" method="post"> Introduce Nombre: <input type="text" name="nombre"> Introduce Password: <input type="password" name="password"> <input type="submit"> </form>
<?php $nombre = filter_input(INPUT_POST, "nombre"); $password = filter_input(INPUT_POST, "password"); if (empty($nombre)) { ?> <p>Introduce el nombre, por favor</p> <a href="index.php">Volver</a> <?php die(); } if (empty($password)) { ?> <p>Introduce el password, por favor</p> <a href="index.php">Volver</a> <?php die(); } if ($nombre=="Juan" && $password=="1234"){ echo "Adelante"; } else{ ?> <p>Datos incorrectos</p> <a href="index.php">Volver</a> <?php } ?>
Función ajedrez PHP
<?php function ajedrez($tam) { ?> <table border="1"> <?php for ($i = 0; $i < $tam; $i++) { ?> <tr> <?php for ($j = 0; $j < $tam; $j++) { ?> <td <?=($i + $j) % 2 == 0?'style="background-color:black"':''?>></td> <?php } ?> </tr> <?php } ?> </table> <?php } ajedrez(8);
Examen BD
Lanzamiento moneda
<?php function lanzamiento($num = 3) { $caras = 0; $tiradas = 0; while ($caras < $num) { $moneda = rand(1, 2); if ($moneda == 1) { // echo "C"; $caras++; } else { // echo "X"; $caras = 0; } $tiradas++; } return $tiradas; } for ($j = 1; $j <= 8; $j++) { $tiradas = 0; for ($i = 0; $i < 1000000; $i++) { $tiradas += lanzamiento($j); } echo $j." : ".($tiradas / 1000000)."<br/>"; } ?>
Ejemplos cadenas y expresiones regulares
<?php $cadena = "Hola que tal?"; $buscar = "Ho"; echo strpos($cadena, "Ho"); //Devuelve 0 echo strpos($cadena, "ho"); //Devuelve false echo stripos($cadena, "ho"); //Devuelve 0 (case insensitive) echo strpos($cadena, "Pepe"); //Devuelve false echo strpos($cadena, "la"); //Devuelve 2 if (strpos($cadena, "WW") === false) { echo "NO está"; } if (strpos($cadena, "Ho") === false) { echo "NO está"; } //$substring = substr($string, $start, $length); $codigo = 'ABCD123456'; $parte = substr($codigo, 0, 4); //$parte='ABCD' $parte = substr($codigo, 4, 4); //$parte='1234' $parte = substr($codigo, 4); //$parte='123456' $parte = substr($codigo, -4); //$parte='3456' echo strlen($codigo); //Longitud de una cadena echo str_word_count($cadena); print ucfirst("how do you do today?"); //Primera letra print ucwords("the prince of wales"); //primera letra de cada palabra print strtoupper("i'm not yelling!"); //mayúsculas print strtolower('one'); // minúsculas $cadena = "Hola que tal?"; echo str_replace("la", "lalala", $cadena); echo str_ireplace("La", "lalala", $cadena); echo trim(" hola que tal "); //Quita espacios alrededor echo strrev($cadena); //Le da la vuelta a la cadena function esMail($cadena) { $pos1 = strpos($cadena, "@"); $pos2 = strpos($cadena, "."); if ($pos1 === false || $pos2 === false) { return false; } if ($pos1 > $pos2) { return false; } return true; } function esMail2($cadena) { $pos1 = strpos($cadena, "@"); $pos2 = strrpos($cadena, "."); return $pos1 !== false && $pos2 !== false && $pos2 > $pos1; } function esMail3($cadena) { return preg_match("/.+@.+\..+/", $cadena); } echo "<hr>"; echo var_dump(esMail("pepe@pepe.com")); echo var_dump(esMail("hola que tal")); echo var_dump(esMail("pepe.pepe@com")); echo "<hr>"; echo var_dump(esMail3("pepe@pepe.com")); echo var_dump(esMail3("hola que tal")); echo var_dump(esMail3("pepe.pepe@com")); echo "<hr>"; $string = "Hola que 454 56tal 667 php89 es pooop"; preg_match_all("/[0-9]{2,3}/", $string, $matches); var_dump($matches); // hla $cp1 = "08001"; $cp2 = "009"; var_dump(preg_match("/[0-9]{5}/", $cp1)); var_dump(preg_match("/[0-9]{5}/", $cp2)); echo "El alcalde de l'hospitalet ha dicho \"No dimitiré\""; echo "<div onclick='saludo(\"hola\")'>"; function emailValidation($email) { $regex = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,10})$/"; $email = strtolower($email); return preg_match($regex, $email); } ?>
Dibujar un array
<?php $miArray = [3, 4, "pepe", [53, 4, 5], false]; $miArray = [[1, 2], [3, 4]]; function pintaArray($array) { ?> <table border="1"> <?php foreach ($array as $valor) { if (!is_array($valor)) { $valor = [$valor]; } ?> <tr> <?php foreach ($valor as $v) { ?> <td><?= $v ?></td> <?php } ?> </tr> <?php } ?> </table> <?php } pintaArray($miArray); ?>
Arrays en PHP
<?php $miArray = [3, 4, "pepe", 5, false]; $otro = array(3, 4, 5); var_dump($miArray); var_dump($otro); $miArray[] = "otro elemento"; $miArray[] = "y otro más"; var_dump($miArray); $asociativo = ["a" => 5, "b" => 6, "c" => 12]; foreach ($asociativo as $clave => $valor) { echo $clave . " - " . $valor . "<br/>"; } $multi = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; echo $multi[1][1]."<br/>"; for ($i = 0; $i < count($multi); $i++) { for ($j = 0; $j < count($multi[$i]); $j++) { echo $i . " - " . $j . " : " . $multi[$i][$j] . "<br/>"; } } foreach ($multi as $f=>$filas){ foreach($filas as $c=>$valor){ echo $f." - ".$c." : ".$valor."<br/>"; } } print_r($multi); ?>