<?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>The Geeks &#187; PHP</title>
	<atom:link href="http://www.thegeeks.it/category/programmazione/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.thegeeks.it</link>
	<description>Find your answers</description>
	<lastBuildDate>Wed, 28 Jul 2010 14:18:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Inviare Email con una form in Php</title>
		<link>http://www.thegeeks.it/programmazione/inviare-email-con-una-form-in-php.html</link>
		<comments>http://www.thegeeks.it/programmazione/inviare-email-con-una-form-in-php.html#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:11:15 +0000</pubDate>
		<dc:creator>Luca Volino</dc:creator>
				<category><![CDATA[Html]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[form]]></category>

		<guid isPermaLink="false">http://www.thegeeks.it/?p=2250</guid>
		<description><![CDATA[Alcuni di voi forse gestiscono un sito, o altri lo stanno per realizzare. Di sicuro avrete notato che in alcune sezioni del sito è presente un modulo che permette di contattare la persona desiderata completando alcuni semplici campi. Questo modulo agevola l&#8217;utente nell&#8217;invio di email grazie alla velocità e all&#8217;immediatezza con la quale si riempono [...]]]></description>
			<content:encoded><![CDATA[<p>Alcuni di voi forse gestiscono un sito, o altri lo stanno per realizzare. Di sicuro avrete notato che in alcune sezioni del sito è presente un modulo che permette di contattare la persona desiderata completando alcuni semplici campi. Questo modulo agevola l&#8217;utente nell&#8217;invio di email grazie alla velocità e all&#8217;immediatezza con la quale si riempono i campi.</p>
<p>Il modulo in questione non è poi così semplice da realizzare. Servono infatti due pagine, una pagina html che conterrà la grafica del modulo ed una pagina in php che elaborerà la richiesta.</p>
<p>Io vi propongo i due file già scritti e pronti per essere utilizzati. Ovviamente è un esempio molto semplice ma che potrete poi personalizzare ed ampliare a vostro piacimento.</p>
<p style="text-align: center;"><a href="http://www.thegeeks.it/wp-content/uploads/2010/03/Immagine11.jpg" rel='lytebox[inviare-email-con-una-form-in-php]' rel="lightbox[2250]"><img class="aligncenter size-full wp-image-2254" src="http://www.thegeeks.it/wp-content/uploads/2010/03/Immagine11.jpg" alt="" width="318" height="170" /></a></p>
<p>Leggete il seguito.</p>
<p>Come detto prima, avremo bisogno di due file, uno in HTML e l&#8217;altro in PHP. Entrambi i file dovranno essere caricati sul proprio dominio (o se volete provarlo potete caricarli nella cartella del vostro webserver) e da lì avviare la pagina HTML.</p>
<p><span style="color: #ff0000;"><strong>N.B.: Attendete qualche secondo prima di visualizzare il codice. Passate con il mouse su di esso per visualizzare un menu rapido che vi permetterà di copiarlo o di visualizzare lo stesso senza righe.</strong></span></p>
<p>Ecco di seguito il codice della prima pagina che dovrà essere salvata appunto con estensione .html</p>
<p>[html]</p>
<p><html><br />
<head></p>
<p></head><br />
<body></p>
<form action="formtoemail.php" method="post">
<table border="0" style="background:#ececec" cellspacing="5">
<tr align="left">
<td>Nome</td>
<td>
<input type="text" size="30" name="name"></td>
</tr>
<tr align="left">
<td>Indirizzo Email</td>
<td>
<input type="text" size="30" name="email"></td>
</tr>
<tr align="left">
<td valign="top">Testo</td>
<td><textarea name="comments" rows="6" cols="30"></textarea></td>
</tr>
<tr align="left">
<td>&nbsp;</td>
<td>
<input type="submit" value="Invia">
    <font face="arial" size="1">&nbsp;&nbsp;<a href="http://www.thegeeks.it">Luca Volino</a>Special Thanks to <a href = "http://FormToEmail.com">FormToEmail.com</a></font><br />
</tr>
</table>
</form>
<p></body><br />
</html></p>
<p>[/html]</p>
<p>Ora passiamo alla parte dinamica in PHP. Creiamo un nuovo documento e incolliamo questo codice, che successivamente dirò come personalizzarlo.</p>
<p>[php]</p>
<p><?php</p>
<p>error_reporting(E_ALL ^ E_NOTICE);</p>
<p>/*</p>
<p>Thank you for choosing FormToEmail by FormToEmail.com</p>
<p>Version 2.5 April 16th 2009</p>
<p>COPYRIGHT FormToEmail.com 2003 - 2009</p>
<p>Traduzione in Italiano: Luca Volino</p>
<p>*/</p>
<p>// Inserite la vostra mail</p>
<p>$my_email = "emailprova@prova.it";</p>
<p>$from_email = "";</p>
<p>//Modificate il campo $continue per scegliere la pagina dove gli utenti verranno reinderizzati dopo aver inviato la mail</p>
<p>$continue = "http://www.thegeeks.it";</p>
<p>$errors = array();</p>
<p>// Rimuove gli elementi della variabile $_COOKIE da $_REQUEST.</p>
<p>if(count($_COOKIE)){foreach(array_keys($_COOKIE) as $value){unset($_REQUEST[$value]);}}</p>
<p>// Verifica dei campi inseriti.</p>
<p>if(isset($_REQUEST['email']) &#038;&#038; !empty($_REQUEST['email']))<br />
{</p>
<p>$_REQUEST['email'] = trim($_REQUEST['email']);</p>
<p>if(substr_count($_REQUEST['email'],"@") != 1 || stristr($_REQUEST['email']," ")){$errors[] = "Email non valida";}else{$exploded_email = explode("@",$_REQUEST['email']);if(empty($exploded_email[0]) || strlen($exploded_email[0]) > 64 || empty($exploded_email[1])){$errors[] = &#8220;Email address is invalid&#8221;;}else{if(substr_count($exploded_email[1],&#8221;.&#8221;) == 0){$errors[] = &#8220;Email address is invalid&#8221;;}else{$exploded_domain = explode(&#8220;.&#8221;,$exploded_email[1]);if(in_array(&#8220;&#8221;,$exploded_domain)){$errors[] = &#8220;Email address is invalid&#8221;;}else{foreach($exploded_domain as $value){if(strlen($value) > 63 || !preg_match(&#8216;/^[a-z0-9-]+$/i&#8217;,$value)){$errors[] = &#8220;Email address is invalid&#8221;; break;}}}}}}</p>
<p>}</p>
<p>// Controllo sul sito Web .</p>
<p>if(!(isset($_SERVER['HTTP_REFERER']) &#038;&#038; !empty($_SERVER['HTTP_REFERER']) &#038;&#038; stristr($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST']))){$errors[] = &#8220;aa&#8221;;}</p>
<p>// Verifica dei campi lasciati vuoti.</p>
<p>function recursive_array_check_blank($element_value)<br />
{</p>
<p>global $set;</p>
<p>if(!is_array($element_value)){if(!empty($element_value)){$set = 1;}}<br />
else<br />
{</p>
<p>foreach($element_value as $value){if($set){break;} recursive_array_check_blank($value);}</p>
<p>}</p>
<p>}</p>
<p>recursive_array_check_blank($_REQUEST);</p>
<p>if(!$set){$errors[] = &#8220;Tutti i campi sono vuoti, per favore inserisci le informazioni&#8221;;}</p>
<p>unset($set);</p>
<p>// Visualizzazione di eventuali errori.</p>
<p>if(count($errors)){foreach($errors as $value){print &#8220;$value<br />&#8220;;} exit;}</p>
<p>if(!defined(&#8220;PHP_EOL&#8221;)){define(&#8220;PHP_EOL&#8221;, strtoupper(substr(PHP_OS,0,3) == &#8220;WIN&#8221;) ? &#8220;\r\n&#8221; : &#8220;\n&#8221;);}</p>
<p>// Costruzione del Messaggio.</p>
<p>function build_message($request_input){if(!isset($message_output)){$message_output =&#8221;";}if(!is_array($request_input)){$message_output = $request_input;}else{foreach($request_input as $key => $value){if(!empty($value)){if(!is_numeric($key)){$message_output .= str_replace(&#8220;_&#8221;,&#8221; &#8220;,ucfirst($key)).&#8221;: &#8220;.build_message($value).PHP_EOL.PHP_EOL;}else{$message_output .= build_message($value).&#8221;, &#8220;;}}}}return rtrim($message_output,&#8221;, &#8220;);}</p>
<p>$message = build_message($_REQUEST);</p>
<p>$message = $message . PHP_EOL.PHP_EOL.&#8221;&#8211; &#8220;.PHP_EOL.&#8221;Thank you for using FormToEmail from http://FormToEmail.com&#8221;;</p>
<p>$message = stripslashes($message);</p>
<p>$subject = &#8220;FormToEmail Comments&#8221;;</p>
<p>$subject = stripslashes($subject);</p>
<p>if($from_email)<br />
{</p>
<p>$headers = &#8220;From: &#8221; . $from_email;<br />
$headers .= PHP_EOL;<br />
$headers .= &#8220;Reply-To: &#8221; . $_REQUEST['email'];</p>
<p>}<br />
else<br />
{</p>
<p>$from_name = &#8220;&#8221;;</p>
<p>if(isset($_REQUEST['name']) &#038;&#038; !empty($_REQUEST['name'])){$from_name = stripslashes($_REQUEST['name']);}</p>
<p>$headers = &#8220;From: {$from_name} <{$_REQUEST['email']}>&#8220;;</p>
<p>}</p>
<p>mail($my_email,$subject,$message,$headers);</p>
<p>?></p>
<p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p>
<p><html></p>
<p><head></p>
<p><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br />
</head></p>
<p><body bgcolor="#ffffff" text="#000000"></p>
<div>
<center><br />
<b>Grazie <?php if(isset($_REQUEST['name'])){print stripslashes($_REQUEST['name']);} ?></b><br />
<br />Il tuo messaggio è stato inviato</p>
<p><a href="<?php print $continue; ?>&#8220;>Clicca qui per continuare</a></p>
<p><b>FormToEmail</b> by <a href="http://FormToEmail.com">FormToEmail.com</a></p>
<p></center>
</div>
<p></body><br />
</html></p>
<p>[/php]</p>
<p>Ricordate che il codice non comprende i tag iniziali che potete facilmente scrivere da soli. Per coloro invece che non hanno una buona conoscenza del linguaggio ve li scrivo:</p>
<p>i valori da modificare li potete capire facilmente dai commenti e sono solo:</p>
<p>[php]</p>
<p>$my_email = &#8220;emailprova@prova.it&#8221;;</p>
<p>[/php]</p>
<p>che va sostituito con il vostro indirizzo email</p>
<p>[php]</p>
<p>$continue = &#8220;http://www.thegeeks.it&#8221;;</p>
<p>[/php]</p>
<p>che va sostituito con il vostro sito web. L&#8217;utente dopo aver inviato il messaggio sarà reindirizzato all&#8217;indirizzo che andrete ad inserire.</p>
<p>Ricordiamo velocemente due cose. Nella pagina in HTML abbiamo scritto questo codice</p>
<p>[html]</p>
<p>&lt;form action=&#8221;formtomail.php&#8221; method=&#8221;post&#8221;&gt;</p>
<p>[/html]</p>
<p>Risulta evidente che se la pagina Php la chiamate in modo differente, non funzionerà.</p>
<p>Ultima cosa da ricordare è che entrambi i file (pagina html e pagina php) devono risiedere nella stessa directory, altrimenti dovrete specificare manualmente il percorso.</p>
<p>Potete scaricare il pacchetto con entrambi i file a fondo pagina.</p>
<p>Se ci sono errori o suggerimenti non esitate a contattarmi tramite la pagina <a href="http://www.thegeeks.it/contattami/" target="_blank">Contattami</a></p>
<p>Uno speciale ringraziamento a <a href="http://formtoemail.com/" target="_blank">Formtomail.com</a></p>
<p style="text-align: auto;">
<p style="text-align: center;"><a href="http://www.thegeeks.it/customuploads/Form_in_Php.rar" target="_blank">Scarica il pacchetto</a></p>
<p><map name='google_ad_map_2250_54e539a7a5036460'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/2250?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_2250_54e539a7a5036460' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=2250&amp;url= http%3A%2F%2Fwww.thegeeks.it%2Fprogrammazione%2Finviare-email-con-una-form-in-php.html' /></p>Numero di Visite: 636<ul class="related_post"><li><a href="http://www.thegeeks.it/mac/scaricare-un-intero-sito-in-locale-con-mac.html" title="Scaricare un intero sito in Locale con Mac">Scaricare un intero sito in Locale con Mac</a></li><li><a href="http://www.thegeeks.it/internet/salvare-una-pagina-web-in-pdf.html" title="Salvare una pagina Web in PDF">Salvare una pagina Web in PDF</a></li><li><a href="http://www.thegeeks.it/linux/geany-ide-gratuito-per-c-php-python.html" title="Geany: IDE Gratuito per C, PHP, Python">Geany: IDE Gratuito per C, PHP, Python</a></li><li><a href="http://www.thegeeks.it/programmazione/soluzione-seconda-prova-desame-itc-indirizzo-programmatori.html" title="Soluzione Seconda Prova Esame 2009 ITC Indirizzo Programmatori">Soluzione Seconda Prova Esame 2009 ITC Indirizzo Programmatori</a></li><li><a href="http://www.thegeeks.it/programmazione/testare-codice-html-online.html" title="Testare Codice Html Online">Testare Codice Html Online</a></li><li><a href="http://www.thegeeks.it/internet/barra-menu-stile-mac-osx-per-web.html" title="Barra Menu Stile Mac Osx per Web">Barra Menu Stile Mac Osx per Web</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thegeeks.it/programmazione/inviare-email-con-una-form-in-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geany: IDE Gratuito per C, PHP, Python</title>
		<link>http://www.thegeeks.it/linux/geany-ide-gratuito-per-c-php-python.html</link>
		<comments>http://www.thegeeks.it/linux/geany-ide-gratuito-per-c-php-python.html#comments</comments>
		<pubDate>Wed, 28 Oct 2009 19:05:49 +0000</pubDate>
		<dc:creator>Luca Volino</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Programmi]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xp]]></category>
		<category><![CDATA[geany]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[mandriva]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[suse]]></category>

		<guid isPermaLink="false">http://lucavolino.wordpress.com/?p=1130</guid>
		<description><![CDATA[Eccomi qui di nuovo, tra mille imprevisti sono riuscito a pubblicare qualcosa. Oggi parlo di programmazione e voglio proporvi un IDE per sviluppare in C, Php e Python (nonchè Html e XML) il suo nome è Geany. Geany non solo è gratuito ( o meglio è Open Source quindi possiamo modificare il programma stesso) ma [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Eccomi qui di nuovo, tra mille imprevisti sono riuscito a pubblicare qualcosa. Oggi parlo di programmazione e voglio proporvi un IDE per sviluppare in C, Php e Python (nonchè Html e XML) il suo nome è Geany. </strong></p>
<p><strong>Geany non solo è gratuito ( o meglio è Open Source quindi possiamo modificare il programma stesso) ma è anche molto veloce e disponibile sia per Windows che per Linux.</strong></p>
<p style="text-align:center;"><a href="http://lucavolino.files.wordpress.com/2009/10/immagine1.png" rel='lytebox[geany-ide-gratuito-per-c-php-python]' rel="lightbox[1130]"><img class="aligncenter size-full wp-image-1134" title="Immagine1" src="http://lucavolino.files.wordpress.com/2009/10/immagine1.png" alt="Immagine1" width="735" height="592" /></a><strong><br />
</strong></p>
<p><strong>Continuate a leggere</strong></p>
<p><strong>Tra le funzioni di Geany sicuramente la più apprezzata è il </strong><em><strong>source folding</strong></em><strong> del codice, opzione utilissima per nascondere commenti o cicli particolarmente lunghi. Inoltre dispone di un terminale che abbrevierà non di poco l&#8217;esecuzione del programma.</strong></p>
<p><strong>Geany lo potete scaricare da qui: </strong><a href="http://www.geany.org/Download/Releases"><strong>http://www.geany.org/Download/Releases</strong></a></p>
<p><strong>Ovviamente agli utenti Windows basterà scaricare il file eseguibile e installarlo come un comune programma. Mentre per gli utenti di linux basterà, se hanno una distribuzione basata su Debian come Ubuntu o Kubuntu dare il seguente comando da terminale:</strong></p>
<p><em><span style="color:#ff6600;"><strong>#sudo apt-get install Geany </strong></span></em></p>
<p><span style="color:#ff6600;"><span style="color:#000000;"><strong>Altrimenti se non avete una distro Linux basata su Debian o non trovate Geany nei repository vi basta andare qui: </strong><a href="http://www.geany.org/Download/ThirdPartyPackages"><strong>http://www.geany.org/Download/ThirdPartyPackages</strong></a></span></span></p>
<p><strong><br />
</strong></p>
<p style="text-align:left;"><span style="color:#0000ee;"><span style="text-decoration:underline;"><a href="http://lucavolino.files.wordpress.com/2009/10/immagine21.png" rel='lytebox[geany-ide-gratuito-per-c-php-python]' rel="lightbox[1130]"><img class="aligncenter size-full wp-image-1135" title="Immagine2" src="http://lucavolino.files.wordpress.com/2009/10/immagine21.png" alt="Immagine2" width="730" height="586" /></a><strong><br />
</strong><strong></strong></span></span></p>
<p style="text-align:left;"><span style="color:#0000ee;"><span style="color:#000000;"><strong>Enjoy.</strong></span></span></p>
<p><map name='google_ad_map_1130_54e539a7a5036460'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/1130?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_1130_54e539a7a5036460' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=1130&amp;url= http%3A%2F%2Fwww.thegeeks.it%2Flinux%2Fgeany-ide-gratuito-per-c-php-python.html' /></p>Numero di Visite: 987<ul class="related_post"><li><a href="http://www.thegeeks.it/internet/google-chrome-beta-disponibile-per-mac-e-linux.html" title="Google Chrome Beta disponibile per Mac e Linux">Google Chrome Beta disponibile per Mac e Linux</a></li><li><a href="http://www.thegeeks.it/internet/impostare-la-ripetizione-automatica-di-un-video-di-youtube-con-google-chrome.html" title="Impostare la ripetizione automatica di un video di Youtube con Google Chrome">Impostare la ripetizione automatica di un video di Youtube con Google Chrome</a></li><li><a href="http://www.thegeeks.it/linux/catfish.html" title="Catfish &#8211; Cerca quello che vuoi su Ubuntu">Catfish &#8211; Cerca quello che vuoi su Ubuntu</a></li><li><a href="http://www.thegeeks.it/windows/aggiungere-sistemi-operativi-al-boot-di-windows.html" title="Aggiungere Sistemi Operativi al Boot di Windows">Aggiungere Sistemi Operativi al Boot di Windows</a></li><li><a href="http://www.thegeeks.it/linux/download-manager-per-rapidshare-e-megaupload-su-linux.html" title="Download Manager per Rapidshare e Megaupload su Linux">Download Manager per Rapidshare e Megaupload su Linux</a></li><li><a href="http://www.thegeeks.it/linux/guida-allinstallazione-e-personalizzazione-di-songbird-alternativa-ad-itunes-per-linux.html" title="Guida all&#039;Installazione e Personalizzazione di Songbird, alternativa ad Itunes per Linux">Guida all&#039;Installazione e Personalizzazione di Songbird, alternativa ad Itunes per Linux</a></li><li><a href="http://www.thegeeks.it/internet/installare-flash-player-su-ubuntu-64-bit.html" title="Installare Adobe Flash Player su Ubuntu 64 Bit">Installare Adobe Flash Player su Ubuntu 64 Bit</a></li><li><a href="http://www.thegeeks.it/linux/barra-menu-stile-mac-osx-su-ubuntu.html" title="Barra Menu Stile Mac OSX su Ubuntu">Barra Menu Stile Mac OSX su Ubuntu</a></li><li><a href="http://www.thegeeks.it/linux/ubuntu-810-finalmente-disponibile.html" title="Ubuntu 8.10 Finalmente Disponibile">Ubuntu 8.10 Finalmente Disponibile</a></li><li><a href="http://www.thegeeks.it/linux/ubuntu-810-rilasciato.html" title="Ubuntu 8.10 Beta Rilasciato">Ubuntu 8.10 Beta Rilasciato</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.thegeeks.it/linux/geany-ide-gratuito-per-c-php-python.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
