Es mostren els missatges amb l'etiqueta de comentaris php. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris php. Mostrar tots els missatges

dissabte, 16 de novembre del 2013

Petita prova d'AJAX i PHP

He fet una petita prova amb PHP i Ajax com a demostració de concepte.

En PHP he fet un script per a generar captches (a partir de codi de tutorials, no en soc cap expert). L'script rep una key (hauria de ser aleatoria) i genera una imatge fent un crc32 de la key rebuda junt amb un salt.

Com es fa servir? Així:

<img src="captcha.php?k=[ALGUNA COSA ALEATÒRIA]">

Per tant, amb javascript el podríem fer servir així:

document.writeln("<img src='captcha.php?k="+Math.random()+"'/>");

El mateix script, si rep la key i un value, aplica la mateixa fórmula per comprovar que el value és l'associat a la key. A més, això ho torna en format JSON, cosa perfecte per fer una crida amb AJAX.

He fet una pàgina HTML amb Javascript i Ajax per provar-ho. Té aquesta pinta:

És tan sols una petita prova, però la comparteixo per si a algú li resulta útil. No és, ni molt menys, un captcha segur: fins i tot un robot miop el resoldria, però serveix com a demostració de concepte.

El podeu descarregar en format ZIP d'aquí. El password és falciot.org.



diumenge, 27 de gener del 2013

LAMP + PHPMYADMIN + WORDPRESS a Ubuntu Server 12.04

Aquesta pràctica l'he feta al mòdul 4 de Llenguatges de Marques de 1r de DAW i 1r d'ASIX. L'objectiu és instal·lar un wordpress a un Ubuntu Server 12.04. M'he basat en aquest article d'instal·lació de wordpress a Ubuntu, però fent servir el tasksel per simplificar-ho. Ho hem fet amb una màquina virtual amb la xarxa configurada com a adaptador pont. L'usuari de la màquina virtual és diu alumne i tenia creat un directori www al home d'aquest usuari amb el phpmyadmin i wordpress descarregat. Per descarregar-los he fet servir les següents ordres wget:

> wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.5/phpMyAdmin-3.5.5-all-languages.tar.gz

> wget http://ca.wordpress.org/wordpress-3.5-ca.tar.gz

LAMP + SSH

> sudo tasksel

i seleccionar LAMP i SSH

MYSQL

Està instal·lada la BD? Provem-ho:

> mysql -u root -p

Demana el password. Un cop dins del client mysql, podem fer una consulta:

> select curtime();

Per sortir:

> quit

Per defecte, MYSQL s'inicia amb el sistema. Per reiniciar, parar o iniciar el servidor MySQL

> sudo /etc/init.d/mysql restart|stop|start

APACHE

El servidor web està instal·lat i funcionant. Provem-ho connectant-nos a la IP del servidor amb el navegador. Per saber la IP:

> ifconfig

Per comprovar que funciona correctament, canviem la pàgina web per defecte que mostra. Aquesta pàgina està al directori /var/www

> cd /var/www

> sudo pico index.html

Modifica la pàgina web. Per sortir CTRL + X i s'ha de dir Yes per guardar els canvis. Desprès, refresca la web i veuràs els canvis.

Per defecte, Apache s'inicia amb el sistema. Per reiniciar, parar o iniciar el servidor Apache:

> sudo /etc/init.d/apache2 restart|stop|start

Fem un canvi de configuració a l'Apache2. En lloc de fer servir el directori /var/www com a carpeta principal, farem servir la carpeta /home/alumne/www (per comoditat)
Aquesta carpeta ja la teniu creada.

S'ha de canviar un dels fitxers de configuració de Apache per indicar el canvi de directori

> cd /etc/apache2/sites-enabled

Edito el fitxer 000-default 

> sudo pico 000-default 

Als dos llocs on posa /var/www ara ha de posar /home/alumne/www. Guardo el fitxer i reinicio el servidor web

> sudo /etc/init.d/apache2 restart

Torno al directori principal i per fer una pàgina web

> cd /home/alumne/www

Creo un fitxer anomenat index.html

> pico index.html

Un cop hi he posat alguna cosa, la guardo i torno a refrescar el navegador.

PHP5

Com podem comprovar-ho? Farem una pàgina php simple.

> cd /home/alumne/www

Esborrem index.html

> rm index.html

Creem un fitxer anomenat index.php

> pico index.php

Dins podem escriure, per exemple, el següent codi:

<html>
<body>
<?php 
for ($i = 1; $i <= 10; $i++) {
    echo "<br>".$i;
}
?>
</body>
</html>

Guardem el fitxer i recarreguem la pàgina web al navegador

PHPMYADMIN

Anem a la carpeta www on teniu descarregat el phpMyAdmin

> cd /home/alumne/www

Descomprimim el fitxer

> tar -xzvf phpMyAdmin-3.5.5-all-languages.tar.gz

Canviem el nom del directori on hi està el phpMyAdmin

> mv phpMyAdmin-3.5.5-all-languages phpmyadmin

Probem la instal·lació obrint al navegador el phpmyadmin: http://IP_DEL_SERVIDOR/phpmyadmin. L'usuari que demana és el de la base de dades (usuari root i password alumne)

Amb el phpmyadmin crearem un usuari anomenat wordpress amb password wordpress amb una base de dades del mateix nom.

WORDPRESS

A la carpeta www hi ha la darrera versió de wordpress en català descarregat. El descomprimim:

> tar -xzvf wordpress-3.5-ca.tar.gz

Configuro les dades d'accés a la base de dades des del wordpress. A la carpeta wordpress edito el fitxer wp-config-sample.php

> pico wp-config-sample.php

Canvio els valors de:
  define('DB_NAME', 'wordpress');
  define('DB_USER', 'wordpress');
  define('DB_PASSWORD', 'wordpress');

També s'han de canviar els valors de:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

La millor opció es posar els valors aleatoris que surten si et connectes a https://api.wordpress.org/secret-key/1.1/salt/

El fitxer s'ha de guardar com a wp-config.php

Per últim, es connectem a http://IP_DEL_SERVIDOR/wordpress i iniciem la configuració del wordpress

divendres, 13 de juliol del 2012

Aplicació d'enquestes en PHP

He decidit fer pública i lliure l'aplicació d'enquestes que vaig desenvolupar en PHP per a fer una sèrie d'enquestes als alumnes de l'Institut Provençana durant el curs 2011/2012.

Aquesta aplicació està pensada per a fer una sèrie d'enquestes per saber les opinions dels alumnes per a cada un dels mòduls o cedits que fan. A més, també se'ls enquesta sobre l'us de la llengua i sobre aspectes diversos de l'institut.

Cada grup té una clau d'accés propia. El tutor els hi dóna i poden fer les enquestes d'us de la llengua i d'aspectes diversos de l'institut a més d'una enquesta per a cada mòdul o crèdit que fan. La clau d'accés es genera amb l'enllaç "Generar PDFs informatius" que es veu a la imatge. Aquesta pàgina, protegida per una clau, genera PDFs per a donar als tutors on surt la clau i altres dades de les enquestes.
El nombre de grups i els mòduls o crèdits que fa cada grup és configura mitjançant un fitxer en format CSV. Tambés són configurades així les preguntes de cada enquesta i es poden fer preguntes de diferents tipus (radio, checkbox, text i textarea).

Les respostes s'emmagatzemen en format CSV. L'aplicació, mitjançant l'enllaç "Generar URLs amb els resultats" genera les URLs per a enviar als tutors, professors i/o responsables amb els resultats de les enquestes. Aquestes URLs són pseudo segures i no es poden deduir.

L'aplicació la podeu descarregar d'aquest enllaç: aplicació d'enquestes en PHP

És un arxiu zip amb contrasenya, que és falciot.org. Heu de llegir, en primer lloc, el fixter README.txt que conté amb més informació.