Archive for the 'php' Category

MySQL, Source Code, php

Nuova versione della classe MySQLDump per il backup di DB MySQL

Guest post di Daniele

Oggi vi presento la nuova versione (2.0) della classe MySQLDump già introdotta da questo articolo nel quale si spiega come utilizzare questo strumento per semplificare il backup di database MySQL mediante pagine php.

I miglioramenti non sono molto numerosi dato che si partiva dal già ottimo lavoro di inandrea ma penso possano rivelarsi abbastanza utili: ora è infatti possibile esportare struttura e/o dati non solo dell’intero database selezionato ma anche di una singola tabella.

Ipotizziamo di avere un database denominato ‘ilmiodatabase’ e, all’interno di questo la tabella ‘lamiatabella’. Ora vediamo come esportare struttura e dati per la nostra tabella. (Attenzione che l’interfaccia della classe è leggermente cambiata rispetto alla precedente versione).

//Includo la libreria
@include_once('lib_dump.php');
//Connessione al database
$connection = @mysql_connect('127.0.0.1','username','password');
//Creazione di una istanza della classe MySQLDump
//1° parametro: il nome del database da esportare
//2° parametro: il file che conterrà il dump
//3° parametro: il tipo di file creato (true = compresso, false = semplice)
//4° parametro: la codifica dei dati (true = esadecimale, false = plain text)
$dumper = new MySQLDump('ilmiodatabase','filedidump.sql',false,false);
//Espotazione della struttura della tabella 'lamiatabella'
$dumper->getTableStructure('lamiatabella');
//Espotazione dei dati contenuti nella tabella 'lamiatabella'
$dumper->getTableData('lamiatabella');

Continue Reading »

News, Source Code, Wiki-Dashboard, Wordpress, php

Wordpress Plugin: Wiki-Dashboard 0.1

Wiki-Dashboard è un plugin per Wordpress che permette di avere uno spazio condiviso tra tutti gli autori di un blog per potersi scambiare delle note a ‘mo di wiki, ma può risultare utile anche nei blog mono-autore, permettendo di avere una sorta di blocco note dove si possono prendere appunti.

Funzionalità del plugin:

  • Testo dove poter scrivere le note in una sottopagina della bacheca
  • Il testo è condiviso tra tutti gli autori del blog, e tutti possono modificarlo
  • Parser bbCode per la formattazione del testo
  • Supporto per l’internazionalizzazione

Screenshots:
Wiki-Dashboard mostra il testo:

Wiki-Dashboard View

Wiki-Dashboard durante l’editing del testo:
Wiki-Dashboard Edit
Continue Reading »

MySQL, Source Code, Web, php

Interfaccia alla classe MySQLDump per il backup

La classe MySQLDump è stata aggiornata a una nuova versione e questo articolo contiene informazioni obsolete. Per informazioni sulla nuova versione controllare l’articolo sulla nuova versione

Dopo il successo dell’articolo Backup di un database mysql da php, ho deciso di scrivere un piccolo post su un file che può ritornare utile per scaricare il backup del db di un sito o di un blog wordpress direttamente dal browser.
Per usare lo script, basta semplicemente scaricarlo e modificare le prime linee, dove è contenuta la configurazione:

// Configurazione del DB
$server = "IP del server (localhost dovrebbe andare bene nella maggior parte dei casi=";
$username = "Nome utente del db";
$password = "Password del db";
$dbToDump = "Nome del db di cui fare il dump";
// password per accedere alla pagina php. Ricordati di cambiare la password di default!!!
$backupPassword = "UltraSecretKeyThatYouMUSTInsertHere";
// nome del file in cui salvare il backup
$filename = "backup.sql.gz";

Dopo ciò, si può uploadare il file nel server, nella stessa cartella dove è presente la classe MySQLDump.
Per accedere allo script bisogna specificare due parametri: la password per accedere allo script (pass), e un altro parametro (t) che se è 1 separerà le SQL insert ogni 100 righe.
Per esempio, se si è uploadato il file nella directory principale del sito, basta scrivere nella barra degli indirizzi del browser:

http://www.iltuosito.it/backup.php?pass=UltraSecretKeyThatYouMUSTInsertHere&t=1

…e il browser aprirà la finestra di dialogo per scaricare il file con il backup del db!

Download MySqlDump Interface.php. Downloads: 415

Per ulteriori informazioni sulla classe MySQLDump, leggere l’articolo originale, o scaricare il sorgente da qui:

Download MySQLDump. Downloads: 1938

MySQL, Source Code, Web, php

Backup di un database mysql da php

La classe MySQLDump è stata aggiornata a una nuova versione e questo articolo contiene informazioni obsolete. Per informazioni sulla nuova versione controllare l’articolo sulla nuova versione

In questi giorni ho deciso di scrivermi uno script su linux, per aggiornare automaticamente la mia copia in locale di questo “FANTASTICO” sito, in modo da potere smanettare sul css e sulle pagine, senza disturbare i lettori. Sinceramente mi sembrava una cosa veloce, infatti dovevo semplicemente fare il dump del database mysql di aruba, riversare il tutto nel mio db locale e opzionalmente scaricare l’intero sito via ftp. Senonché ho, tristemente, scoperto che aruba non dota i suoi “hosting server” del comando “mysqldump” (ottima utility che consente velocemente di fare il dump completo di un db mysql).

Lamp

A questo punto ho deciso di sbracciarmi le maniche e ho capito che avrei dovuto mettere mano al php. Per evitare di iniziare da zero, ho cercato qualcosa di più o meno pronto da modificare il meno possibile.

Continue Reading »

Source Code, php

Immagine Random in php

Se volete visualizzare nel vostro sito un immagine casuale, un ottimo modo di fare questo è attraverso uno script php.
Un modo semplice di visualizzare un immagine casuale in php è quello di fare qualcosa del tipo: genera un numero casuale, se questo è 1 allora manda in eco l’immagine 1, se questo è 2 manda in eco l’immagine 2 etc… Il problema di questo metodo è che l’output prodotto non è un immagine ma del codice html con il tag img. Ecchissenefrega, tanto alla fine l’immagine casuale viene comunque disegnata, direte voi! Certo, ma in alcuni casi è necessario che il codice php generi direttamente un immagine, e che quindi dirigendo il browser all’indirizzo della pagina php venga visualizzata l’immagine senza che ci sia nessun sorgente HTML della pagina. A me per esempio è servito per specificare delle immagini random che vengono richiamate dal foglio di stile del sito: il css non può interpretare il php visto che è letto in locale dal browser, quindi l’immagine a cui punta il css deve essere una vera e propria immagine, altrimenti questa non verrà visualizzata.
Bando alle ciance quindi.
Un esempio di immagine casuale è quella qui sotto :)
Immagine random

Preferite i cani, il gatto o il criceto molto fortunato? :D (refresh per randomizzare un’altra immagine)
Continue Reading »

C, MySQL, php

Ottenere una stringa pulita SQL

Il post seguente fa parte del progetto SQLStringBuilder. Per le ultime versioni del codice sorgente si consiglia di prelevare il codice dal CVS.

Se dobbiamo lavorare con delle stringhe SQL in un ambiente in cui la sicurezza è fondamentale, non possiamo assolutamente permetterci di mandare in pasto al MySQL stringhe senza prima averle ripulite per bene. Quella che può sembrare un esagerazione di un programmatore pazzo invece si reputa un enorme falla di sicurezza se non implementata
Se per esempio diamo in pasto la seguente SQL al db: string sql = "INSERT INTO table VALUES('" + textBoxNomeCliente.Text + "')";

dove textBoxNomeCliente è il text box riempito dall’utente, i rischi di sicurezza sono praticamente enormi. Cosa succederebbe se per esempio il cliente nel textbox scrivesse:

Ti sto per fottere il DB...'); DROP TABLE "tabellaConDatiImportantissimi"; INSERT INTO table VALUES('ti ho fottuto il DB haha!

La query in pratica diventerebbe:

INSERT INTO table VALUES('Ti sto per fottere il DB...'); DROP TABLE "tabellaConDatiImportantissimi"; INSERT INTO table VALUES('ti ho fottuto il DB haha!')

Bello vero?? In pratica l’utente malintenzionato può facilmente eseguire tutte le query che vuole, in questo caso cancellando completamente una tabella.
Continue Reading »

Wordpress, php

Problema con i commenti utilizzando il tema Redoable

Mavero su un commento mi segnala che ha avuto problemi con i commenti utilizzando il tema Redoable. Siccome anche io ho avuto un problema simile, faccio questo post nella speranza che possa essere utile ad altra gente per risolvere questo problema. Mavero segnala che quando utilizza il tema al posto dei commenti viene visualizzata la scritta “COMMENTS ARE CURRENTLY CLOSED”. Nel mio caso invece qualsiasi commento cliccassi, mi venivano semrpe visualizzati i commenti al primo post nel blog. Non so se il problema è lo stesso, ma scrivo comunque qui la soluzione.

Bisogna aprire il file single.php e modificare le righe finali del file in modo da trasformarle da così

</div>
<div id=”rightcolumn”>
<?php get_sidebar(); ?>
</div>
<div class=”clear”></div>
</div> <!– .content –>
<?php comments_template(); ?>
<?php get_footer(); ?>

a così:

</div>
<?php comments_template(); ?>
<div id=”rightcolumn”>
<?php get_sidebar(); ?>
</div>
<div class=”clear”></div>
</div> <!– .content –>
<?php get_footer(); ?>

Non so per quale arcano motivo, ma chiamando comments_template() dopo get_sidebar() i commenti non venivano visualizzati correttamente (almeno nel mio caso).