Visualizzazione post con etichetta Web Develop: PHP MySQL. Mostra tutti i post
Visualizzazione post con etichetta Web Develop: PHP MySQL. Mostra tutti i post

lunedì 8 agosto 2011

Creare grafici dinamicamente: XML/SWF Charts e Open Flash Chart

1 commenti
Vi sarà forse capitato, nei progetti più importanti, di dover realizzare un grafico dinamico, ovvero basato su dati contenuti in un db / XML e costantemente aggiornati (come ad esempio un grafico con le statistiche di vendita, o con gli accessi al sito).
Per realizzare facilmente, e devo dire anche elegantemente, un grafico in questo modo, ci vengono in aiuto due strumenti: XML/SWF Charts e Open Flash Chart


XML/SWF Charts è un semplice ma potente strumento per creare grafici a partire da un file di dati XML. E' necessario generare un file XML per descrivere il grafico, e quindi passarlo allo strumento per creare il grafico. L'XML può essere creato manualmente o dinamicamente tramite un linguaggio server-side come PHP, ASP, ecc.
XML/SWF Charts si avvale delle migliori caratteristiche dei file XML e SWF: XML permette una  generazione flessibile dei dati, SWF fornisce la miglior resa grafica.

Open Flash Chart è uno strumento per creare al volo un grafico a partire da una sorgente di dati, che può essere costituita da un file .txt ma anche un file .php, Perl, Python, ecc...
Per creare un grafico semplice sarebbe sufficiente creare un file data.txt e puntare Open Flash Chart a questo file. Ma se quello che vogliamo veramente è un grafico dinamico con dati dinamici, tutto quello che dobbiamo fare è puntare Open Flash Chart a una pagina .php che estrapoli i dati dal database.


Leggi tutto...

domenica 7 agosto 2011

Controllare se l'IP del vostro server web è bloccato

0 commenti
Avevate un'applicazione che inviava email dal vostro sito web, e non funziona più? Firefox segnala il vostro sito come malevolo?
Una delle possibili cause è l'inserimento dell'IP del vostro server web nelle liste nere dei sistemi antispam.
Per verificare se il vostro indirizzo IP è listato nelle seguenti blocklist di Spamhaus: SBL, XBL and PBL, utilizzate l' IP Address Lookup Tool di Spamhaus, che trovate qui: http://www.spamhaus.org/lookup.lasso. Il sistema vi dirà anche cosa fare nel caso in cui il vostro indirizzo IP sia effettivamente listato.
Leggi tutto...

domenica 7 novembre 2010

Letture consigliate per gli sviluppatori e i progettisti web

0 commenti
Vi segnalo alcune letture che io stessa sto per iniziare:

- PHP. Le tecniche per scrivere il codice migliore. di MCINTYRE PETER
(su Hoepli: http://www.hoepli.it/libro/php/9788848125055.asp)

- Professional Php Design Patterns. di SARAY AARON
(su Hoepli: http://www.hoepli.it/libro/professional-php-design-patterns/9780470496701.asp)

- SEO POWER. di TAVERNITI GIORGIO
(su Hoepli: http://www.hoepli.it/libro/seo-power/9788820344597.asp)

- EMAIL MARKETING. di GORNI NAZZARENO, MAGLIO MARCO
(su Hoepli: http://www.hoepli.it/libro/e-mail-marketing/9788820341831.asp)

- S.E.O. Ottimizzazione web per motori di ricerca. di DAVIDE VASTA
(su Apogeo: http://www.apogeonline.com/libri/9788850328147/scheda)

Buona lettura :)
Leggi tutto...

martedì 15 dicembre 2009

Date in PHP e MYSQL

2 commenti
Traduco questo ottimo articolo di Richard Lord: Dates in PHP and MySQL , perchè l'ho trovato molto utile e interessante.

Vedo molta gente nei forum e nei miei corsi chiedere quale sia il miglior modo (o il modo) per gestire le date archiviate in un database MySQL e utilizzate dal codice PHP. Di seguito tre soluzioni, ma prima il problema.

Il PHP usa timestamps unix per tutte le funzioni relative alle date. Ha metodi per convertire questi timestamps in praticamente qualsiasi formato testuale possiate desiderare ma internamente usa il formato timestamp. Il timestamp è semplicemente un intero senza segno. Nello specifico, è il numero di secondi trascorsi dalla mezzanotte del 1 Gennaio 1970 (in base all'ora di Greenwich).

MySQL ha a disposizione tre tipi di campi data. Sono: DATETIME, DATE, e TIMESTAMP. Un campo DATETIME salva data e orario come una stringa nella forma AAAA-MM-GG HH:MM:SS (es. 2006-12-25 13:43:15). Un campo DATE usa solo la parte della data del formato precedente AAAA-MM-GG (es. 2006-12-25). Un campo TIMESTAMP, nonostante il nome, non somiglia per nulla al timestamp unix usato in PHP. Un campo TIMESTAMP è semplicemente un campo DATETIME che si aggiorna automaticamente all'orario corrente ogni volta che i contenuti del campo vengono modificati (è una semplificazione ma a grandi linee corretta, e i dettagli non sono importanti in questo caso). In particolare, dalla versione 4.1 di MySQL il formato TIMESTAMP è esattamente uguale al formato DATETIME.

Perciò il problema è come lavorare con questi due differenti formati di data - il numero intero timestamp di PHP e la stringa DATETIME di MySQL. Ci sono tre soluzioni di uso comune...

  1. Una comune soluzione è archiviare le date in campi DATETIME e usare le funzioni PHP date() e strtotime() per convertire i timestamp PHP e i DATETIME MySQL. Le funzioni saranno usate come nell'esempio seguente:

    $mysqldate = date( 'Y-m-d H:i:s', $phpdate );
    $phpdate = strtotime( $mysqldate );
  2. La nostra seconda opzione è lasciare che MySQL faccia il lavoro sporco. MySQL ha delle funzioni che possiamo usare per convertire i dati nel momento in cui accediamo al database. UNIX_TIMESTAMP converte il formato DATETIME nel timestamp di PHP e FROM_UNIXTIME converte il timestamp di PHP nel DATETIME di MySQL. Le funzioni vengono usate all'interno della query SQL. Perciò inseriamo e aggiorniamo le date usando query come queste:

    $query = "UPDATE table SET
    datetimefield = FROM_UNIXTIME($phpdate)
    WHERE...";
    $query = "SELECT UNIX_TIMESTAMP(datetimefield)
    FROM table WHERE...";
  3. La nostra ultima possibilità è semplicemente usare il timestamp di PHP ovunque. Poichè il timestamp di PHP è un numero intero senza segno, è sufficiente usare un campo INTEGER senza segno nel MySQL per salvare il timestamp. In questo modo non ci sono conversioni e possiamo semplicemente spostare i timestamp di PHP dentro e fuori il database senza alcun problema.

    Fate attenzione comunque al fatto che usando un campo INTEGER senza segno per salvare le vostre date perderete molte delle funzionalità di MySQL perchè MySQL non riconoscerà le vostre date come date. Potrete ancora ordinare i dati nei vostri campi data poichè i timestamp di PHP aumentano in modo regolare nel tempo, ma se vorrete usare una qualsiasi delle funzioni data o tempo di MySQL dovrete prima usare la funzione FROM_UNIXTIME per ottenere un valore MySQL DATETIME.

    Ad ogni modo, se state usando il database solo per salvare le informazioni di data e ogni manipolazione di queste verrà effettuata dal PHP allora non c'è problema.

Così finalmente siamo giunti al momento della scelta di quale usare. Per me, se non avete la necessità di manipolare le date con MySQL allora non c'è discussione: l'ultima alternativa è la migliore. E' semplice da usare ed è la più efficiente in termini di spazio occupato nella tabella e velocità di esecuzione in fase di lettura e scrittura.

Comunque, alcune query potrebbero risultare più complicate dato che le vostre date non sono in un campo data (es. selezionare tutti gli utenti che compiono gli anni oggi) e potreste rimetterci nelle esecuzioni prolungate. Se è questo il caso, meglio usare una delle altre due opzioni. Quale delle due, dipende da voi, se preferite far lavorare MySQL o il PHP. Io tendo ad usare l'opzione 2 ma non c'è una risposta giusta o una sbagliata - fate la vostra scelta.

Per riassumere, per chi va dritto all'ultimo paragrafo, la maggior parte delle volte uso l'opzione n. 3 ma occasionalmente uso l'opzione 2 se ho la necessità di far sapere a MySQL che i campi contengono una data.

Leggi tutto...

lunedì 19 gennaio 2009

Creare documenti di Microsoft Office con PHP

1 commenti
Girovagando per la rete ho trovato un interessante articolo di When Penguins Attack, che spiega come realizzare in modo semplice e veloce i principali tipi di documenti di Microsoft Office (e quindi documenti Word, Excel e Powerpoint) con PHP.

Ci sono due metodi per creare questi documenti: il primo è quello di utilizzare la libreria COM (solo su server Windows) oppure la libreria PEAR (su server linux), il secondo è utilizzare il classico HTML o CSV. L'articolo illustra come sia facile realizzare questi documenti con la libreria COM.

Link all'articolo
Leggi tutto...

lunedì 15 settembre 2008

Phoogle: la soluzione a tutti i vostri problemi (con Google Maps)

7 commenti
Da qualche giorno stavo cercando la soluzione al mio problema: creare dinamicamente una mappa di Google che pescasse i dati da un database Mysql.
Fin qui nessun problema, dato che anche nella documentazione ufficiale di Google viene spiegato come creare un database e da questo estrarre i dati per posizionare i markers (o segnalini).
Resta però un ostacolo insormontabile: questo metodo utilizza le solite coordinate di latitudine e longitudine, e avendo io tutti i miei dati già inseriti in un database con il solo buon vecchio indirizzo, sinceramente trovavo un po' scomodo dovermi collegare a siti come addressfix.com per ricavarmi tutte le coordinate per ogni singolo record del database.

Cerca che ti ricerca, ho trovato la mia ancora di salvezza: PHOOGLE (pron. Foogle).
Una strepitosa classe PHP che, in poche righe di codice, ti permette di fare veri e propri miracoli.

Sviluppata da System Seven, questa classe permette, inserendo un normale indirizzo (via, n. civico, comune) all'interno di una riga di codice, di creare "al volo" una mappa di Google bella e finita.
Veramente una manna dal cielo. Grazie System Seven!!!

Ecco il link ufficiale, da cui potete scaricare la classe e tutte le istruzioni: http://www.systemsevendesigns.com/phoogle
L'installazione è molto semplice: innanzitutto è necessario procurarsi una API Key per il proprio dominio (la solita sequenza alfanumerica), poi copiare ed incollare nel proprio sito la classe phoogle.php, e quindi, come si vede negli esempi, creare una semplice pagina html (o dinamica, a seconda delle necessità), in cui richiamare una istanza della classe, settare i parametri a nostro piacimento e inserire gli indirizzi che vogliamo visualizzare.

Per un esempio di come io ho utilizzato questa classe, guardate qui: http://www.localando.it/mappa.php (attenzione, ci mette un po' a caricarsi perchè ci sono diversi markers da collocare).
Leggi tutto...

lunedì 7 aprile 2008

Un utile strumento per programmatori, il Byte Converter

0 commenti
Oggi vi segnalo il Byte Converter, letteralmente un convertitore di byte... In cosa? In Kilobyte, Megabyte e Gigabyte, naturalmente!
L'ho trovato molto utile in certe applicazioni, dove magari conoscevo la dimensione in Kilobyte di un file, ma mi serviva sapere esattamente la conversione in Byte.
Certo, esistono le calcolatrici, ma questo tool è veramente semplice ed immediato.

Il link: http://webdeveloper.earthweb.com/.../byteconverter.htm
Leggi tutto...

Lista dei MIME Types

0 commenti
Vi è mai capitato di dover controllare, in uno script php, il mime type di un file? E magari di non sapere qual era il mime type associato a quella particolare estensione?

Bene, allora vi segnalo questo sito: http://www.webmaster-toolkit.com/mime-types.shtml , dove troverete una lista dei mime types più comuni e delle estensioni associate.
Leggi tutto...

lunedì 18 febbraio 2008

Le alternative a FCK Editor

8 commenti
FCK Editor è un tool fantastico per le nostre pagine web, che ci permette di integrare un editor veramente completo e assolutamente compatibile con gli standard del w3c.
Recentemente però mi è capitato di chiedermi se esisteva qualche alternativa ugualmente valida, e magari più leggera.
Ebbene sì, l'ho trovata. Esiste un poco conosciuto ma ottimo editor, che si chiama Nicedit, e che si integra alla perfezione nelle nostre pagine web con appena una o due righe di codice.
NicEdit è un editor inline realizzato in Javascript e Ajax, che permette di editare facilmente il contenuto di una textarea o addirittura di un div a nostra scelta, permettendoci di aggiungere qualsiasi tipo di formattazione.
Il file da scaricare è molto piccolo, meno di 35kB in totale, e solo 10kB la cartella compressa. Per l'installazione sono richiesti solo due file, il js e le icone.
NicEdit supporta i seguenti browser:
IE 5.5+ / FF 2+ / Opera 9+ / Safari 3+

L'installazione è molto semplice.

  1. Scaricate la cartella compressa da qui: http://www.nicedit.com/index.php

  2. Scompattate la cartella e inseritela nel vostro sito.

  3. Nella HEAD della pagina inserite il seguente codice:

    <script src="nicedit/nicEdit.js" type="text/javascript"></script>


  4. Nella vostra pagina
    - se volete convertire tutte le textarea, usate questo codice:

    <script type="text/javascript">
    bkLib.onDomLoaded(nicEditors.allTextAreas);
    </script>

    - se invece volete convertire solo alcune specifiche textarea, usate questo codice:

    <script type="text/javascript">
    bkLib.onDomLoaded(function() {
    new nicEditor().panelInstance('textarea');
    });
    </script>

    - se volete personalizzare la barra degli strumenti dell'editor, è sufficiente modificare il codice precedente in questo modo:

    <script type="text/javascript">
    bkLib.onDomLoaded(function() {
    new nicEditor({buttonList : ['bold','italic','underline','strikeThrough','undo','redo']}).panelInstance('textarea');
    });
    </script>




Trovate molti altri esempi e suggerimenti qui: http://www.nicedit.com/examples.php
Una sola avvertenza: l'editor salva tutti gli "a capo" come <BR>, anzichè come <br />. Per sopperire a questo problema ho usato la funzione str_replace di php per sostituire tutti i primi con i secondi. Comunque se utilizzate l'HTML 4 anzichè l'XHTML, non c'è nessun problema.


Un altro editor di cui ho sentito parlare, ma che personalmente non ho ancora provato, è TinyMCE. Ve lo indico per correttezza, anche se mi sembra di intuire che sia più simile a FCK editor che non a NicEdit.


Link NicEdit: http://www.nicedit.com/index.php
Link TinyMCE: http://tinymce.moxiecode.com/index.php
Leggi tutto...

lunedì 7 gennaio 2008

FCKeditor: guida all'installazione e all'uso

26 commenti
Oggi vi parlo di FCKeditor, un ottimo HTML editor da integrare ai nostri form online.

FCKeditor infatti non è un semplice Blocco Note per scrivere il nostro codice in locale, ma un tool da installare nel nostro sito web per permettere agli utenti, o a noi stessi, di scrivere del testo personalizzato, automaticamente tradotto dall'editor in codice HTML completamente validabile.

In questa pagina potete vedere un esempio di come apparirà l'editor nel vostro sito: http://www.fckeditor.net/demo. Naturalmente l'aspetto della barra degli strumenti è completamente personalizzabile. Si possono scegliere tre stili già pronti, oppure se avete la pazienza di crearvi da soli i vari pulsanti, potete addirittura usarne di personalizzati.

COME INSTALLARLO NEL VOSTRO SITO - INTEGRAZIONE CON IL PHP

  • Innanzitutto scaricate l'ultima versione disponibile dall'area download. A questo punto scompattate lo zip in una cartella del vostro sito.
  • Prendete la pagina .php in cui volete inserire l'editor, e aggiungete, a inizio pagina, il seguente codice (naturalmente il percorso è da modificare a seconda di dove avete inserito la cartella fckeditor):

<?php
include_once("fckeditor/fckeditor.php") ;
?>
  • A questo punto supponiamo di voler utilizzare l'editor all'interno di un form. Solo in questo modo infatti potremo recuperare e riutilizzare il codice HTML prodotto dallo stesso. Nella pagina dovremo scrivere:


<?php
include_once("fckeditor/fckeditor.php") ;
?>
<html>
<head>
<title>FCKeditor - Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>
<form action="send.php" method="post">
<?php
$oFCKeditor = new FCKeditor('testo') ;
$oFCKeditor->BasePath = '/fckeditor/' ;
$oFCKeditor->Value = 'Inserisci qui il testo';
$oFCKeditor->Create() ;
?>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>




  • Così facendo potremo recuperare, nella pagina send.php, il codice prodotto, che è contenuto nella variabile $_POST['testo'].

COME MODIFICARE L'ASPETTO DELLA BARRA DEGLI STRUMENTI

Non si tratta di una modifica di immediata comprensione, ma vedrò di essere il più chiara possibile :)
  • Aprite il file fckconfig.js, che trovate all'interno della cartella fckeditor.
  • Cercate la riga FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ; .
  • Tra gli stili presenti, oltre a "default", quello indicato nella riga precedente, potete scegliere "silver" o "office2003". E' sufficiente sostituire la parola "default" con una di queste due per avere subito un aspetto diverso. Gli stili sono contenuti all'interno della cartella fckeditor/editor/skins/.
  • Sempre nel file fckeditor.js trovate molti altri settaggi. Dal nome della variabile dovreste capire automaticamente di cosa si tratta :)
  • Se vogliamo creare la nostra personale barra degli strumenti senza andare a modificare quelle già presenti, copiamo la barra di strumenti di default:FCKConfig.ToolbarSets["Default"] = [.......]; e rinominiamola a nostro piacimento (es. FCKConfig.ToolbarSets["Miosito"] = [.......];). Al suo interno lasciamo tutte le voci che ci interessano, e cancelliamo quelle che non vogliamo far apparire, avendo cura di cancellare anche gli apici ed eventuali virgole che le delimitano.
  • Sempre nello stesso file possiamo cambiare eventualmente i colori disponibili, i font e molto altro.
  • Apriamo ora il file fckeditor.php. Qui possiamo cambiare l'altezza e la larghezza dell'editor, ma soprattutto possiamo dire al nostro editor di usare la nostra toolbar, modificando la riga $this->ToolbarSet = 'Default' ; in questo modo $this->ToolbarSet = 'Miosito' ;
  • Nella cartella fckeditor/editor/css troviamo infine i css che determinano l'aspetto del nostro editor (fck_internal.css) e i css che determinano invece l'aspetto degli stili che possiamo applicare al testo creato con il nostro editor (fck_editorarea.css).

ALTRE INFORMAZIONI

Il LAU gli dedica questo interessante articolo: http://lau.csi.it/realizzare/accessibilita/linguaggi_programmazione/FCKEditor/documentazione.shtml

E questa è la guida completa per l'integrazione con il PHP:
http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Integration/PHP
Leggi tutto...

[PHP - Ajax]: Validazione di un form con mootools

0 commenti
Questo articolo spiega come effettuare una verifica sui dati inseriti ed inviati tramite form grazie alla famosa libreria Mootools (usata soprattutto in combinazione con l'altrettanto famosa Slimbox).
Un grosso vantaggio di questa operazione è che la pagina non viene ricaricata, con un conseguente risparmio di tempo!

L'articolo: http://www.slacko.org/2007/09/07/form-con-validazione-in-ajax-con-mootools-13/
L'esempio: http://www.slacko.org/ajaxform/index.php
Leggi tutto...

[PHP - Ajax]: Realizzare una chat senza database

3 commenti
Ecco un altro interessante articolo su come realizzare una chat in PHP con il supporto di Ajax, stavolta senza database, ma semplicemente con un file di testo.
L'esempio della chat: http://www.slacko.org/chat/index.html
L'articolo completo: http://www.slacko.org/2006/12/08/ajax-chat/

Se volete usare questo tutorial, vi consiglio di aggiungere al messaggio inviato in chat sia il nickname di chi scrive, sia l'ora e la data in cui è stato scritto il messaggio, in modo da rendere la chat più chiara e comprensibile.
Leggi tutto...

[PHP - Ajax]: Realizzare una chat

0 commenti
Questo articolo spiega come realizzare in modo semplice e veloce una chat in php con il supporto di ajax.

http://www.sastgroup.com/leggi-tutorial.php
Leggi tutto...

mercoledì 21 novembre 2007

PHP: Impedire che un utente inserisca dati doppi nel db

0 commenti
Può succedere che effettuando un refresh della pagina, o tornando indietro di una schermata con l'apposito tasto del browser, il nostro sbadato utente possa erroneamente inviare due o più volte lo stesso form, con gli stessi identici dati, creando degli scomodi doppioni nel nostro database.
Una semplice soluzione ce la fornisce questa PILLOLA del forum di html.it, scritta dal bravissimo piero.mac.
E' sufficiente utilizzare il codice che ci propone per ovviare a questo fastidioso problema!

Link: http://forum.html.it/forum/showthread.php?postid=7161564
Leggi tutto...

martedì 20 novembre 2007

Creare un semplice sistema di ricerca in PHP e MYSQL

0 commenti
In questo tutorial pubblicato da sastgroup.com, vediamo come sia possibile realizzare un form per la ricerca di dati, ad esempio articoli, in una o più tabelle di un database. La traduzione dall'inglese non è completa, e il link originale non è più attivo, ma il codice è comunque chiaro e comprensibile.

Link: http://www.sastgroup.com/tutorials/creare-una-semplice-sistema-di-ricerca-in-php
Leggi tutto...

Realizzare un sondaggio con PHP e MYSQL

0 commenti
Vi segnalo questo interessante tutorial di giorgiotave.it, che spiega come realizzare e pubblicare nel proprio sito un sondaggio in PHP e MYSQL.
Link: http://www.giorgiotave.it/tutorial/sondaggio.php
Leggi tutto...

Calendario eventi in PHP

0 commenti
Calendario in PHPIn giro per i vari forum di PHP, ho visto che spesso uno degli aiuti più richiesti è "come creare un calendario dinamico". Questo tutorial ci viene proprio a puntino.
Ben scritto e perfettamente funzionante, spiega passo passo come realizzare un semplice calendario sempre aggiornato.
Molto utile!

Link: http://www.yappy.it/calendario_eventi_php.php
Leggi tutto...