Warning: Table './petronio_db1/hijack_cache_page' is marked as crashed and should be repaired query: SELECT data, created, headers, expire FROM hijack_cache_page WHERE cid = 'http://hijack.it/articles' in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174

Warning: Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174) in /accounts/petronio/www/drupal/includes/bootstrap.inc on line 569

Warning: Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174) in /accounts/petronio/www/drupal/includes/bootstrap.inc on line 570

Warning: Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174) in /accounts/petronio/www/drupal/includes/bootstrap.inc on line 571

Warning: Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174) in /accounts/petronio/www/drupal/includes/bootstrap.inc on line 572

Warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174)</em> in <em>/accounts/petronio/www/drupal/includes/common.inc</em> on line <em>141</em>.', 2, '', 'http://hijack.it/articles', '', '54.156.90.21', 1500625703) in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174

Warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Table &amp;#039;./petronio_db1/hijack_watchdog&amp;#039; is marked as crashed and should be repaired\nquery: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, &amp;#039;flickr&amp;#039;, &amp;#039;Could not connect to Flickr, Error: Forbidden&amp;#039;, 1, &amp;#039;&amp;#039;, &amp;#039;http://hijack.it/articles&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;54.156.90.21&amp;#039;, 1500625703)</em> in <em>/accounts/petronio/www/drupal/includes/database.mysql.inc</em> on line <em>174</em>.', 2, '', 'http://hijack.it/articles', '', '54.156.90.21', 1500625703) in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174
Articoli e Tutorials | Hijack.it di Giacomo Petronio

Articoli e Tutorials

  • warning: Cannot modify header information - headers already sent by (output started at /accounts/petronio/www/drupal/includes/database.mysql.inc:174) in /accounts/petronio/www/drupal/includes/common.inc on line 141.
  • user warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'flickr', 'Could not connect to Flickr, Error: Forbidden', 1, '', 'http://hijack.it/articles', '', '54.156.90.21', 1500625703) in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174.

Is the Javascript bet a loser or a winner one?

Recently I had the the sensation that the world is trying to port *every* existing application in HTML5. The proliferation of Javascript API meant to cover almost every programmer's need is the tangible proof. There's an API for every taste: graphics (2D/3D), audio, video, realtime communication, filesystem access, permanent storage, database, connectivity and many more. Everythings seems really nice, but the shame is that at the basis we have Javascript...

Continua a leggere

Datasource bindings configuration on JBoss AS 7 and Cloudbees

In this article I try to show how to configure datasource bindings (involving JPA too) for a Java EE6 application in order to deploy it on both JBoss AS 7 and Cloudbees. Continua a leggere

Eclipse SVN Shortcut Keys not working

I encountered this problem two times, in the second one I forgot the solution, so here it is as a reminder for everyone who is wondering why some eclipse shortcut Keys doesn't work

Continua a leggere

PHP, MySQL e phpMyAdmin on Leopard Mac OS X

Prima di migrare questo sito alla nuova versione di Drupal (dall'attuale 5.9 alla 6.3), ho voluto fare un test in locale per evitare complicazioni durante il passaggio. Inoltre, visto che sono in possesso di un nuovo e fiammante MackBook, ho voluto provare il tutto su Mac OS X per vedere un po' come va.. ma mi sono scontrato da subito con alcune difficoltà che mi sembra siano abbastanza comuni a chi necessita di un installazione ad-hoc di PHP con i moduli più diffusi (fra cui GD), e di MySQL con annesso phpMyAdmin. Il tutto magari installato nella directory Sites dell'utente sfruttando il modulo userdir di Apache che su Leopard è attivato di default ma non funziona proprio come dovrebbe da subito...

Vediamo quindi quali sono i passi necessari per avere un sistema Mac OS X con PHP5, MySQL e phpMyAdmin.

Continua a leggere

Autocompletamento dei campi input text con javascript e ajax

ajax
Una guida che spiega come implementare l'autocompletamento in un campo di tipo input text con javascript e che può facilmente essere esteso con ajax e query su database.
L' ispirazione originale proviene da google con il suo google suggest che utilizza tra l'altro ajax per tenere aggiornati i "suggerimenti" interrogando in maniera asincrona un loro server man mano che voi scrivete la parola.
In questa guida vedremo come realizzare un campo <input type="text"/> che si comporterà in questo modo:
NB: Con Internet Explorer 7 l'esempio qui riportato non funziona per problemi legati a incompatibilità con lo StyleSheet del tema Garland di Drupal. Motivo in più per usare Firefox. Continua a leggere

Data Access Object in PHP

Sviluppare un sito dinamico su di una piattaforma LAMP e WAMP è da molto tempo estremamente semplice.
Programmi come EasyPHP per windows, hanno reso lo sviluppo in PHP alla portata di tutti, ma anche i piccoli siti piccoli che si appoggiano a database risultano di una certa complessità, dovuti alla necessità, raramente realizzata, di dividere il codice di accesso ai dati dal codice di presentazione. Questo comporta numerose ore di lavoro in fase di manutenzione e di aggiornamento del sistema, che col tempo può diventare ingestibile.

Per aiutarci nelle nostre piccole imprese ci vengono incontro dei pattern di programmazione che hanno l'obiettivo di separare la parte dei Dati dalle altre (es. pattern MVC), in Java ad esempio esistono interi Framework che svolgono questo compito (es. Hibernate), ma anche nella stessa Enterprise Edition 5 è stata inclusa una tecnologia con questo scopo (Java Persistence API).

In PHP esistono diversi progetti che implementano la Persistence, ma noi qui non vogliamo fare le cose troppo in grande, ci accontentiamo di scrivere delle cose interessanti che ci semplifichino la vita, magari imparando anche qualcosa.
Nell'articolo cerco di spiegare come possiamo separare la gestione dei dati dal resto dell'applicazione, mettendo mano a meno codice SQL possibile e relegandolo nella nostra piccola libreria. Continua a leggere

Client HTTP in java

java
Un semplice client HTTP scritto in java che consente di visualizzare i messaggi a livello HTTP sia in fase di invio che le risposte del server.
E' possibile settare il metodo della richiesta (GET o POST), impostare manualmente gli headers e scrivere un eventuale body da mandare al server (utile usando il metodo POST).
Il file dispone di un interfaccia grafica ma è possibile utilizzare solamente il file HTTPClient in un progetto esterno.

Nell'articolo mi limiterò a commentare dettagliatamente la classe HTTPClient, mentre un'interfaccia grafica è velocemente realizzabile con un qualsiasi IDE come Netbeans Continua a leggere

Warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Table &amp;#039;./petronio_db1/hijack_cache_page&amp;#039; is marked as crashed and should be repaired\nquery: LOCK TABLES hijack_cache_page WRITE</em> in <em>/accounts/petronio/www/drupal/includes/database.mysql.inc</em> on line <em>174</em>.', 2, '', 'http://hijack.it/articles', '', '54.156.90.21', 1500625703) in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174

Warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em></em> in <em>/accounts/petronio/www/drupal/includes/database.mysql.inc</em> on line <em>174</em>.', 2, '', 'http://hijack.it/articles', '', '54.156.90.21', 1500625703) in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174

Warning: Table './petronio_db1/hijack_watchdog' is marked as crashed and should be repaired query: INSERT INTO hijack_watchdog (uid, type, message, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '<em>Table &amp;#039;./petronio_db1/hijack_sessions&amp;#039; is marked as crashed and should be repaired\nquery: UPDATE hijack_sessions SET uid = 0, cache = 0, hostname = &amp;#039;54.156.90.21&amp;#039;, session = &amp;#039;messages|a:1:{s:5:\\&amp;quot;error\\&amp;quot;;a:2:{i:0;s:225:\\&amp;quot;user warning: Table &amp;amp;#039;./petronio_db1/hijack_cache_page&amp;amp;#039; is marked as crashed and should be repaired\\nquery: LOCK TABLES hijack_cache_page WRITE in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174.\\&amp;quot;;i:1;s:88:\\&amp;quot;user warning: in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174.\\&amp;quot;;}}&amp;#039;, timestamp = 1500625703 WHERE si in /accounts/petronio/www/drupal/includes/database.mysql.inc on line 174