Archivo

Archive for septiembre 2013

Conectar usando MySQLi

26 de septiembre de 2013 Deja un comentario

La siguietne función es nos conectará con la máquina y usuarios especificados:

<?php
function conectar($maquina, $usuario, $contraseña, $basededatos){
$conexion = new mysqli($maquina, $usuario, $contraseña, $basededatos);
/*
 * Esta es la forma OO «oficial» de hacerlo,
 * AUNQUE $connect_error estaba averiado hasta PHP 5.2.9 y 5.3.0.
 */
if ($conexion->connect_error) {
die(‘Error de Conexión (‘ . $conexion->connect_errno . ‘) ‘. $conexion->connect_error);
}
/*
 * Use esto en lugar de $connect_error si necesita asegurarse
 * de la compatibilidad con versiones de PHP anteriores a 5.2.9 y 5.3.0.
 
if (mysqli_connect_error()) {
    die(‘Error de Conexión (‘ . mysqli_connect_errno() . ‘) ‘
            . mysqli_connect_error());
}
*/
return $conexion;
?>

Conectar desde PHP con MySQL

26 de septiembre de 2013 Deja un comentario

¿Qué API o Extensión de PHP utilizaremos para conectarnos desde nuestros scripts PHP a MySQL?

Bien, hasta ahora yo utilizaba la extensión MySQL. Era fácil conectarse:

$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);

Pero ya voy cogiendo la indirecta del típico mensajito que te salía de This Extension is Deprecated:

deprecated

Vale, ¿qué extensión utilizar?

Está claro que la MySQL no, MySQLi o PDO_MySQL.

En el siguiente artículo lo explican: Claramente la MySQLi

La estructura básica de la MySQLi es:

$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

Así que a partir de ahora, todo con la MySQLi….

Instalar XAMPP

24 de septiembre de 2013 2 comentarios

Existe una aplicación llamada XAMPP que engloba Apache, MySQL, PHP, Perl (entre otras): es una aplicación para cualquier sistema operativo, que pone a disposición los servicios de Apache, PHP y MySQL de manera fácil y asistida. XAMPP contiene:

XAMPP 1.8.3 (Septiembre de 2013)

  1. Apache 2.4.4
  2. MySQL 5.6.11
  3. PHP 5.5.1
  4. phpMyAdmin 4.0.4
  5. FileZilla FTP Server 0.9.41
  6. Tomcat 7.0.41 (with mod_proxy_ajp as connector)
  7. Strawberry Perl 5.16.3.1 Portable
  8. XAMPP Control Panel 3.2.1 (from hackattack142)

Para realizar un localhost (servidor local) es necesaria la instalación de los servicios mencionados.

Descargamos XAMPP de la página de Apachefriends:

http://www.apachefriends.org/es/xampp.html

Para Windows Vista existe una versión, pero da problemas.

Cuando instalas XAMPP, al igual que cuando instalas cualquier Apache, tendrás que desinstalar o deshabilitar los programas que utilizan los puertos 80, 443 y 3306.

Por ejemplo, el TeamViewer, el IIS, el Skype dan problemas, ya que todos utilizan el puerto 80.

Antes, o los deshabilitabas o no había opción, ahora sí se puede reconfigurar XAMPP para que utilice otros puertos.

7

Cuando el servicio Apache y el MySQL estén instalados, ábrete una ventana de Firefox (u otra cosa, si es que utilizas otra cosa para navegar) y comprueba que el servidor funciona con http://localhost

localhostLa primera vez saldrá esta página. Elegimos Español. Y nos aparecerá la siguiente:

localhost2

Pulsando Estado podremos ver qué servicios se están ejecutando.

Configurando PHP

Si en el Panel de Control de XAMPP pulsamos sobre el Config de Apache, podremos editar muchos ficheros de configuración. Para configurar el PHP abriremos el PHP.ini

(Antes había que abrir el fichero a pelo, ahora XAMPP ha mejorado, lo reconozco)

panel controlSe nos abrirá el bloc de notas con toda la configuración del citado archivo.

 

Cuando modificamos cualquier fichero de configuración, debemos parar Apache y volverlo a arrancar, comprobando que todo ha ido bien.

Resolver el problema con la Ley de Cookies

24 de septiembre de 2013 1 comentario

Mientras reforman de nuevo la ley para que desaparezcan de nuestras páginas los estúpidos mensajes de aviso sobre las cookies, como si un usuario web fuera imbécil, he utilizado este código para sacar un DIV al inicio de la página con un poquito de Javascript y guardando una cookie en cuanto el usuario navega por la página, aceptando implícitamente el uso de esta tecnología.

<!-- Politica de Cookies -->
<!-- INICIO LAYER COOKIES -->
<style>
.identity-noticebar{background: #c6ddf1;border-top: 1px solid #c6c6c6;margin-bottom: 10px;height:30px; width:100%; margin:auto;}
.identity-noticebar-content{border-top: 1px solid #c6ddf1;padding: 5px 10px;}
.identity-noticebar-content span{font-size: 9px;color:#000;display:block;float:left}
.identity-noticebar-content span a{font-size: 9px;;color:#000;text-decoration:underline}
#cerrarnoticebar{display:block;float:right;font-size: 9px;color: #000;}
</style>
<div class="identity-noticebar" style="display:none" id="layer_cookie">
 <div class="identity-noticebar-content">
  <span class="notice">

  	<strong>Uso de cookies</strong>:

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y realizar labores analíticas. Si continúa navegando, consideramos que acepta 
su uso. Más información: <a title="Si desea más información haga clic aquí. Se abre en otra ventana" href="http://www.movilidadgranada.com/cookies/politica.html" target="_blank">Política de Cookies.</a>
  </span>
  <a title="cerrar" id="cerrarnoticebar" target="_blank" onclick="CookieLayerVisto();">X</a>
 </div>
</div>

<script>
function getCookie_Layer(e)
{
var t=document.cookie;
var n=t.indexOf(" "+e+"=");
if(n==-1){
  n=t.indexOf(e+"=")
}
if(n==-1){
  t=null
}
else{
  n=t.indexOf("=",n)+1;
  var r=t.indexOf(";",n);
  if(r==-1){
     r=t.length
  }
  t=unescape(t.substring(n,r))
}
return t
}

function setCookie_Layer(e,t,n){
 var r=new Date;
 r.setDate(r.getDate()+n);
 var i=escape(t)+(n==null?"":";expires="+r.toUTCString());
 document.cookie=e+"="+i
}

function CookieLayerVisualizado(e){
 setCookie_Layer("cookie_cgim",e,365)
}

function CookieLayerVisto(){
 setCookie_Layer("cookie_cgim",2,365);
 document.getElementById("layer_cookie").style.display="none"
}

var CookieLayer=getCookie_Layer("cookie_cgim");
if(CookieLayer!=null&&CookieLayer!=""&&CookieLayer!="0"&&CookieLayer!="1"){
  document.getElementById("layer_cookie").style.display="none"}
else{
  if(CookieLayer==null)
	CookieLayer=0;
  document.getElementById("layer_cookie").style.display="block";
  window.onscroll=function(e){
	CookieLayerVisualizado(parseInt(CookieLayer)+2)
  }
}
</script>
<!-- FIN LAYER COOKIES -->

Por cierto, utiliza para la cookie un nombre distinto (quita lo de cookie_cgim y pon otra cosa, para que no haya conflictos).

En el href de política de cookies pon un enlace a una página en la que expliques qué tipo de cookies utilizas, añadiendo las cookies de terceros, que son las de Google Analytics (o cualquier otra tecnología para obtener estadísticas) o las referentes a redes sociales (si metes un widget de Twitter, por ejemplo)

La Ley de Cookies

16 de septiembre de 2013 2 comentarios

Bueno, pues otra tontería que tenemos que actualizar. El rollo de las cookies.

En el BOE publicado el pasado 31 de marzo se detalla el Real Decreto-ley 13/2012, de 30 de marzo, por el que se transponen directivas en materia de mercados interiores de electricidad y gas y en materia de comunicaciones electrónicas, y por el que se adoptan medidas para la corrección de las desviaciones por desajustes entre los costes e ingresos de los sectores eléctrico y gasista

«Todos los sitios web deben ofrecer de forma clara y completa métodos para que el usuario de su consentimiento expreso para almacenar datos sobre su navegación en el sitio, a no ser que éste ya haya dado su consentimiento mediante opciones en el navegador que esté utilizando».

Qué es todo esto??

¿No os suena ese típico mensajito que sale ahora contínuamente en las webs informando sobre que usan cookies, que lo Aceptemos o que podemos ver más información?

Así que ya sabes, a poner una capita (DIV) en tu página con un formulario para que el usuario tenga más información y pueda pulsar Aceptar.

Otra solución: Quitar las cookies, a tomar por saco.

Más información en el PDF a continuación:

Guía sobre el uso de las cookies