<?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);
?>
PHP ejemplo funcion
<?php
function tabla($numero = 1) {
?>
<table>
<?php for ($i = 1; $i <= 10; $i++) { ?>
<tr><td><?=$numero?></td><td>X</td><td><?=$i?></td>
<td>=</td><td><?=($numero*$i)?></td>
</tr>
<?php } ?>
</table>
<?php
}
tabla(7);
?>
Funciones php
<?php
function saludo() {
echo "Hola que tal yo muy bien<br/>";
}
function saludoNombre($nombre) {
echo "Hola $nombre que tal yo muy bien<br/>";
}
function saludoNombreb($nombre = "Anónimo") {
echo "Hola $nombre que tal yo muy bien<br/>";
}
function suma($a, $b) {
return $a + $b;
}
saludo();
saludo();
saludoNombre("Juan");
//saludoNombre(); //Esto da ERROR!!!
saludoNombreb("Juan");
saludoNombreb(); //Esto NO da ERROR!!!
echo suma(2, 3);
$pepe = suma(10, 20);
var_dump($pepe);
function cabecera($texto) {
?>
<h1><?= $texto ?></h1>
<?php
}
cabecera("hola");
?>