<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Massimo Perini &#187; Php e dintorni</title>
	<atom:link href="http://www.massimoperini.it/category/php-e-dintorni/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.massimoperini.it</link>
	<description>Programmazione php, seo, web design e multimedia</description>
	<lastBuildDate>Mon, 28 Nov 2011 08:34:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Prelevare il contenuto di un input con Jquery e ajax</title>
		<link>http://www.massimoperini.it/prelevare-input/</link>
		<comments>http://www.massimoperini.it/prelevare-input/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 00:08:38 +0000</pubDate>
		<dc:creator>max2010</dc:creator>
				<category><![CDATA[Php e dintorni]]></category>

		<guid isPermaLink="false">http://www.massimoperini.it/?p=104</guid>
		<description><![CDATA[Devo essere onesto, non ho mai amato Javascript. Ho imparato la programmazione su Java e poi php, e tutte le volte che per necessit&#224; ho avuto a che fare con Javascript mi sono procurato dei notevoli mal di testa. Da quando conosco il famoso framework Jquery invece, tutto &#232; cambiato. Ogni volta resto impressionato dalla [...]]]></description>
			<content:encoded><![CDATA[<p>Devo essere onesto, non ho mai amato Javascript. Ho imparato la programmazione su <a href="http://www.java.com/it/">Java</a> e poi php, e tutte le volte che per necessit&agrave; ho avuto a che fare con Javascript mi sono procurato dei notevoli mal di testa.</p>
<p>Da quando conosco il famoso framework Jquery invece, tutto &egrave; cambiato. Ogni volta resto impressionato dalla semplicit&agrave; con la quale questa incredibile collezione di librerie javascript ti permette di migliorare l&#39;esperienza di navigazione sulle tue pagine web con poche semplici righe di codice.</p>
<p>In questo articolo proporr&ograve; un sistema per prelevare i dati immessi in un campo di input, inviarli ad un file php, elaborarli e poi restituirli alla stessa pagina in un determinato campo div, utilizzando le jquery con ajax.</p>
<p>Innanzitutto, affinch&egrave; questo codice funzioni, bisogna <a href="http://code.jquery.com/jquery-1.5.min.js">scaricare le jquery</a> ed integrarle nella pagina html tra &lt;head&gt; e &lt;/head&gt;, in questo modo:</p>
<pre>&lt;head&gt;

<span style="color: rgb(0, 100, 0);">...
</span>
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.5.min.js&quot;&gt;&lt;/script&gt;

&lt;/head&gt;
</pre>
<p>&nbsp;</p>
<p>Il percorso del file da chiamare cambier&agrave; ovviamente a seconda di dove metterete il file js.</p>
<p>Detto questo, supponiamo di avere nella nostra pagina html un form con un campo di input, del tipo:</p>
<pre>&lt;form action=&quot;myscript.php&quot; method=&quot;post&quot; name=&quot;myform&quot;&gt;

<span style="color: rgb(0, 100, 0);">...
</span>
&lt;input type=&quot;text&quot; name=&quot;testo&quot; id=&quot;testo&quot; /&gt;

<span style="color: rgb(0, 100, 0);">...
</span>
&lt;/form&gt;
</pre>
<p>e di voler prelevare ci&ograve; che scriviamo in questo campo e in tempo reale inviarlo ad un file php, e poi una volta elaborato lo vogliamo scrivere nella stessa pagina, in un certo campo div, ad esempio cos&igrave;:</p>
<pre>&lt;div id=&quot;campo&quot;&gt;&lt;/div&gt;
</pre>
<p>Un&#39;applicazione semplice per cui questo potrebbe servire potrebbe essere ad esempio la verifica dell&#39;esistenza o meno di un dato record in un database.</p>
<p>Supponiamo di avere un database contenente degli utenti di un dato sito, ed averlo archiviato nella tabella &quot;utenti&quot;.</p>
<p>A questo punto scriveremo un file verifica.php circa in questo modo:</p>
<p>&nbsp;</p>
<pre>&lt;?php
<em><span style="color: rgb(0, 100, 0);">// qui do per scontato che abbiamo gi&agrave; aperto la connessione con mysql
// e abbiamo selezionato il database
</span></em>
$username=$_POST[&#39;username&#39;];

$query = &quot;SELECT * from `utenti` where username=&#39;&quot;.
mysql_real_escape_string($username).&quot;&#39;;&quot;;

$records=mysql_query($query, $db);

if (mysql_num_rows($records)&gt;0) {
 echo &#39;Utente esistente&#39;;
}
else {
 echo &#39;Utente inesistente&#39;;
}

?&gt;
</pre>
<p>
	Lo script in php va richiamato in background con ajax, tramite le Jquery, nella precedente pagina html, in questo modo (questo codice va messo dopo la chiamata alle jquery, e pu&ograve; stare ovunque nella pagina, anche se &egrave; meglio metterlo prima di &lt;/head&gt;):</p>
<pre>&lt;script type=&quot;text/javascript&quot;&gt;

$(document).ready(function(){

<em><span style="color: rgb(0, 100, 0);">// come si pu&ograve; vedere, applicare una funzione ad una determinata azione
// su un campo di input, &egrave; molto semplice con jquery
// in questo caso usiamo <strong>keyup
</strong>// il simbolo # si usa per indicare l&#39;id dello specifico tag
</span></em>
   $(&quot;#testo&quot;).keyup(function() {

<span style="color: rgb(0, 100, 0);"><em>// assegno alla variabile dati, il contenuto del campo di input #testo
// dal momento che questa funzione viene richiamata ogni volta che
// scriviamo dentro il campo input, questo contenuto si aggiorna sempre
</em></span>
   var dati = $(&#39;#testo&#39;).attr(&#39;value&#39;);

<span style="color: rgb(0, 100, 0);"><em>// la semplicit&agrave; con cui jquery tratta con ajax &egrave; imbarazzante
// per non parlare dei problemi di compatibilit&agrave; tra browser di cui
// se ne occupa totalmente
</em></span>
    var data_send=&quot;username=&quot;+dati;

        $.ajax({
            type: &quot;POST&quot;,
            url: &quot;verifica.php&quot;,
            data: data_send,
            success: function(data){
              $(&#39;#campo&#39;).html(data);
             }
           });
    });

});

&lt;/script&gt;
</pre>
<p>L&#39;esempio mostrato &egrave; molto semplice, ma partendo da queste basi si possono trovare le pi&ugrave; svariate applicazioni, certo presupponendo sempre una discreta conoscenza di php, mysql, ecc.</p>
<p>Buon divertimento con Jquery!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimoperini.it/prelevare-input/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin utili per WordPress</title>
		<link>http://www.massimoperini.it/plugin-utili-per-wordpress/</link>
		<comments>http://www.massimoperini.it/plugin-utili-per-wordpress/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 17:52:36 +0000</pubDate>
		<dc:creator>max2010</dc:creator>
				<category><![CDATA[Php e dintorni]]></category>

		<guid isPermaLink="false">http://www.massimoperini.it/?p=69</guid>
		<description><![CDATA[WordPress è ormai probabilmente il CMS più usato al mondo. Nato come semplice blog, nel corso degli anni ha visto un sempre maggior numero di modifiche che lo hanno convertito in vero e proprio CMS che non ha nulla da invidiare ai vari Joomla, Phpwcms ecc. L&#8217;installazione e l&#8217;utilizzo sono piuttosto facili anche per chi [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress è ormai probabilmente il CMS più usato al mondo.</p>
<p>Nato come semplice blog, nel corso degli anni ha visto un sempre maggior numero di modifiche che lo hanno convertito in vero e proprio CMS che non ha nulla da invidiare ai vari Joomla, Phpwcms ecc.</p>
<p>L&#8217;installazione e l&#8217;utilizzo sono piuttosto facili anche per chi non è esperto di php, anche se il mio consiglio è quello di studiare almeno le basi della programmazione che potrà tornare poi molto utile per districarsi tra le mille funzioni.</p>
<p>Se c&#8217;è qualcosa che non manca a WordPress sono i Plugin. Una comunità vastissima di programmatori è sempre all&#8217;opera per inventarsene di nuovi e metterli a disposizione di tutti gli utilizzatori.</p>
<p>Vi propongo qui una carrellata di plugin che secondo me sono molto utili, per rendere il vostro CMS ancora più potente.</p>
<p>- <a href="http://wordpress.org/extend/plugins/duplicate-post/" target="_blank">Duplicate Post</a>: sembrerà strano ma di default WP non ha una funzione per la duplicazione di un post. Questo plugin la aggiunge. Fondamentale!</p>
<p>- <a href="http://www.deanlee.cn/wordpress/fckeditor-for-wordpress-plugin/" target="_blank">CKeditor</a>: una cosa che non fa impazzire di WordPress è l&#8217;editor di testo TinyMCE di default. Con questo plugin potrete avere facilmente il più potente CKeditor nella vostra pagina di amministrazione, e anche opzionalmente nei commenti.</p>
<p>- <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" target="_blank">SEO all in one</a>: per gli esperti SEO e anche per i neofiti, questo pacchetto dà un notevole aiuto perchè permette di personalizzare tra le altre cose, meta description e titolo di ogni singola pagina.</p>
<p>- <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" target="_blank">Google sitemap generator</a>: questo plugin genera automaticamente una sitemap e la invia ai principali motori di ricerca. Molto utile ai fini SEO.</p>
<p>- <a href="http://wordpress.org/extend/plugins/breadcrumb-navxt/" target="_blank">Breadcrumb Nav-XT</a>: un plugin che aggiunge la possibilità di avere un sistema di navigazione a &#8220;briciole di pane&#8221;. Questo tipo di navigazione sarà molto apprezzato dai visitatori del vostro sito, in quanto è un metodo semplice e intuitivo.</p>
<p>- <a href="http://wordpress.org/extend/plugins/eshop/" target="_blank">Eshop</a>: per trasformare il vostro WordPress in un ecommerce. Non è ancora un Magento, però offre tutte le funzioni di base di un ecommerce che si rispetti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimoperini.it/plugin-utili-per-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ridimensionare immagini in html con php</title>
		<link>http://www.massimoperini.it/ridimensionare-unimmagine-in-html-con-php/</link>
		<comments>http://www.massimoperini.it/ridimensionare-unimmagine-in-html-con-php/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 13:37:32 +0000</pubDate>
		<dc:creator>max2010</dc:creator>
				<category><![CDATA[Php e dintorni]]></category>

		<guid isPermaLink="false">http://localhost/massimoperiniIT/?p=7</guid>
		<description><![CDATA[Premesso che la cosa migliore è utilizzare immagini della giusta dimensione, e che anche in un sistema aperto dove è previsto l&#8217;upload di immagini, se vogliamo che le immagini siano di una certa dimensione, sarebbe opportuno farlo in fase di upload, propongo qui un semplice metodo per ridimensionare proporzionalmente le immagini con l&#8217;ausilio della funzione [...]]]></description>
			<content:encoded><![CDATA[<p>Premesso che la cosa migliore è utilizzare immagini della giusta dimensione, e che anche in un sistema aperto dove è previsto l&#8217;upload di immagini, se vogliamo che le immagini siano di una certa dimensione, sarebbe opportuno farlo in fase di upload, propongo qui un semplice metodo per ridimensionare proporzionalmente le immagini con l&#8217;ausilio della funzione php getimagesize().</p>
<p>Supponiamo di dover visualizzare una certa immagine di dimensione 300&#215;400 e volerla mostrare proporzionata a 150&#215;200, ora conoscendo le dimensioni originali la cosa è molto semplice:</p>
<pre>&lt;img src="immagine.jpg" alt="descrizione immagine" width="150" height="200" /&gt;</pre>
<p>in questo modo l&#8217;immagine immagine.jpg sarà mostrata più piccola, mantenendo le proporzioni di altezza e larghezza.</p>
<p>Però supponiamo di non conoscere le dimensioni e di volerla comunque mostrare mantenendo le proporzioni.</p>
<p>La funzione getimagesize() di php è molto utile.</p>
<p>Tale funzione restituisce infatti un array contenente tra l&#8217;altro la larghezza (width) e l&#8217;altezza (height) dell&#8217;immagine.</p>
<p>L&#8217;array sarà così costruito:</p>
<pre>Array
(
    [0] =&gt; 300
    [1] =&gt; 400
    [2] =&gt; 2
    [3] =&gt; width="300" height="400"
    [bits] =&gt; 8
    [channels] =&gt; 3
    [mime] =&gt; image/jpeg
)</pre>
<p>Dove i primi due campi (0 e 1) sono relativi rispettivamente a larghezza e altezza. Pertanto lo script sarà il seguente:</p>
<pre>&lt;?php</pre>
<pre>// riempio l'array $image_info con i dati dell'immagine immagine.jpg
$image_info = getimagesize('immagine.jpg');</pre>
<pre>// qui mettiamo la dimensione desiderata per la larghezza
// in questo caso riduco del 50%
$width=$image_info[0]*0.5;</pre>
<pre>// qui mettiamo la dimensione desiderata per l'altezza
// in questo caso riduco del 50%
$height=$image_info[1]*0.5;
?&gt;</pre>
<pre>&lt;img src="immagine.jpg" alt="descrizione immagine" width="&lt;?php echo $width; ?&gt;"
height="&lt;?php echo $height; ?&gt;" /&gt;</pre>
<p>A questo punto l&#8217;immagine dovrebbe essere correttamente visualizzata a dimensioni dimezzate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimoperini.it/ridimensionare-unimmagine-in-html-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campi numerici in mysql</title>
		<link>http://www.massimoperini.it/campi-numerici-in-mysql/</link>
		<comments>http://www.massimoperini.it/campi-numerici-in-mysql/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 13:28:54 +0000</pubDate>
		<dc:creator>max2010</dc:creator>
				<category><![CDATA[Php e dintorni]]></category>

		<guid isPermaLink="false">http://localhost/massimoperiniIT/?p=5</guid>
		<description><![CDATA[Per chi si fosse mai chiesto che cosa voglia dire quel numero tra parentesi dopo int, tinyint ecc su mysql, ebbene quel numero viene usato nel caso in cui il campo abbia opzione &#8220;zerofill&#8221;, e si riferisce alle cifre del numero. Se ad esempio impostate il campo di tipo int (10) zerofill, e inserite come [...]]]></description>
			<content:encoded><![CDATA[<p>Per chi si fosse mai chiesto che cosa voglia dire quel numero tra parentesi dopo int, tinyint ecc su mysql, ebbene quel numero viene usato nel caso in cui il campo abbia opzione &#8220;zerofill&#8221;, e si riferisce alle cifre del numero.<br />
Se ad esempio impostate il campo di tipo int (10) zerofill, e inserite come valore il numero 15, la tabella visualizzerà 0000000015 (cioè 10 cifre invece di 2), oppure se il campo è un int (3) il valore visualizzato sarà 015.<br />
Nulla cambia invece per la dimensione del campo in bytes, che per un intero int è di 4 bytes.<br />
Possiamo cioè memorizzare un numero intero fino a 2^32 (4.294.967.296). Importante è settare il campo &#8220;unsigned&#8221; se prevediamo che non ci servano i valori negativi.<br />
Infatti di default metà dei numeri a disposizione sono usati per rappresentare i valori negativi, pertanto di default su un campo int possiamo memorizzare da -2147483648 a 2147483647, mentre settando &#8220;unsigned&#8221; possiamo memorizzare da 0 a 4.294.967.295.<br />
Se questo numero non ci dovessa bastare, possiamo usare il tipo BIGINT, che memorizza un numero fino a 2^64.<br />
Ecco uno schema degli interi in mysql:</p>
<p>TINYINT &#8211; 1 byte (2^8 = 256)<br />
SMALLINT &#8211; 2 bytes (2^16 = 65536)<br />
MEDIUMINT &#8211; 3 bytes (2^24 = 16777216)<br />
INT &#8211; 4 bytes (2^32 = 4.294.967.296)<br />
BIGINT &#8211; 8 bytes (2^64 = 18.446.744.073.709.551.616)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.massimoperini.it/campi-numerici-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

