<?php 
/**
 * Comprobación de datos 1 - comprobacion_datos_1.php
 * 
 * @author    Bartolomé Sintes Marco <bartolome.sintes+mclibre@gmail.com>
 * @copyright 2010 Bartolomé Sintes Marco
 * @license   http://www.gnu.org/licenses/agpl.txt AGPL 3 or later
 * @version   2010-02-23
 * @link      http://www.mclibre.org
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU Affero General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Affero General Public License for more details.
 *
 *  You should have received a copy of the GNU Affero General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">\n"; 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>Comprobación de datos (Resultado). Comprobación de datos. 
  PHP. Bartolomé Sintes Marco</title>
  <link href="mclibre_php_soluciones.css" rel="stylesheet" type="text/css" 
  title="Color" />
</head>

<body>
<h1>Comprobación de datos (Resultado)</h1>
<?php
function recoge($var)
{ 
    $tmp = (isset($_REQUEST[$var])) ? trim(strip_tags($_REQUEST[$var])) : '';
    if (get_magic_quotes_gpc()) {
        $tmp = stripslashes($tmp);
    }
    $tmp = str_replace('&', '&amp;',  $tmp);
    $tmp = str_replace('"', '&quot;', $tmp);
    return $tmp;
}

// print "<pre>"; print_r(get_defined_functions()); print "</pre>"; 

if (strip_tags($_REQUEST['dato']) != $_REQUEST['dato']) {
    print "<p>Esta página no admite etiquetas html (<...>) en la entrada.</p>\n";
} else {

    $dato = recoge('dato');
    
    print "<p>El dato recogido se muestra en la línea siguiente con fondo blanco
  y borde negro: </p>\n<pre>
  <span style=\"font-size: 200%; border: black 1px solid; background-color: white\">$dato</span>
</pre>\n\n";

//  Funciones is_    
    
    print "<table border=\"1\" style=\"float: left; margin-left: 10px;\">\n  <tr>
    <th colspan=\"2\">Funciones is_</th>\n  </tr>\n  <tr>
    <th>Función</th>\n    <th>Devuelve</th>\n  </tr>\n  <tr>\n";
    
    $resultado = isset($dato);
    print "    <td>isset()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = is_null($dato);
    print "    <td>is_null()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
            
    $resultado = is_bool($dato);
    print "    <td>is_bool()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
            
    $resultado = is_numeric($dato);
    print "    <td>is_numeric()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
            
    $resultado = is_int($dato);
    print "    <td>is_int()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
            
    $resultado = is_float($dato);
    print "    <td>is_float()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
            
    $resultado = is_string($dato);
    print "    <td>is_string()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";

    if (function_exists('is_binary')) {
        $resultado = is_binary($dato);
        print "    <td>is_binary()</td>\n    <td>";
        if ($resultado==TRUE) {
            print "TRUE";
        } elseif ($resultado==FALSE) {
            print "FALSE";
        } else {
            print $resultado;
        }
        print "</td>\n  </tr>\n  <tr>\n";
    } else {
        print "    <td>is_binary()</td>\n    <td>No está disponible en este ".
            "servidor</td>\n  </tr>\n  <tr>\n";
    }
        
    if (function_exists('is_buffer')) {
        $resultado = is_buffer($dato);
        print "    <td>is_buffer()</td>\n    <td>";
        if ($resultado==TRUE) {
            print "TRUE";
        } elseif ($resultado==FALSE) {
            print "FALSE";
        } else {
            print $resultado;
        }
        print "</td>\n  </tr>\n  <tr>\n";
    } else {
        print "    <td>is_buffer()</td>\n    <td>No está disponible en este ".
            "servidor</td>\n  </tr>\n  <tr>\n";
    }
        
    if (function_exists('is_unicode')) {
        $resultado = is_unicode($dato);
        print "    <td>is_unicode()</td>\n    <td>";
        if ($resultado==TRUE) {
            print "TRUE";
        } elseif ($resultado==FALSE) {
            print "FALSE";
        } else {
            print $resultado;
        }
        print "</td>\n  </tr>\n  <tr>\n";
    } else {
        print "    <td>is_unicode()</td>\n    <td>No está disponible en este ".
            "servidor</td>\n  </tr>\n  <tr>\n";
    }
        
    $resultado = is_scalar($dato);
    print "    <td>is_scalar()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
        
    $resultado = is_array($dato);
    print "    <td>is_array()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
        
    $resultado = is_callable($dato);
    print "    <td>is_callable()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
        
    $resultado = is_object($dato);
    print "    <td>is_object()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
        
    $resultado = is_resource($dato);
    print "    <td>is_resource()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n</table>\n\n";
    
    

//  Funciones ctype_    
    
    print "<table border=\"1\" style=\"float: left; margin-left: 10px;\">\n  <tr>
    <th colspan=\"2\">Funciones ctype_</th>\n  </tr>\n  <tr>
    <th>Función</th>\n    <th>Devuelve</th>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_alnum($dato);
    print "    <td>ctype_alnum()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_alpha($dato);
    print "    <td>ctype_alpha()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";

    $resultado = ctype_cntrl($dato);
    print "    <td>ctype_cntrl()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_digit($dato);
    print "    <td>ctype_digit()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_graph($dato);
    print "    <td>ctype_graph()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";

    $resultado = ctype_lower($dato);
    print "    <td>ctype_lower()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_print($dato);
    print "    <td>ctype_print()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_punct($dato);
    print "    <td>ctype_punct()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_space($dato);
    print "    <td>ctype_space()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_upper($dato);
    print "    <td>ctype_upper()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n  <tr>\n";
    
    $resultado = ctype_xdigit($dato);
    print "    <td>ctype_xdigit()</td>\n    <td>";
    if ($resultado==TRUE) {
        print "TRUE";
    } elseif ($resultado==FALSE) {
        print "FALSE";
    } else {
        print $resultado;
    }
    print "</td>\n  </tr>\n</table>\n\n";

//  Función filter_var    
    
    if (function_exists('filter_var')) {
	    print "<table border=\"1\" style=\"float: left; margin-left: 10px;\">\n  <tr>
	    <th colspan=\"2\">Función filter_var</th>\n  </tr>\n  <tr>
	    <th>Filtro</th>\n    <th>Devuelve</th>\n  </tr>\n  <tr>\n";
	    
	    $resultado = filter_var($dato, FILTER_VALIDATE_INT);
	    print "    <td>FILTER_VALIDATE_INT</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n  <tr>\n";
	            
	    $resultado = filter_var($dato, FILTER_VALIDATE_BOOLEAN);
	    print "    <td>FILTER_VALIDATE_BOOLEAN</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n  <tr>\n";
	            
	    $resultado = filter_var($dato, FILTER_VALIDATE_FLOAT);
	    print "    <td>FILTER_VALIDATE_FLOAT</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n  <tr>\n";
	            
	    $resultado = filter_var($dato, FILTER_VALIDATE_URL);
	    print "    <td>FILTER_VALIDATE_URL</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n  <tr>\n";
	            
	    $resultado = filter_var($dato, FILTER_VALIDATE_EMAIL);
	    print "    <td>FILTER_VALIDATE_EMAIL</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n  <tr>\n";
	            
	    $resultado = filter_var($dato, FILTER_VALIDATE_IP);
	    print "    <td>FILTER_VALIDATE_IP</td>\n    <td>";
	    if ($resultado==TRUE) {
	        print "TRUE";
	    } elseif ($resultado==FALSE) {
	        print "FALSE";
	    } else {
	        print $resultado;
	    }
	    print "</td>\n  </tr>\n</table>\n";
    } else {
        print "<p style=\"clear: both\">La función <strong>filter_var</strong> "
            ."no está disponible en este servidor.</p>";
    }
}
print "<p style=\"clear: both\"><a href=\"comprobacion_datos_1.html\">Volver al formulario.</a></p>\n";
?>

<address>
  Este programa forma parte del curso "Páginas web con PHP" disponible en <a
  href="http://www.mclibre.org/">http://www.mclibre.org</a><br />
  Autor: Bartolomé Sintes Marco<br />
  Última modificación de esta página: 23 de febrero de 2010 
</address>
<p class="licencia">El programa PHP que genera esta página está bajo 
<a rel="license" href="http://www.gnu.org/licenses/agpl.txt">licencia AGPL 3 o
posterior</a>.</p>
</body>
</html>
