<?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>Mas que Wordpress - Tutoriales, recursos web, JQuery y PHP, Wordpress , twitter y muchos recursos más &#187; ajax</title>
	<atom:link href="http://www.masquewordpress.com/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masquewordpress.com</link>
	<description>Tutoriales y recursos web sobre JQuery , PHP, Wordpress , twitter. Aprende diseño web y programación</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:33:40 +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>Enviar formularios con AJAX y jQuery parte II</title>
		<link>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/</link>
		<comments>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 20:33:17 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[tutorial jquery]]></category>

		<guid isPermaLink="false">http://www.masquewordpress.com/?p=1169</guid>
		<description><![CDATA[Hace mucho tiempo escribí en el blog como enviar un formulario con AJAX y jQuery mediante el plugin jquery.form.js. A día de hoy y con mucha más experiencia en jQuery prefiero escribir mis propios códigos en lugar de utilizar tantos plugins. Por lo que hoy les voy a explicar como enviar un formulario con AJAX [...]]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo escribí en el blog <a href="http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/">como enviar un formulario con AJAX y jQuery</a> mediante el plugin jquery.form.js. A día de hoy y con mucha más experiencia en jQuery prefiero escribir mis propios códigos en lugar de utilizar tantos plugins.<br />
Por lo que hoy les voy a explicar como enviar un formulario con AJAX gracias a jQuery y sin usar ningún plugin.<br />
<span id="more-1169"></span></p>
<p>Para seguir el mismo ejemplo que en el otro post vamos a utilizar el mismo formulario:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;form id=&quot;myForm&quot; action=&quot;contacto.php&quot; method=&quot;post&quot; style=&quot;height:200px;&quot;&gt; 
    &lt;label&gt;Nombre:&lt;/label&gt; &lt;input type=&quot;text&quot; name=&quot;name&quot; /&gt; 
    &lt;label&gt;Mensaje:&lt;/label&gt; &lt;textarea name=&quot;mensaje&quot;&gt;&lt;/textarea&gt; 
    &lt;input type=&quot;submit&quot; value=&quot;Enviar&quot; /&gt; &lt;div id=&quot;ajax_loader&quot;&gt;&lt;img id=&quot;loader_gif&quot; src=&quot;loader.gif&quot; style=&quot; display:none;&quot;/&gt;&lt;/div&gt;
&lt;/form&gt;</pre></div></div>

<p>Pero ahora para enviar el formulario tan solo haremos uso de algunas funciones de jQuery como son : </p>
<ul>
<li><a href="http://api.jquery.com/serialize/">.serialize()</a> : encargada de codificar todos los valores del formulario en una cadena para ser pasada.</li>
<li><a href="http://api.jquery.com/submit/">.submit()</a>: encargada de añadir al evento submit del formulario la función que usaremos para enviar el mismo.</li>
<li><a href="http://api.jquery.com/jQuery.ajax/">jQuery.ajax()</a>: encargada de realizar AJAX request.</li>
</ul>
<p>Nuestro nuevo script quedaría de la siguiente manera:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">        $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>ready<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
&nbsp;
          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#myForm'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>submit<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//en el evento submit del fomulario</span>
	          event<span style="color: #339933;">.</span>preventDefault<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//detenemos el comportamiento por default</span>
&nbsp;
			  <span style="color: #000000; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>this<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>attr<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'action'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//la url del action del formulario</span>
			  <span style="color: #000000; font-weight: bold;">var</span> datos <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>this<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// los datos del formulario</span>
			  $<span style="color: #339933;">.</span>ajax<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
				  type<span style="color: #339933;">:</span> <span style="color: #0000ff;">'POST'</span><span style="color: #339933;">,</span>
				  url<span style="color: #339933;">:</span> url<span style="color: #339933;">,</span>
				  data<span style="color: #339933;">:</span> datos<span style="color: #339933;">,</span>
				  beforeSend<span style="color: #339933;">:</span> mostrarLoader<span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">//funciones que definimos más abajo</span>
				  success<span style="color: #339933;">:</span> mostrarRespuesta  <span style="color: #666666; font-style: italic;">//funciones que definimos más abajo</span>
			   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
          <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
&nbsp;
&nbsp;
&nbsp;
&nbsp;
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
        <span style="color: #000000; font-weight: bold;">function</span> mostrarLoader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
              $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#loader_gif'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>fadeIn<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//muestro el loader de ajax</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">function</span> mostrarRespuesta <span style="color: #009900;">&#40;</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	          alert<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Mensaje enviado: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//responseText es lo que devuelve la página contacto.php. Si en contacto.php hacemos echo &quot;Hola&quot; , la variable responseText = &quot;Hola&quot; . Aca hago un alert con el valor de response text</span>
	          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#loader_gif&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>fadeOut<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Hago desaparecer el loader de ajax</span>
	          $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#ajax_loader&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>append<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;br&gt;Mensaje: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Aca utilizo la función append de JQuery para añadir el responseText  dentro del div &quot;ajax_loader&quot;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p><div class="avia-box info    "><span class="avia-innerbox" >Pueden ver un ejemplo online en <a href="http://masquewordpress.com/ejemplos/enviar-formulario-con-ajax-jquery/">&#8220;Como enviar un formulario AJAX con jQuery&#8221;</a></span></div><br />
<div class="avia-box download   rounded "><span class="avia-innerbox" >Pueden descargar el código antiguo en <a href="http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/">este post</a> </span></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como integrar Goo.gl en tu web en 5 minutos</title>
		<link>http://www.masquewordpress.com/como-integrar-goo-gl-en-tu-web-en-5-minutos/</link>
		<comments>http://www.masquewordpress.com/como-integrar-goo-gl-en-tu-web-en-5-minutos/#comments</comments>
		<pubDate>Sat, 02 Oct 2010 22:22:15 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=652</guid>
		<description><![CDATA[Desde que salió el nuevo acortador de urls de Google intenté encontrar la manera de integrarlo en una página web. A través de un post donde explicaban como sacaron el código fuente de un addon para Google Chrome logré encontrar una clase de PHP que te permite integrar Goo.gl en tu web fácilmente y que [...]]]></description>
			<content:encoded><![CDATA[<p>Desde que salió el nuevo <a href="http://goo.gl">acortador de urls</a> de Google intenté encontrar la manera de integrarlo en una página web. A través de un <a href="http://kix.in/2009/12/15/goo-gl/" rel="nofollow">post </a>donde explicaban como sacaron el código fuente de un addon para Google Chrome logré encontrar una clase de PHP que te permite <a href="http://masquewordpress.com/ejemplos/goo-gl-shorten/">integrar Goo.gl en tu web fácilmente</a> y que comparto con ustedes a continuación.<br />
<span id="more-652"></span></p>
<p>La clase de PHP es muy sencilla, básicamente hace un POST mediante CURL a la API de Goo.gl y devuelve el resultado. El groso de las funcionen es para sacar el Auth Token y utiliza el usuario toolbar@google.com de las extensiones de Chrome para conectarse.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/* 
API Google URL Shortner - goo.gl 
Marcus Nunes - marcusnunes.com - 09/18/2010
*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> goo_gl<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$resul</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//goo.gl construct method</span>
	<span style="color: #000000; font-weight: bold;">function</span> goo_gl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$url</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$curl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://goo.gl/api/url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #0000ff;">'user=toolbar@google.com&amp;url='</span><span style="color: #339933;">.</span><span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;auth_token='</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">googlToken</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #000088;">$saida</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$saida</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$json</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$saida</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resul</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$json</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">short_url</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//show url shorted by goo.gl</span>
	<span style="color: #000000; font-weight: bold;">function</span> result<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resul</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//token code</span>
	<span style="color: #000000; font-weight: bold;">function</span> googlToken<span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tke</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">1073741823</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">67108800</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">63</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">4193280</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">1023</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">245760</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">16383</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$j</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;7&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkf</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$h</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">6</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">12</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">8</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">20</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">16</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">14</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">28</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">24</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$j</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkd</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$k</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$j</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> tkc<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">func_get_args</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$val</span> <span style="color: #339933;">&amp;=</span> <span style="color: #cc66cc;">4294967295</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$val</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$val</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">2147483647</span> ? <span style="color: #339933;">-</span><span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2147483647</span> ? <span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$l</span>   <span style="color: #339933;">+=</span> <span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$l</span>   <span style="color: #339933;">+=</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">2147483647</span> ? <span style="color: #339933;">-</span><span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2147483647</span> ? <span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$l</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> tkd<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #000088;">$l</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4294967296</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$l</span>&quot;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//deve ser uma string</span>
		<span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$n</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #000088;">$p</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #339933;">--</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$q</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$m</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$n</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$q</span> <span style="color: #339933;">*=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$q</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$q</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$q</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000088;">$n</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #000088;">$n</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000088;">$o</span> <span style="color: #339933;">/=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$o</span><span style="color: #006699; font-weight: bold;">$l</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> tke<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5381</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span><span style="color: #339933;">,</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> tkf<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkc</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Para nosotros integrarlo en nuestra web podemos hacer lo siguiente:</p>
<p>Primero en index.php creamos lo siguiente:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=utf-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Goo.gl integrado en tu web<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;../jquery.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
$(document).ready(function(){
 $('#url').focus();
});
&nbsp;
function googl_it(){
	$('#loading').fadeIn();
 var url = $('#url').val();
 $.post(&quot;goo.gl_api.php&quot;, {url:url},
 function(data){
	 $('#loading').fadeOut();
 $('#resultado').slideDown('fast');
 $('#resultado').html(data);
 });
}
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width:730px;margin:0 auto;&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">onsubmit</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;googl_it(); return false;&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">size</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;40&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;font-size: 30px;&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;url&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;url&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">onclick</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;googl_it();&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;font-size: 30px;&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;goo.gl it&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width: 566px;text-align:center;display:none;&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loading&quot;</span> &gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loader.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loading&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear: both; width: 566px; background-color: #FFC;border:1px solid #CCC; padding: 10px; font-size: 30px; margin-top: 20px;text-align:center;display:none;&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;resultado&quot;</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></td></tr></table></div>

<p>Explicando los pasos</p>
<ul>
<li>Básicamente hemos <strong>creado un formulario</strong> para introducir la url que deseamos acortar.</li>
<li>Creamos un boton que al ejecutarse llama a la función <strong>google_it()</strong> de javascript</li>
<li> La función google_it realiza las siguientes tareas:</li>
<ul>
<li><a href="http://masquewordpress.com/recursos/gif-animados-para-ajax/">Carga el loader.gif</a></li>
<li>Envía mediante <a href="http://masquewordpress.com/jquery/como-enviar-un-formulario-via-ajax-con-jquery/">JQuery AJAX</a>, a traver del método POST la url a acortar a la página <strong>goo.gl_api.php</strong></li>
<li>Oculta loader.gif y <strong>carga el resultado</strong> con un <a href="http://masquewordpress.com/jquery/jquery-playground-con-test-it-yourself/">efecto JQuery</a></li>
</ul>
</ul>
<p>Con esto ya tendríamos la base armada, ahora hay que <strong>crear goo.gl_api.php</strong> y pegar nuestra clase PHP de la siguiente manera:</p>
<p><strong>goo.gl_api.php</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
&nbsp;
<span style="color: #000088;">$url</span><span style="color: #339933;">=</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$googl</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> goo_gl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;a href=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$googl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; title=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$googl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-size:12px&quot;&gt;(&lt;a href=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$googl</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">result</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.info&quot;&gt;info&lt;/a&gt;)&lt;/span&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> goo_gl<span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <span style="color: #000088;">$resul</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//goo.gl construct method</span>
    <span style="color: #000000; font-weight: bold;">function</span> goo_gl<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$url</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$curl</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_URL<span style="color: #339933;">,</span> <span style="color: #0000ff;">'http://goo.gl/api/url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_POST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #339933;">,</span> CURLOPT_POSTFIELDS<span style="color: #339933;">,</span> <span style="color: #0000ff;">'user=toolbar@google.com&amp;url='</span><span style="color: #339933;">.</span><span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">url</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;auth_token='</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">googlToken</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #000088;">$saida</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$curl</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$saida</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$json</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$saida</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resul</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$json</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">short_url</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//show url shorted by goo.gl</span>
    <span style="color: #000000; font-weight: bold;">function</span> result<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">resul</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//token code</span>
    <span style="color: #000000; font-weight: bold;">function</span> googlToken<span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tke</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">1073741823</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">67108800</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">63</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">4193280</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">1023</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">245760</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">16383</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$j</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;7&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$h</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkf</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$k</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">4</span> <span style="color: #339933;">|</span> <span style="color: #000088;">$h</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">6</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">12</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">8</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">20</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">16</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$k</span> <span style="color: #339933;">|=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">14</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">28</span> <span style="color: #339933;">|</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$h</span> <span style="color: #339933;">&gt;&gt;</span> <span style="color: #cc66cc;">24</span> <span style="color: #339933;">&amp;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$j</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkd</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$k</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$j</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> tkc<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">func_get_args</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$val</span> <span style="color: #339933;">&amp;=</span> <span style="color: #cc66cc;">4294967295</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$val</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$val</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">2147483647</span> ? <span style="color: #339933;">-</span><span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2147483647</span> ? <span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$l</span>   <span style="color: #339933;">+=</span> <span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$l</span>   <span style="color: #339933;">+=</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">2147483647</span> ? <span style="color: #339933;">-</span><span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2147483647</span> ? <span style="color: #cc66cc;">4294967296</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$l</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> tkd<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$l</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #000088;">$l</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$l</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">4294967296</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$l</span>&quot;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">//deve ser uma string</span>
        <span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$n</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$p</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #000088;">$p</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #339933;">--</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$q</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$m</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$p</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$n</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$q</span> <span style="color: #339933;">*=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
                <span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$q</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$q</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$q</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000088;">$n</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #000088;">$n</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    <span style="color: #000088;">$o</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000088;">$o</span> <span style="color: #339933;">/=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$o</span><span style="color: #006699; font-weight: bold;">$l</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> tke<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5381</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span><span style="color: #339933;">,</span> <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> tkf<span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$o</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$m</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tkc</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$l</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$o</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">6</span><span style="color: #339933;">,</span> <span style="color: #000088;">$m</span> <span style="color: #339933;">&lt;&lt;</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #000088;">$m</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$m</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Y con eso ya podrán integrar goo.gl en sus webs y mostrar los resultados con un toque de AJAX fácil y rápidamente.</p>
<p>Pueden ver el ejemplo funcionando <a href="http://masquewordpress.com/ejemplos/goo-gl-shorten/">aquí</a>.<br />
O descargar el código desde <a href="http://masquewordpress.com/ejemplos/goo-gl-shorten.zip">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/como-integrar-goo-gl-en-tu-web-en-5-minutos/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Como usar AJAX Auto Suggest V2.0</title>
		<link>http://www.masquewordpress.com/como-usar-ajax-auto-suggest-v2-0/</link>
		<comments>http://www.masquewordpress.com/como-usar-ajax-auto-suggest-v2-0/#comments</comments>
		<pubDate>Sun, 16 May 2010 16:32:39 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[autosuggest]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=397</guid>
		<description><![CDATA[Yo personalmente las pocas veces que he implementado un Auto Suggest o caja de sugerencias en mis proyectos he utilizado AJAX Auto Suggest V2.0. No es que haya probado muchos , pero en su día este fue el que más me convencio por su facilidad de uso y de personalización. Para utilizarlo primero debemos incluir [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-398" title="autosuggest2" src="http://masquewordpress.com/wp-content/uploads/2010/05/autosuggest2.jpg" alt="AJAX Autosuggest v2" width="475" height="200" /></p>
<p>Yo personalmente las pocas veces que he implementado un Auto Suggest o caja de sugerencias en mis proyectos he utilizado <a href="http://www.brandspankingnew.net/archive/2007/02/ajax_auto_suggest_v2.html">AJAX Auto Suggest V2.0</a>. No es que haya probado muchos , pero en su día este fue el que más me convencio por su facilidad de uso y de personalización.<br />
<strong><br />
Para utilizarlo primero debemos incluir sus archivos:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;autosuggest_inquisitor.css&quot;</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;bsn.AutoSuggest_2.1.3.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></td></tr></table></div>

<p><strong>Crear un campo de texto y asignarle un Id:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;">&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width: 200px; color: rgb(204, 204, 204);&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;materiales_input&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;materiales&quot;</span> autocomplete<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;off&quot;</span>&gt;</span></pre></td></tr></table></div>

<p><strong>Luego definimos algunas opciones y creamos el objeto autosuggest:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> autosuggest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	script<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;get_materiales.php?limit=6&amp;&quot;</span><span style="color: #339933;">,</span><span style="color: #006600; font-style: italic;">//página la cual recibirá la llamada AJAX</span>
	varname<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;materiales&quot;</span><span style="color: #339933;">,</span><span style="color: #006600; font-style: italic;">// nombre de la variable que contendra el valor escrito</span>
	json<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span><span style="color: #006600; font-style: italic;">//Podemos elegir JSON o XML</span>
	maxresults<span style="color: #339933;">:</span><span style="color: #CC0000;">10</span><span style="color: #339933;">,</span><span style="color: #006600; font-style: italic;">//Un máximo de resulados para mostrar</span>
       timeout<span style="color: #339933;">:</span><span style="color: #CC0000;">9999</span><span style="color: #339933;">,</span><span style="color: #006600; font-style: italic;">//numero en milisegundos antes de que se cierre la lista de valores sugeridos</span>
	noresults<span style="color: #339933;">:</span><span style="color: #3366CC;">'Ingresar nuevo material a la base de datos'</span> <span style="color: #006600; font-style: italic;">//valor que muestra en caso de no encontrar resultados</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066; font-weight: bold;">as</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> bsn.<span style="color: #660066;">AutoSuggest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'materiales_input'</span><span style="color: #339933;">,</span>  options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//creamos el objeto AutoSuggest</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Para más opciones consultar <a href="http://www.brandspankingnew.net/specials/ajax_autosuggest/ajax_autosuggest_autocomplete.html" target="_blank">la página del autor</a>.</p>
<p><strong>Llamamos a la función cuando cargue la página:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span> <span style="color: #000066;">onload</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;autosuggest();&quot;</span>&gt;</span></pre></td></tr></table></div>

<p>Por último creamos un archivo PHP que devuelva los resultados de búsqueda(en este caso XML) para que se muestren en las sugerencias.<br />
<strong><br />
get_materiales.php:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span> 
<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Expires: Mon, 26 Jul 1997 05:00:00 GMT&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Fecha del pasado </span>
	<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Last-Modified: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">gmdate</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;D, d M Y H:i:s&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; GMT&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// siempre modificado</span>
	<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cache-Control: no-cache, must-revalidate&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// HTTP/1.1</span>
	<span style="color: #990000;">header</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Pragma: no-cache&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// HTTP/1.0</span>
&nbsp;
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'config/db.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$conn</span><span style="color: #339933;">=</span>get_db_conn<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$input</span><span style="color: #339933;">=</span><span style="color: #990000;">utf8_decode</span><span style="color: #009900;">&#40;</span>cleanQuery<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'materiales'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$query</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'SELECT * FROM categoria_materiales WHERE nombreMaterial LIKE \'%'</span><span style="color: #339933;">.</span><span style="color: #000088;">$input</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'%\''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$materiales</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #339933;">,</span><span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'json'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: application/json&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;{<span style="color: #000099; font-weight: bold;">\&quot;</span>results<span style="color: #000099; font-weight: bold;">\&quot;</span>: [&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_fetch_assoc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$materiales</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #000088;">$arr</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;{<span style="color: #000099; font-weight: bold;">\&quot;</span>id<span style="color: #000099; font-weight: bold;">\&quot;</span>: <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'idCatMaterial'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>value<span style="color: #000099; font-weight: bold;">\&quot;</span>: <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nombreMaterial'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>info<span style="color: #000099; font-weight: bold;">\&quot;</span>: <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span>}&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;, &quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$arr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;]}&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span>
	<span style="color: #009900;">&#123;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Content-Type: text/xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;?xml version=<span style="color: #000099; font-weight: bold;">\&quot;</span>1.0<span style="color: #000099; font-weight: bold;">\&quot;</span> encoding=<span style="color: #000099; font-weight: bold;">\&quot;</span>ISO-8859-1<span style="color: #000099; font-weight: bold;">\&quot;</span> ?&gt;&lt;results&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_fetch_assoc</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$materiales</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;rs id=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'idCatMaterial'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> info=<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nombreMaterial'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;/rs&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/results&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>	
&nbsp;
	<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p><strong>Explicando get_materiales.php:</strong></p>
<ul>
<li>Para empezar nos encontramos con las cabezeras que sirven para el nuestro navegador no guarde en cache los resultados.</li>
<li><strong>db.php</strong>, <strong>get_db_conn()</strong> y <strong>cleanQuery</strong> son explicados en mi blog en <a href="http://masquewordpress.com/php/dbphp-como-definir-los-parametros-de-conexion-de-tu-base-de-datos/">DB.php : Como definir los parametros de conexión de tu base de datos</a>.</li>
<li><strong>utf8_decode</strong> lo utilizo porque en mi caso yo envio el formulario por AJAX y por lo tanto el campo de texto que se manda a get_materiales lo tengo codificado en UTF-8 como explico en <a href="http://masquewordpress.com/jquery/acentos-y-caracteres-especiales-con-ajax-y-jquery/">Acentos y caracteres especiales con Ajax y JQuery</a>.</li>
<li>Para terminar tan solo queda devolver el resultado en el formato correcto.</li>
</ul>
<p><strong><br />
Formato XML:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;results&gt;</span>
	<span style="color: #009900;">&lt;rs <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span> info<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Cheshire&quot;</span>&gt;</span>Foobar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>rs&gt;</span>
	<span style="color: #009900;">&lt;rs <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span> info<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span>Foobarfly<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>rs&gt;</span>
	<span style="color: #009900;">&lt;rs <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;3&quot;</span> info<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span>Foobarnacle<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>rs&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>results&gt;</span></pre></td></tr></table></div>

<p><strong><br />
Formato JSON:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span> results<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
	<span style="color: #009900;">&#123;</span> id<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;1&quot;</span><span style="color: #339933;">,</span> value<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Foobar&quot;</span><span style="color: #339933;">,</span> info<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Cheshire&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#123;</span> id<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;2&quot;</span><span style="color: #339933;">,</span> value<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Foobarfly&quot;</span><span style="color: #339933;">,</span> info<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#123;</span> id<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;3&quot;</span><span style="color: #339933;">,</span> value<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Foobarnacle&quot;</span><span style="color: #339933;">,</span> info<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Essex&quot;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Como anotacíon en mi caso al enviar el formulario compruebo si el material ingresado existe en la base de datos y sino existe lo agrego. Por ese motivo en <strong>noresults</strong> muestro el mensaje de &#8220;Añadir a la base de datos&#8221;.Para ello hago lo siguiente:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'db.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$conn</span><span style="color: #339933;">=</span>get_db_conn<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'materiales'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">!=</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$material</span><span style="color: #339933;">=</span>cleanQuery<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'materiales'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$existe</span><span style="color: #339933;">=</span><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT * FROM materiales WHERE nombreMaterial ='<span style="color: #006699; font-weight: bold;">$material</span>'&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">mysql_num_rows</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$existe</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO materiales (nombreMaterial) VALUES ('<span style="color: #006699; font-weight: bold;">$material</span>')&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$conn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	  
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Con todo esto tendriamos el autosuggest o caja de sugerencias funcionando a la perfección.</p>
<p>Pueden ver un <a href="http://masquewordpress.com/ejemplos/como-usar-ajax-auto-suggest-v2/">EJEMPLO FUNCIONANDO</a><br />
O tambien <a href="http://masquewordpress.com/ejemplos/como-usar-ajax-auto-suggest-v2.zip">DESCARGARSE EL CÓDIGO</a></p>
<p>Un saludo a todos, espero sus comentarios!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/como-usar-ajax-auto-suggest-v2-0/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Acentos y caracteres especiales con Ajax y JQuery II parte</title>
		<link>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery-ii-parte/</link>
		<comments>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery-ii-parte/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 13:54:14 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=372</guid>
		<description><![CDATA[Hace un tiempo escribí un post acerca de los acentos y caracteres especiales con AJAX y JQuery que explicaba como salvar este problema en los formularios enviados por AJAX. El problema es que esta solución no abarca cuando con JQuery hacemos un .load() de información con AJAX y para variar nos salen cuadraditos o rombos [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo escribí un post acerca de los <a href="http://masquewordpress.com/jquery/acentos-y-caracteres-especiales-con-ajax-y-jquery/">acentos y caracteres especiales con AJAX y JQuery</a> que explicaba como salvar este problema en los formularios enviados por AJAX.</p>
<p>El problema es que esta solución no abarca cuando con JQuery hacemos un .load()  de información con AJAX y para variar nos salen cuadraditos o rombos negros con un signo de interrogación adentro. con caracteres como á, é, í, ó, ú ,Á, É, Í, Ó, Ú, ñ, Ñ ,º ,ö, Ö, ü, Ü, etc</p>
<p>Para salvar esto tan solo tenemos que configurar JQuery.ajax() de la siguiente forma:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">&nbsp;
$.<span style="color: #660066;">ajaxSetup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
<span style="color: #3366CC;">'beforeSend'</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>xhr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
xhr.<span style="color: #660066;">overrideMimeType</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'text/html; charset=iso-8859-1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Con esa opción forzamos que el encabezado de respuesta sea iso-8859-1 y no UTF-8.</p>
<h2><strong><span style="color: #ff0000;">UPDATE:</span> </strong></h2>
<p>Este método solo funciona con FF ya que IE no soporta xhr.overrideMimeType como bien comento Ignacio en los comentarios. Una forma de solucionar esto es hacer lo siguiente:<br />
Modificar el codigo inicial</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">ajaxSetup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
<span style="color: #3366CC;">'beforeSend'</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>xhr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
xhr.<span style="color: #660066;">overrideMimeType</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'text/html; charset=iso-8859-1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Y luego hay que agregar en nuestro archivo PHP</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Content-type: text/html; charset=iso-8859-1'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Mandando el encabezado con PHP lograremos que funcione en IE. Un saludo , hagan pruebas y comenten que yo no tuve mucho tiempo.</p>
<p>UPDATE II:<br />
Ignacio comenta que para ASP habria que usar el metodo :<br />
Response.ContentType=”text/html; charset=iso-8859-1?</p>
<p>Un saludo espero que les haya servido de ayuda.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery-ii-parte/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Como enviar un formulario via AJAX con JQuery</title>
		<link>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/</link>
		<comments>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 21:30:48 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[jquery.plugin]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=161</guid>
		<description><![CDATA[Hoy en dia y gracias a JQuery cualquiera puede implementar AJAX en sus webs para hacerlas más dinámicas. Hoy debido a todo el tema de la fiebre porcina cierran los boliches así que ya que me quedo en casa aprovecho y les cuento como poder usar el plugin jquery.forms para enviar un formulario mediante AJAX [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en dia y gracias a <a title="Introducción a JQuery" href="http://masquewordpress.com/jquery/introduccion-a-jquery/" target="_blank">JQuery</a> cualquiera puede implementar <a title="AJAX wikipedia" href="http://es.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a> en sus webs para hacerlas más dinámicas. Hoy debido a todo el tema de la fiebre porcina cierran los boliches así que ya que me quedo en casa aprovecho y les cuento como poder usar el plugin<a title="Jquery forms plugin" href="http://malsup.com/jquery/form/#download" target="_blank"> jquery.forms</a> para enviar un formulario mediante AJAX de una forma super sencilla.</p>
<p>Para empezar necesitamos un formulario. Vamos a usar de ejemplo un formulario de contácto sencillo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;myForm&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;contacto.php&quot;</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;height:200px;&quot;</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span>&gt;</span>Nombre:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;name&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span>&gt;</span>Mensaje:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">textarea</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mensaje&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">textarea</span>&gt;</span> 
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Enviar&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;ajax_loader&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loader_gif&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;loader.gif&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot; display:none;&quot;</span><span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre></td></tr></table></div>

<p>Una vez tengamos el codigo <strong>HTML</strong> del formulario tan solo debemos añadir el plugin y ejecutarlo una vez el <strong>DOM</strong> este cargado añadiendo las opciones que creamos convenientes.<br />
Hay diferentes gif animados para ajax, si quieren alguno diferente echen un vistazo al último <a href="http://masquewordpress.com/recursos/gif-animados-para-ajax/" target="_blank">artículo</a> que escribí.<br />
Para consultar las diferente opciones de<strong> jquery.form</strong> visiten su <a href="http://malsup.com/jquery/form/"  target="_blank">web</a>.</p>
<p><strong>index.php:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">&lt;script src=&quot;js/jquery-latest.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
 &lt;script src=&quot;js/jquery.form.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt; 
&nbsp;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// esperamos que el DOM cargue</span>
        $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
            <span style="color: #006600; font-style: italic;">// definimos las opciones del plugin AJAX FORM</span>
            <span style="color: #003366; font-weight: bold;">var</span> opciones<span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                               beforeSubmit<span style="color: #339933;">:</span> mostrarLoader<span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">//funcion que se ejecuta antes de enviar el form</span>
                               success<span style="color: #339933;">:</span> mostrarRespuesta <span style="color: #006600; font-style: italic;">//funcion que se ejecuta una vez enviado el formulario</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
             <span style="color: #006600; font-style: italic;">//asignamos el plugin ajaxForm al formulario myForm y le pasamos las opciones</span>
            $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#myForm'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ajaxForm</span><span style="color: #009900;">&#40;</span>opciones<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span> 
&nbsp;
             <span style="color: #006600; font-style: italic;">//lugar donde defino las funciones que utilizo dentro de &quot;opciones&quot;</span>
             <span style="color: #003366; font-weight: bold;">function</span> mostrarLoader<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                          $<span style="color: #009900;">&#40;</span>#loader_gif<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//muestro el loader de ajax</span>
             <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
             <span style="color: #003366; font-weight: bold;">function</span> mostrarRespuesta <span style="color: #009900;">&#40;</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                           <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Mensaje enviado: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #006600; font-style: italic;">//responseText es lo que devuelve la página contacto.php. Si en contacto.php hacemos echo &quot;Hola&quot; , la variable responseText = &quot;Hola&quot; . Aca hago un alert con el valor de response text</span>
                          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#loader_gif&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;slow&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Hago desaparecer el loader de ajax</span>
                          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#ajax_loader&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;br&gt;Mensaje: &quot;</span><span style="color: #339933;">+</span>responseText<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Aca utilizo la función append de JQuery para añadir el responseText  dentro del div &quot;ajax_loader&quot;</span>
             <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Este ejemplo es muy simple. El action del formulario apunta a contacto.php y es ahi donde hay que poner las funciones que queramos, como por ejemplo que nos envie un mail con el mensaje y nombre que aparece en el formulario. Si no estuvieramos usando <strong>JQuery</strong> y el plugin de <strong>jquery.form</strong>, al hacer click en &#8220;Enviar&#8221; nuestro navegador cargaria la página contacto.php como suele pasar normalmente. En este caso gracias al AJAX el contenido del formulario se enviara mediante la variable $_POST a la página <strong>contacto.php</strong> de una forma invisible al usuario y una vez que se envie correctamente se va a ejecutar este simple código:</p>
<p><strong>contacto.php:</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mensaje'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mensaje'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Lo que hacemos aca es un echo del mensaje enviado que aunque para el usuario pasa inadvertido , podremos mostrarlo con &#8220;responseText&#8221;. </p>
<p><a href="http://masquewordpress.com/ejemplos/enviar-formulario-mediante-ajax/" target="_blank">Ver ejemplo</a><br />
<a href="http://masquewordpress.com/ejemplos/enviar-formulario-mediante-ajax.zip" target="_blank">Descargar código</a></p>
<p>Si quieren ver un ejemplo de un formulario de contacto con AJAX, pueden probar <a href="http://www.timersys.com/#contacto" target="_blank">este</a>.</p>
<p>Espero que haya servido de ayuda. Un saludo a todos!!!</p>
<div class="avia-box info    "><span class="avia-innerbox" >Pueden ver un ejemplo sin plugin en <a href="http://www.masquewordpress.com/enviar-formularios-con-ajax-y-jquery/">&#8220;Como enviar un formulario AJAX con jQuery parte II&#8221;</a></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/como-enviar-un-formulario-via-ajax-con-jquery/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Gif animados para AJAX</title>
		<link>http://www.masquewordpress.com/gif-animados-para-ajax/</link>
		<comments>http://www.masquewordpress.com/gif-animados-para-ajax/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 06:22:42 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=163</guid>
		<description><![CDATA[Todos conocemos los famosos gif animados que aparecen cuando una página carga con AJAX. Ademas de este existen varias formas más y diferentes tamaños, como barras , estrellas, y un sin fin de colores. Pero para que vamos a coleccionar tantos archivos si podemos crearlos de una forma sencilla en 2 simples pasos. Para eso [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Todos conocemos los famosos gif animados que aparecen cuando una página carga con AJAX.<br />
<img class="size-full wp-image-164 aligncenter" title="loader" src="http://masquewordpress.com/wp-content/uploads/2009/07/loader.gif" alt="loader" width="32" height="32" /></p>
<p style="text-align: left;">Ademas de este existen varias formas más y diferentes tamaños, como barras , estrellas, y un sin fin de colores. Pero para que vamos a coleccionar tantos archivos si podemos crearlos de una forma sencilla en 2 simples pasos.</p>
<p style="text-align: left;">Para eso solo tenemos que ir a <a title="loader gif generator" href="http://www.ajaxload.info/" target="_blank">http://www.ajaxload.info/</a> y seleccionar el modelo y color de loader que queremos y despues hacer click en descargar. Y si, es tan sencillo como suena. <img src='http://www.masquewordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/gif-animados-para-ajax/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Acentos y caracteres especiales con Ajax y JQuery</title>
		<link>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery/</link>
		<comments>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery/#comments</comments>
		<pubDate>Tue, 26 May 2009 19:47:28 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=85</guid>
		<description><![CDATA[Unos de mis primeros problemas al usar jquery.forms o $.Ajax era que los acentos ,la ñ , etc no eran ingresados correctamente en la base de datos y por lo tanto no se mostraban correctamente en mis programas y por lo general aparecian como cuadraditos o rombos negros con un signo de interrogación adentro. Algunos [...]]]></description>
			<content:encoded><![CDATA[<p>Unos de mis primeros problemas al usar jquery.forms o $.Ajax era que los acentos ,la ñ , etc no eran ingresados correctamente en la base de datos y por lo tanto no se mostraban correctamente en mis programas y por lo general aparecian como cuadraditos o rombos negros con un signo de interrogación adentro.<br />
Algunos de los caracteres afectados:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">á<span style="color: #339933;">,</span> é<span style="color: #339933;">,</span> í<span style="color: #339933;">,</span> ó<span style="color: #339933;">,</span> ú <span style="color: #339933;">,</span>Á<span style="color: #339933;">,</span> É<span style="color: #339933;">,</span> Í<span style="color: #339933;">,</span> Ó<span style="color: #339933;">,</span> Ú<span style="color: #339933;">,</span> ñ<span style="color: #339933;">,</span> Ñ <span style="color: #339933;">,</span>º <span style="color: #339933;">,</span>ö<span style="color: #339933;">,</span> Ö<span style="color: #339933;">,</span> ü<span style="color: #339933;">,</span> Ü</pre></div></div>

<p> Una forma simple para solucionar esto es hacer lo siguiente:</p>
<p>En el formulario agregar <span class="nodeLabelBox repTarget"><strong><span class="nodeAttr editGroup"><span class="nodeName editable">accept-charset</span>=&#8221;<span class="nodeValue editable">utf-8</span>&#8220;</span></strong></span></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;formulario&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;index.php&quot;</span> <span style="color: #000066;">accept-charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;utf-8&quot;</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;input&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nombre&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></pre></td></tr></table></div>

<p>Y a la hora de recibir el dato ya sea mediante $_POST o $_GET tenemos que hacer un <strong>utf8_decode()</strong> y ya estará listo el valor para ingresar en la base de datos.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$usuario</span><span style="color: #339933;">=</span><span style="color: #990000;">utf8_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nombre`]);</span></pre></td></tr></table></div>

<p>Con este método JQuery ya no me da problemas con los caracteres especiales. Saludos!!!</p>
<p><strong>UPDATE</strong>:<a href="http://masquewordpress.com/jquery/acentos-y-caracteres-especiales-con-ajax-y-jquery-ii-parte/"> SEGUNDA PARTE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/acentos-y-caracteres-especiales-con-ajax-y-jquery/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Introducción a AJAX, Javascript, CSS, XHTML</title>
		<link>http://www.masquewordpress.com/introduccion-a-ajax-javascript-css-xhtml/</link>
		<comments>http://www.masquewordpress.com/introduccion-a-ajax-javascript-css-xhtml/#comments</comments>
		<pubDate>Thu, 21 May 2009 15:01:12 +0000</pubDate>
		<dc:creator>Damian</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[libros gratis]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://masquewordpress.com/?p=49</guid>
		<description><![CDATA[Hoy les traigo una página que me ayudo mucho en mis comienzos. Estoy hablando de Librosweb, en ella podemos encontrar una serie de PDFs escritos en su mayoria por profesores con los contenidos que imparten en sus cursos. Los libros son totalmente gratuitos y se pueden leer en la web o descargarlos. La verdad que [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy les traigo una página que me ayudo mucho en mis comienzos. Estoy hablando de <a title="Libros gratuitos" href="http://librosweb.es" target="_blank">Librosweb</a>, en ella podemos encontrar una serie de PDFs escritos en su mayoria por profesores con los contenidos que imparten en sus cursos.</p>
<p style="text-align: center;"><img class="aligncenter" title="LibrosWeb" src="http://librosweb.es/website/css/images/logo_big.gif" alt="" width="258" height="50" /></p>
<p>Los libros son totalmente gratuitos y se pueden leer en la web o descargarlos. La verdad que estan muy bien como complemento y referencia, la mayoria incluye ejemplos y ejercicios para ir practicando a medida que se aprende.</p>
<p>Acá les dejo el listado completo:</p>
<h2><span>Programación web</span></h2>
<h3>Introducción a AJAX :</h3>
<ul>
<li>Comenzando desde cero y llegando hasta las técnicas más avanzadas.</li>
<li>Incluye Google Maps, Prototype, jQuery y decenas de ejemplos.</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/ajax/index.html" target="_blank">Empezar a leerlo</a></p>
<h3>Introducción a JavaScript :</h3>
<ul>
<li>Creado para diseñadores web sin experiencia en programación.</li>
<li>Aprende a manejar eventos, validar formularios y crear otras utilidades comunes.</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/javascript/index.html" target="_blank">Empezar a leerlo</a></p>
<h2><span>Diseño web</span></h2>
<h3>Introducción a CSS :</h3>
<ul>
<li>Guía completa para aplicar estilos a las páginas web.</li>
<li>Incluye las propiedades de CSS 2.1 y decenas de ejemplos.</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/css/index.html" target="_blank">Empezar a leerlo</a></p>
<h3>CSS avanzado :</h3>
<ul>
<li>Técnicas imprescindibles como sustitución de texto, <em>sprites</em>, sombras y transparencias</li>
<li>Buenas prácticas y recomendaciones de los mejores diseñadores</li>
<li>Frameworks CSS y diseño de páginas con YUI</li>
<li>Referencia imprescindible para diseñadores web avanzados</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/css_avanzado/" target="_blank">Empezar a leerlo</a></p>
<h3>Referencia de CSS 2.1 :</h3>
<ul>
<li>Las 115 propiedades de CSS 2.1 explicadas detalladamente</li>
<li>Incluye más de 300 ejemplos originales</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/referencia/css/index.html" target="_blank">Empezar a leerlo</a></p>
<h3>Introducción a XHTML :</h3>
<ul>
<li>Guía completa para crear páginas web, con más de 60 ejemplos.</li>
<li>Aprende cómo crear páginas web accesibles y que validen.</li>
</ul>
<p style="text-align: center;"><a href="http://librosweb.es/xhtml/index.html" target="_blank">Empezar a leerlo</a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.masquewordpress.com/introduccion-a-ajax-javascript-css-xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

