11.09.2018 Views

Aprender a desarrollar un sitio Web con PHP y MySQL

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24/4/2014 ENI Training - Libro online<br />

else<br />

{<br />

echo "El número no es válido.";<br />

}<br />

?><br />

Por ejemplo, para comprobar si <strong>un</strong>a fecha es válida:<br />

<br />

6. Magic quotes<br />

Los datos que recupera por $_GET o $_POST se pueden utilizar para insertarlos en <strong>un</strong>a base de datos.<br />

Para ello, utilice el lenguaje SQL y así podrá crear <strong>un</strong>a <strong>con</strong>sulta SQL como la siguiente:<br />

$sql = "INSERT INTO client (apellido, nombre, comentario) VALUES<br />

(’GÓMEZ’,’ROBERTO’,’correcto’)";<br />

Puede surgir <strong>un</strong> problema si el usuario introduce <strong>un</strong>a cadena de caracteres que <strong>con</strong>tiene <strong>un</strong> apóstrofo,<br />

por ejemplo: L’Hospitalet.<br />

La variable $sql se <strong>con</strong>vierte en:<br />

$sql = "INSERT INTO client (apellido, nombre, poblacion) VALUES<br />

(’GÓMEZ’,’ROBERTO’,’L’Hospitalet’)";<br />

Se produce <strong>un</strong> error porque hay <strong>un</strong> apóstrofo después de la letra L.<br />

Magic quotes es <strong>un</strong>a f<strong>un</strong>cionalidad <strong>PHP</strong> que se puede argumentar en el archivo php.ini, y permite<br />

proteger automáticamente los datos que han transmitido GET, POST o COOKIE.<br />

Esta f<strong>un</strong>ción evita los caracteres especiales, es decir, añade el carácter \ (barra invertida) delante de<br />

’ (apóstrofos), " (comillas), \ (barras invertidas) y NULL.<br />

Sin embargo, esta f<strong>un</strong>cionalidad está obsoleta desde la versión 5.3.0 de <strong>PHP</strong> y ya no existe desde la<br />

versión 5.4. Se recomienda que usted mismo asigne los caracteres especiales. Para desactivar magic<br />

quotes, introduzca el valor magic_quotes_gpc = Off en el archivo php.ini.<br />

La f<strong>un</strong>ción addslashes() desempeña la misma tarea, ya que evita los caracteres especiales.<br />

Para evitar que <strong>un</strong> usuario guarde scripts maliciosos, utilice la f<strong>un</strong>ción htmlspecialchars(), que<br />

http://www.eni-training.com/client_net/mediabook.aspx?idR=87326 3/5<br />

www.FreeLibros.me

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!