<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9029335222948044166</id><updated>2011-12-21T18:35:50.906-08:00</updated><category term='apache'/><category term='firefox ad on'/><category term='digital marketing'/><category term='tools'/><category term='mysql'/><category term='tool'/><category term='oracle limiting resultset'/><category term='web'/><category term='perl'/><category term='firefox extension'/><category term='ADODB'/><category term='selenium'/><category term='compiling PHP'/><category term='phpcamppune08'/><category term='xul'/><category term='REST with PHP'/><category term='oracle'/><category term='ubuntoo'/><category term='PHP'/><category term='SEM'/><category term='procedure with in clause'/><category term='Database'/><category term='configuring PHP with different options'/><category term='PHP web services'/><category term='PHP intallation from source'/><category term='REST Architecture'/><category term='membase'/><category term='memached'/><category term='JavaScript'/><category term='testing tools'/><title type='text'>A Web Developer blog - PHP | JavaScript | MYSQL | Apache | Tool | SEO | Others</title><subtitle type='html'>A blog which contains my hands on experiences in the web.I 've posted all my learning and experience to share with all developers.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-2586180241813799557</id><published>2011-12-09T02:46:00.000-08:00</published><updated>2011-12-09T03:07:46.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='memached'/><category scheme='http://www.blogger.com/atom/ns#' term='membase'/><title type='text'>Membase</title><content type='html'>Membase is high performance key value pair system used for cacheing data. Membase generally provide superset of memcached.&lt;br /&gt;&lt;br /&gt;You can use Membase to and configure either "memcached" type or  "membase" type buckets.  A membase-type bucket provides additional  features such as key-value persistence and replication, whereas a  memcached-type bucket provides only memory-only caching.&lt;br /&gt;&lt;br /&gt;Memcached has it’s limitations. Moving to  large+1 machines is going to lose a lot of your data. There is no master  to organize the re-balancing of the data.We can avoid data loss using membase bucket type, while adding new server to the clusters.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Moxi&lt;br /&gt;&lt;/h2&gt;&lt;em&gt;Moxi&lt;/em&gt; is the component of Membase that  handles the re-routing of requests to other Membase servers when the  server receiving the original request is not the one responsible for the  data requested.&lt;br /&gt;&lt;br /&gt;You can install membase using the instructions &lt;a href="http://www.couchbase.org/wiki/display/membase/Membase+Installation+Steps"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;testing membase.&lt;br /&gt;&lt;br /&gt;you can test it using telnet utility.&lt;br /&gt;&lt;br /&gt;&lt;pre class="programlisting"&gt;&lt;blockquote&gt;shell&amp;gt; telnet localhost 11211 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'&lt;br /&gt;&lt;br /&gt;set test_key 0 0 1 a STORED&lt;/blockquote&gt;or you can run a PHP script to check if membase is installed properly or not.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;!--?&lt;br /&gt;$memcache = new Memcache; // instantiating memcache extension class&lt;br /&gt;$memcache---&gt;connect("localhost",11211); // try 127.0.0.1 instead of localhost&lt;br /&gt;                                      // if it is not working&lt;br /&gt;&lt;br /&gt;echo "Server's version: " . $memcache-&amp;gt;getVersion() . "&lt;br /&gt;\n";&lt;br /&gt;&lt;br /&gt;// we will create an array which will be stored in membase serialized&lt;br /&gt;$testArray  = array('horse', 'dog', 'pig');&lt;br /&gt;$tmp         = serialize($testArray);&lt;br /&gt;$memcache-&amp;gt;add("key", $tmp);&lt;br /&gt;echo "Data from the cache:&lt;br /&gt;\n";&lt;br /&gt;print_r(unserialize($memcache-&amp;gt;get("key")));&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-2586180241813799557?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/2586180241813799557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=2586180241813799557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2586180241813799557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2586180241813799557'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2011/12/membase.html' title='Membase'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-8932598950290880885</id><published>2011-09-22T06:33:00.000-07:00</published><updated>2011-09-22T06:33:16.641-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='memached'/><title type='text'>Working with memcached</title><content type='html'>&lt;b&gt;memcached&lt;/b&gt; is a general-purpose distributed memory caching system used to speed up dynamic database driven websites by caching data  in RAM to reduce the number of times an external data source to be read.&lt;br /&gt;&lt;br /&gt;Here is how memcached can be useful.The system uses a client server architecture. Server maintains associative array in key value pair. the clients populate this array and query it. Keys are up to 250 bytes long and values can be at most 1 MB size. by default server runs on 11211 port. A client should be installed in order to access memcached data. client can connect to multiple server by adding new server to it's pool.gettting data from memcached there are several methods to use memcached. yo can go to &lt;a href="http://www.memcached.org/"&gt;official site&lt;/a&gt; for more information on memcached.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Using memcached from a script. [I've used PHP in example.]&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Memcached class should exist if memcached client is installed properly. Create an object of memcached.&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj = new Memcached();&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if object created means memcached service is running. If not then you can start the service from command prompt.using command&amp;nbsp; svc -u path/to/memcached/ [eg:&amp;nbsp; /usr/local/memcache/bin/memcached ] &lt;/blockquote&gt;&lt;br /&gt;2. Add the server to the pool.&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $obj-&amp;gt;addServers($servers); [$servers = array( '172.18.1.69', 11211) where 1st param. is IP of the server and second is port.]&lt;/blockquote&gt;&lt;br /&gt;3 Now you can use different methods to add/fetch memcached data. [example get($key),set($key,$value)]. for more information visit php.net site and search for memcached based function.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Checking memcache log.&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;1. Go to memcashed directory&amp;nbsp; /service/memcached&lt;br /&gt;&lt;br /&gt;2.write the following command to get log&lt;br /&gt;&lt;blockquote&gt; tail -f log/main/current | tai64nlocal&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Using telnet to connect to memcache server.&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. telnet server_IP port [telnet 127.0.01 11214]&lt;/blockquote&gt;&lt;br /&gt;Once connected, you can check if memcache key is set, by typing&amp;nbsp; get memcache_key_name to get the memcached data for the key memcache_key_name and press enter. You can also set and delete key using set and delete.&lt;br /&gt;&lt;br /&gt;Well that's all folks. We'll see membase in the next session.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-8932598950290880885?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/8932598950290880885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=8932598950290880885' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8932598950290880885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8932598950290880885'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2011/09/working-with-memcached.html' title='Working with memcached'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>1</thr:total><georss:featurename>Mumbai-Goa Rd, Maharashtra, India</georss:featurename><georss:point>17.644022027872722 73.4765625</georss:point><georss:box>-11.637612972127279 33.046875 46.925657027872724 113.90625</georss:box></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-2802353675872238930</id><published>2011-06-21T04:26:00.001-07:00</published><updated>2011-12-09T03:09:51.396-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>insert query with ampersand in oracle.</title><content type='html'>Today I had to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;insert&lt;/span&gt; a query which contains '&amp;amp;' as a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;character&lt;/span&gt;. as usual this is special &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;character&lt;/span&gt; in oracle. but to insert data containing '&amp;amp;' in it was not that simple.preceding '&amp;amp;' before any value makes it variables and ask for it's value at the time of execution of query. escape &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;character&lt;/span&gt; \&amp;amp; simply didn't work which is working fine in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;MySQL&lt;/span&gt;. So here are the options you can try out to insert data containing '&amp;amp;'.&lt;br /&gt;&lt;br /&gt;1) SET DEFINER off;&lt;br /&gt; insert into page(id,&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;URL&lt;/span&gt;) values(1,'http:///sample.com?q=1&amp;amp;p=2');&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Problem Area :&lt;/span&gt; In this case &amp;amp;p won't be treated as variable and will be part of the string value. but suppose if you want variables data also then you can try option below.&lt;br /&gt;&lt;br /&gt;2) SET ESCAPE \&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;insert into page(id,&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;URL&lt;/span&gt;) values(1,'http://sample.com?q=1\&amp;amp;p=2');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Problem Area : &lt;/span&gt;you may not have permission to set DEFINER or ESCAPE so &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;this&lt;/span&gt; option is best suitable.&lt;br /&gt;&lt;br /&gt;3) insert into page(id,&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;URL&lt;/span&gt;) values(1,'http://sample.com?q=1'||'&amp;amp;'||'p=2');&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Courtesy :&lt;/span&gt; My senior. (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Sanket&lt;/span&gt;&lt;/span&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-2802353675872238930?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/2802353675872238930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=2802353675872238930' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2802353675872238930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2802353675872238930'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2011/06/insert-query-with-ampersand-in-oracle.html' title='insert query with ampersand in oracle.'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-1128706585565975669</id><published>2011-06-20T05:40:00.000-07:00</published><updated>2011-06-20T06:25:54.090-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='procedure with in clause'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle limiting resultset'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Writing oracle procedure.</title><content type='html'>You can write a stored procedure in oracle using any editor. I use sql developer by oracle. I am very new to write procedures in oracle. I found it's syntax way different than the syntax of MySql. I am fond fo opensource projects because of the support and simplicity of the solutions it has. Mysql has very simple ways to extacts rows, have lost's of in built funtions to use which makes it simple to use. After writting few oracle procedures I found how easy and simple mysql is compared to oracle in syntax. Anyway, Oracle has it's own advantage, and I like learning new stuff and the way to write oracle procedure. Here are 2 common requirement which I faced while writting a procedure in oracle.&lt;br /&gt;&lt;br /&gt;1) situations where you want to limit number of resultset in range (10-20) in oracle. In mysql you have limit caluse where you simply say &lt;blockquote&gt;limit start, count&lt;/blockquote&gt;  in your query and it's done, but in oracle you don't have this clause.&lt;br /&gt;&lt;br /&gt;here is how you go about the same.&lt;br /&gt;&lt;br /&gt;suppose you have table emp with coulumn id,name,sal.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;CREATE OR REPLACE&lt;br /&gt;PROCEDURE GETEMPLISTING(&lt;br /&gt;var_name VARCHAR2,&lt;br /&gt;var_limit_start IN INTEGER,&lt;br /&gt;var_limit_end IN INTEGER,&lt;br /&gt;page_cur out SYS_REFCURSOR)&lt;br /&gt;&lt;br /&gt;AS&lt;br /&gt;var_data_query varchar2(4000) default '';&lt;br /&gt;BEGIN&lt;br /&gt;var_data_query := 'select *&lt;br /&gt;               from&lt;br /&gt;             ( select rownum rnum, a.*&lt;br /&gt;                 from (SELECT id,name,sal FROM emp WHERE name LIKE ''%'||var_name||'%'') a&lt;br /&gt;                where rownum &amp;lt;= '|| var_limit_end ||')&lt;br /&gt;             where rnum &amp;gt;= '|| var_limit_start ||'';&lt;br /&gt;&lt;br /&gt;          OPEN page_cur FOR&lt;br /&gt;         var_data_query &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;2) you want same data but based on ids using IN caluse, In Oracle this is how I've acheived the same.&lt;br /&gt;&lt;br /&gt;Declare a new data type&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; create or replace TYPE         "MYNUMTABLE" as table of number;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Declare a function num_list&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;create or replace FUNCTION         "NUM_LIST"&lt;br /&gt; ( p_str in varchar2,&lt;br /&gt;   p_delim in varchar2 default ',')&lt;br /&gt;   return myNumTable&lt;br /&gt;as&lt;br /&gt;     l_data             myNumTable := myNumTable();&lt;br /&gt;     l_str           long default p_str || p_delim;&lt;br /&gt;     l_n                number;&lt;br /&gt;begin&lt;br /&gt;   loop&lt;br /&gt;     exit when l_str is null;&lt;br /&gt;     l_data.extend;&lt;br /&gt;     l_n := instr( l_str, p_delim );&lt;br /&gt;     l_data( l_data.count ) := substr( l_str, 1, l_n-1 );&lt;br /&gt;     l_str := substr( l_str, l_n+1 );&lt;br /&gt;   end loop;&lt;br /&gt;   return l_data;&lt;br /&gt;end;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now write a procedure&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;CREATE OR REPLACE&lt;br /&gt;PROCEDURE GETEMPLISTING(&lt;br /&gt;var_ids VARCHAR2,&lt;br /&gt;page_cur out SYS_REFCURSOR)&lt;br /&gt;&lt;br /&gt;AS&lt;br /&gt;BEIGIN&lt;br /&gt;OPEN page_cur FOR&lt;br /&gt;SELECT id,name,sal FROM emp WHERE id IN(SELECT  * FROM THE&lt;br /&gt;           ( SELECT CAST( num_list(p_users_id) AS myNumTable&lt;br /&gt;            )&lt;br /&gt;             FROM dual) a &lt;br /&gt;          );&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now you can call procedure to get the result expected. page_ids parameter has to be id seperated by comma (,) in this case for example parameter could be 1,2,5,7. which in reutrn shuld give records of the respected emplyee 1,2,5,7.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well that all for the day. Will cover next learning soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-1128706585565975669?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/1128706585565975669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=1128706585565975669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1128706585565975669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1128706585565975669'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2011/06/writing-oracle-procedure.html' title='Writing oracle procedure.'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-3346849140464058365</id><published>2010-09-02T04:55:00.000-07:00</published><updated>2010-09-02T05:15:24.254-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='testing tools'/><category scheme='http://www.blogger.com/atom/ns#' term='selenium'/><title type='text'>running selinium test case using PHP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G3UqI-AOBBI/TH-TBQuhNMI/AAAAAAAABUo/R7kTUQ-ez2E/s1600/Screenshot-2.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 237px; height: 178px;" src="http://4.bp.blogspot.com/_G3UqI-AOBBI/TH-TBQuhNMI/AAAAAAAABUo/R7kTUQ-ez2E/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5512286118804010178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the step by step process to run a selenium test case from the PHP program.&lt;br /&gt;&lt;br /&gt;Step 1: Download Selenium from the site http://seleniumhq.org/download/&lt;br /&gt;&lt;br /&gt;Step 2: unzip it in the document root of the server.In my case it is /var/www/&lt;br /&gt;&lt;br /&gt;Step 3: start the selenium server.&lt;br /&gt;         seek for the folder selenium-server-1.0.3 [in my case version is 1.0.3].&lt;br /&gt;         go to the directory mentioned above and start the server by issuing following command from command line.&lt;br /&gt;        java -jar selenium-server.jar&lt;br /&gt;        you can see the following output shown in the above picture.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G3UqI-AOBBI/TH-Uwf3rlxI/AAAAAAAABU0/sqYD3flo5GM/s1600/Screenshot-3.png"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 223px; height: 168px;" src="http://2.bp.blogspot.com/_G3UqI-AOBBI/TH-Uwf3rlxI/AAAAAAAABU0/sqYD3flo5GM/s320/Screenshot-3.png" alt="" id="BLOGGER_PHOTO_ID_5512288029834450706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 4: run the test program supplied in the zip file.In my case php program GoogleTest.php under the directory selenium-php-client-driver-1.0.1&lt;br /&gt;after running you would be able to see browser open for selenium giving session id for the test and google web page in other browser. [In my case firefox.].see the attached image.&lt;br /&gt;&lt;br /&gt;That's it for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-3346849140464058365?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/3346849140464058365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=3346849140464058365' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3346849140464058365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3346849140464058365'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2010/09/running-selinium-test-case-using-php.html' title='running selinium test case using PHP'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_G3UqI-AOBBI/TH-TBQuhNMI/AAAAAAAABUo/R7kTUQ-ez2E/s72-c/Screenshot-2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-2596066690993519831</id><published>2010-06-21T02:35:00.000-07:00</published><updated>2010-06-21T02:47:45.866-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Mysql Benchmarking tool</title><content type='html'>I did a study on the benchmarking tools available for mysql. I found mysqlslap to be the ideal tool for this. You can install mysqlslap by using the following command&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$home&gt; sudo apt-get install mysqlslap.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Once install you can  use mysqlslap --help to get the argument list and synopsis for how to use it.&lt;br /&gt;you can use number of iteration and concurrency limit for benchmarking performance of mysql.&lt;br /&gt;&lt;br /&gt;for example:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;mysqlslap -uroot -p -q Desktop/emp.sql -i15000&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;in this case the sql query written in the file emp.sql will run for 15000 times.&lt;br /&gt;&lt;br /&gt;One important note is that mysqlslap only work if all of your tables,views,proc used in the query are under mysqlslap database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-2596066690993519831?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/2596066690993519831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=2596066690993519831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2596066690993519831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2596066690993519831'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2010/06/mysql-benchmarking-tool.html' title='Mysql Benchmarking tool'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-1975233279176747690</id><published>2010-05-06T00:07:00.000-07:00</published><updated>2010-05-06T00:13:40.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>mysql dump</title><content type='html'>mysqldump is the client program for the back up of mysql database/tables.&lt;br /&gt;&lt;br /&gt;to generate just schema of a table we can use option -d.&lt;br /&gt;&lt;br /&gt;to limit the data in mysqldump we can use option --where="true limit 1000" which will give 1000 records.&lt;br /&gt;&lt;br /&gt;ex. command is&lt;br /&gt;mysqldump -u&lt;username&gt; -p &lt;dbname&gt; [&lt;tablename&gt;] --where="true limit &lt;record&gt;" &gt;   filenameforbackup.sql&lt;/record&gt;&lt;/tablename&gt;&lt;/dbname&gt;&lt;/username&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-1975233279176747690?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/1975233279176747690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=1975233279176747690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1975233279176747690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1975233279176747690'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2010/05/mysql-dump.html' title='mysql dump'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-1541729381226742491</id><published>2010-02-03T04:29:00.000-08:00</published><updated>2010-02-03T04:32:48.319-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntoo'/><title type='text'>Remote GUI Activation in Ubuntoo</title><content type='html'>you can activate remote GUI from the shell login so that if you try to access any GUI software it get opened up in the terminal where you are connected in.&lt;br /&gt;Here is the command to open evolution.&lt;br /&gt;&lt;br /&gt;         export DISPLAY=:0.0 &amp;amp;&amp;amp; evolution&lt;br /&gt;&lt;br /&gt;similarly you can open any GUI software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-1541729381226742491?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/1541729381226742491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=1541729381226742491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1541729381226742491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1541729381226742491'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2010/02/remote-gui-activation-in-ubuntoo.html' title='Remote GUI Activation in Ubuntoo'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-8587116705835306378</id><published>2009-12-21T03:35:00.000-08:00</published><updated>2009-12-21T03:53:55.377-08:00</updated><title type='text'>Load balancing using Mod_Rewrite and perl</title><content type='html'>In computer networking, load balancing is a technique to spread work between two or more computers, network links, CPUs, hard drives, or other  to improve the performance.Here is the way to implement load balancing using mod_rewrite.&lt;br /&gt;&lt;strong&gt;Proxy Throughput Round-Robin&lt;br /&gt;&lt;/strong&gt;suppose we want load balancing between 5 different Servers.In this variant we use mod_rewrite and its proxy               throughput feature. First we dedicate               &lt;code&gt;www0.z-techsoftware.com&lt;/code&gt; to be actually               &lt;code&gt;www.&lt;/code&gt;&lt;code&gt;z-techsoftware&lt;/code&gt;&lt;code&gt;.com&lt;/code&gt; by using a single entry in DNS.&lt;br /&gt;&lt;pre&gt;www    IN  CNAME   www0.foo.com.&lt;br /&gt;&lt;/pre&gt;Now make this server as proxy server which will redirect requests to all other servers.we first establish a ruleset which               contacts a load balancing script &lt;code&gt;lb.pl&lt;/code&gt;               for all URLs using .htaccess file.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;RewriteEngine on&lt;br /&gt;RewriteMap    lb      prg:/path/to/lb.pl&lt;br /&gt;RewriteRule   ^/(.+)$ ${lb:$1}           [P,L]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then we write &lt;code&gt;lb.pl&lt;/code&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/path/to/perl&lt;br /&gt;##&lt;br /&gt;##  lb.pl -- load balancing script&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;$| = 1;&lt;br /&gt;&lt;br /&gt;$name   = "www";     # the hostname base&lt;br /&gt;$first  = 1;         # the first server (not 0 here, because 0 is myself)&lt;br /&gt;$last   = 5;         # the last server in the round-robin&lt;br /&gt;$domain = "foo.dom"; # the domainname&lt;br /&gt;&lt;br /&gt;$cnt = 0;&lt;br /&gt;while (&lt;stdin&gt;) {&lt;br /&gt;  $cnt = (($cnt+1) % ($last+1-$first));&lt;br /&gt;  $server = sprintf("%s%d.%s", $name, $cnt+$first, $domain);&lt;br /&gt;  print "http://$server/$_";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;##EOF##&lt;br /&gt;&lt;/stdin&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's it.you are done.Now this server will act as proxy server and pass all requests to other servers one by one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-8587116705835306378?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/8587116705835306378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=8587116705835306378' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8587116705835306378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8587116705835306378'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/12/load-balancing-using-modrewrite-and.html' title='Load balancing using Mod_Rewrite and perl'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-2983942200730037774</id><published>2009-12-17T22:26:00.001-08:00</published><updated>2009-12-17T22:26:52.234-08:00</updated><title type='text'>Tools to make your website work better</title><content type='html'>&lt;a href="http://site-perf.com/"&gt;Site-Perf&lt;/a&gt; – get an accurate, realistic, and helpful estimation of your site’s loading speed. The script fully emulates natural browser behavior downloading your page with all the images, CSS, JS and other files – just like a regular user. A unique feature is that site-perf.com allows to measure packet loss ratio with reasonable precision. &lt;p&gt;2. &lt;a href="http://www.futurenowinc.com/wewe.htm"&gt;Customer Focus Calculator&lt;/a&gt; – will analyze the words on your page and determine if your copy is more about yourself or your customer. This tool will measure if you are we-we-ing all over yourself.&lt;/p&gt; &lt;p&gt;3. &lt;a href="http://btbuckets.com/"&gt;BT Buckets&lt;/a&gt; – Engage your users with a free segmentation and behavioral targeting tool.&lt;/p&gt; &lt;p&gt;4. &lt;a href="http://4q.iperceptions.com/"&gt;4Q from IPerceptions&lt;/a&gt; – developed with web analytics evangelist Avinash Kaushik. When evaluating how you website is doing obviously it helps to get your customers’ opinions. This free tool helps you answer four important questions:&lt;/p&gt; &lt;p&gt;* How satisfied are my visitors?&lt;br /&gt;* What are my visitors at my website to do?&lt;br /&gt;* Are they completing what they set out to do?&lt;br /&gt;* If not, why not?&lt;br /&gt;* If yes, what did they like best about the online experience?&lt;/p&gt; &lt;p&gt;5. &lt;a href="http://ekstreme.com/buzz/"&gt;What’s the Buzz?&lt;/a&gt; – a keyword research tool with one simple aim: to find out who’s talking about a certain keyword. To do that, it does five things:&lt;/p&gt; &lt;p&gt;* It displays the Technorati Blog Popularity Chart, showing how popular the keyword has been blogged about in the past 90 days&lt;br /&gt;* It displays the Google Trends chart for the keyword&lt;br /&gt;* It finds blog posts tagged with the keyword&lt;br /&gt;* It finds blog posts containing the keyword (a straight-forward search)&lt;br /&gt;* It finds social bookmarks tagged with the keywords&lt;/p&gt; &lt;p&gt;6. &lt;a href="http://www.bad-neighborhood.com/text-link-tool.htm"&gt;Bad Neighborhood Link Checker&lt;/a&gt; – scan the links on your website, and on the pages that your website is linking to, and flag possible problem areas.&lt;/p&gt; &lt;p&gt;7. &lt;a href="http://ekstreme.com/backlink-social-celeb/"&gt;Backlink Social Celebrity SEO Tool&lt;/a&gt; – discover who bookmarked a webpage and who linked to that webpage. The bookmarks are searched for in the various social bookmarking services, such as del.icio.us, Raw Sugar, and others. The backlinks are found using Google and Yahoo!.&lt;/p&gt; &lt;p&gt;8. &lt;a href="http://www.webbedmarketing.com/webbedometer.html"&gt;Webbed-O-Meter 2.0&lt;/a&gt; – can help track how effective you are at inspiring consumer generated content online, call it buzz marketing, social media marketing or viral marketing.&lt;/p&gt; &lt;p&gt;9. &lt;a href="http://www.websitegrader.com/tabid/6956/Default.aspx"&gt;Website Grader&lt;/a&gt; – provides a score that incorporates things like website traffic, SEO, social popularity and other technical factors. It also provides some basic advice on how the website can be improved from a marketing perspective.&lt;/p&gt; &lt;p&gt;10. &lt;a href="http://tools.summitmedia.co.uk/spider/"&gt;Spider  Simulator&lt;/a&gt; – help you find out for yourself how a search engine reacts to your pages and what can be done to boost your visibility.&lt;/p&gt; &lt;p&gt;11. &lt;a href="http://tools.seobook.com/general/spider-test/"&gt;Spider Test&lt;/a&gt; – Shows the source code of a page, all outbound links, and common words and phrases.&lt;/p&gt; &lt;p&gt;12. &lt;a href="http://www.google.com/analytics"&gt;Google Analytics&lt;/a&gt; – web analytics with new “&lt;a href="http://www.grokdotcom.com/2008/10/22/google-analytics-releases-enterprise-feature-set/"&gt;enterprise features&lt;/a&gt;” and a ton of &lt;a href="http://www.grokdotcom.com/2008/10/16/google_analytics_hacks/"&gt;plugins and hacks&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;13. &lt;a href="http://services.google.com/websiteoptimizer/"&gt;Google Website Optimizer&lt;/a&gt; – Free A/B and Multivariate Testing&lt;/p&gt; &lt;p&gt;14. &lt;a href="http://help.yahoo.com/l/us/yahoo/smallbusiness/store/analytics/index.html"&gt;Yahoo! Analytics&lt;/a&gt; – still in beta, but incredibly powerful. It is currently available with Yahoo! Merchant Solutions Standard, Professional, and Yahoo! Store plans.&lt;/p&gt; &lt;p&gt;15. &lt;a href="http://advertising.microsoft.com/advertising/adcenter-analytics-registration"&gt;Microsoft adCenter Analytics&lt;/a&gt; – by invitation only, but you can apply at the link provided.&lt;/p&gt; &lt;p&gt;16. &lt;a href="http://piwik.org/"&gt;Piwik&lt;/a&gt; – This is an open source web analytics solution.&lt;/p&gt; &lt;p&gt;17. &lt;a href="http://www.seomoz.org/linkscape"&gt;Linkscape&lt;/a&gt; – allows access to link information on more than 30+ billion web pages across 200+ million domains.&lt;/p&gt; &lt;p&gt;18. &lt;a href="http://www.seomoz.org/backlink-analysis"&gt;BacklinkAnalysis&lt;/a&gt; – Get a look at what keywords websites are linking to you with.&lt;/p&gt; &lt;p&gt;19. &lt;a href="http://www.seomoz.org/trifecta"&gt;Trifecta&lt;/a&gt; – Measures metrics to estimate the relative popularity and importance of Page, Blog or Domain.&lt;/p&gt; &lt;p&gt;20. &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1843"&gt;Firebug&lt;/a&gt; – this plugin for Firefox provides a number of development tools. For the purposes of analysis, Firebug will allow you to monitor and debug HTML, CSS, and JavaScript from within your browser.&lt;/p&gt; &lt;p&gt;21. &lt;a href="http://developer.yahoo.com/yslow/"&gt;YSlow for Firebug&lt;/a&gt; – YSlow will analyze your page to make suggestions for how you can speed up the page. YSlow is integrated with Firebug.&lt;/p&gt; &lt;p&gt;22. &lt;a href="http://www.google.com/webmasters/tools/"&gt;Google Webmaster Tools&lt;/a&gt; – see which phrases your ranking well for, what pages are causing problems for Google when crawling your site, which pages are getting the most links, rss subscribers, etc.&lt;/p&gt; &lt;p&gt;23. &lt;a title="Morgue File" href="http://www.morguefile.com/"&gt;Morgue File&lt;/a&gt; – offers free high resolution digital stock photography for either corporate or public use.&lt;/p&gt; &lt;p&gt;24.  &lt;a title="OpenAds" href="http://www.openads.org/"&gt;OpenAds&lt;/a&gt; – for sites that want to serve and track advertising.&lt;/p&gt; &lt;p&gt;25. &lt;a href="http://www.silktide.com/sitescore-overview"&gt;Sitescore&lt;/a&gt; – analyzes the quality of incoming and outgoing links, keyword density, page titles, plagiarism, popularity rank, the usage of popups and the effectiveness of site’s structure. Sitescore also grades the printability, readability, spiderability and usability of the page as well as spelling and W3C compliance. This is no longer available for free, sorry.&lt;/p&gt; &lt;p&gt;26. &lt;a href="http://mon.itor.us/"&gt;mon.itor.us&lt;/a&gt; – use this to monitor uptime, website performance and other hosting abnormalities.&lt;/p&gt; &lt;p&gt;27. &lt;a href="http://www.orangoo.com/spell/"&gt;Orangoo Spell Check&lt;/a&gt; – spell check your website.&lt;/p&gt; &lt;p&gt;28. &lt;a href="http://www.scrutinizethis.com/"&gt;The Scrutinizer&lt;/a&gt; – offers 283 tools to test your website in one place.&lt;/p&gt; &lt;p&gt;29. &lt;a href="http://www.netconcepts.com/productcheck/"&gt;Product Indexation Check&lt;/a&gt; – use this handy tool to check how many of your category or product pages are included in the major search engines.&lt;/p&gt; &lt;p&gt;30. &lt;a href="http://www.kampyle.com/"&gt;Kamplye&lt;/a&gt; – allows your visitors to give feedback on your site, via a little button that sits at the edge of each webpage.&lt;/p&gt; &lt;p&gt;31. &lt;a class="external" href="http://www.google.com/coop/cse/" target="_blank"&gt;Google’s Free Custom Search Engine&lt;/a&gt; – create your own custom search engine, indexing your website or add additonal websites as well.&lt;/p&gt; &lt;p&gt;32. &lt;a href="http://www.feng-gui.com/"&gt;Feng-GUI&lt;/a&gt; – generates heatmaps for your website (upload a screenshot) by simulating human vision during the first five seconds of viewing your website.&lt;/p&gt; &lt;p&gt;33. &lt;a href="http://about.stompernet.com/scrutinizer"&gt;Scrutinizer browser&lt;/a&gt; – a web browser, based upon the Adobe AIR toolkit and the WebKit browser, that offers a simulation of the human visual system. Using this simulation, you can get a better idea of how users interact with your site design.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-2983942200730037774?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/2983942200730037774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=2983942200730037774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2983942200730037774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2983942200730037774'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/12/tools-to-make-your-website-work-better.html' title='Tools to make your website work better'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-345728584638311809</id><published>2009-12-17T22:23:00.000-08:00</published><updated>2009-12-17T22:25:43.855-08:00</updated><title type='text'>UI tools</title><content type='html'>&lt;p&gt;There are lots of tools available to help you document and design your web site. It seems that we all need a wireframing or prototyping tool at our fingertips.&lt;/p&gt; &lt;p&gt;It has covered the biggies: OmniGraffle Pro, Visio, Axure RP Pro, iRise Pro, Balsamiq Mockups, ConceptDraw Pro, etc… but he also goes into detail on a few well-known tools that can be used for wireframes and prototypes such as Keynote, PowerPoint, Adobe Fireworks, Adobe Flash and plain ol’ XHTML. &lt;/p&gt;&lt;p&gt;I've used Axure RP Pro and it's amazing to develop wireframe of software/website/web based tools.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-345728584638311809?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/345728584638311809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=345728584638311809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/345728584638311809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/345728584638311809'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/12/ui-tools.html' title='UI tools'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-2160228417868770797</id><published>2009-12-17T22:19:00.000-08:00</published><updated>2009-12-17T22:21:59.971-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>MySQL tools</title><content type='html'>&lt;p&gt;The most popular and best open source database is MySQL. Simple as that. It is consistently fast , reliabile and very, very easy to use. One of MySQLs main features is its cross-platform support, it will run on almost all operating systems, including Windows, OSX, Linux and many more. So, MySQL is the best database, and we all use it. The question now is which is the best MySQL Admin and Development Tool?&lt;/p&gt; &lt;p&gt;&lt;a href="http://dev.mysql.com/workbench/"&gt;MySQL Workbench&lt;/a&gt;&lt;br /&gt;This application is a fully featured visual database design package that includes database design, modeling, creation and maintenance bundled into a single environment for the MySQL database system.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.heidisql.com/?&amp;amp;"&gt;Heidi SQL&lt;/a&gt;&lt;br /&gt;Heidi SQL is lightweight and fast with a flexible interface, it allows you to browse and edit your databases databases, manage tables, view and edit records, manage user-privileges, import data from text files, run SQL queries, synchronize tables between two databases and export selected tables to other databases or SQL scripts, and all this from an intuitive Windows interface.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.aquafold.com/"&gt;Aqua Data Studio&lt;/a&gt;&lt;br /&gt;This complete IDE, has four major areas of functionality: Database query and administration tools; a suite of compare tools for databases, source control and file systems; integrated source control client for Subversion (SVN) and CVS; and a powerful database modeler.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.phpmyadmin.net/home_page/index.php"&gt;phpMyAdmin&lt;/a&gt;&lt;br /&gt;This very popular, feature rich and easy to use free tool, written in PHP (obviusly), has been built to handle the full administration of MySQL. It can create and drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage users and permissions, and manage keys on fields.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.webyog.com/en/index.php"&gt;SQLyog&lt;/a&gt;&lt;br /&gt;SQLyog is another popular SQL management tool that has a couple of useful features such as visual schema designer, visual query builder, intelligent code completion and a data / structure synchronization. It support HTTP / HTTPs / SSH tunneling and SSL connections. You can also specify a job manager, define a scheduled database backup and use a notification service to be reminded when some jobs are finished.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.mysqlfront.de/"&gt;MYSQL Front&lt;/a&gt;&lt;br /&gt;This graphical GUI for the MySQL database, is a “real” application, it can offer a more refined user-interface than is possible with systems built on PHP and HTML. Response is immediate, as there is no delay of reloading HTML-pages.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.sqlbuddy.com/"&gt;SQL Buddy&lt;/a&gt;&lt;br /&gt;This cool lightweight ajax powered database management tool is amazing. It is very, very easy to install, unzip the folder to your server and thats it. As for upgrading, delete the older version and replace with the new version, simple.&lt;/p&gt; &lt;p&gt;&lt;a href="http://mysql.navicat.com/"&gt;Navicat Lite MySQL Admin Tool&lt;/a&gt;&lt;br /&gt;Navicat is a fast, reliable and popular (millions of downloads) Database Administration tool purpose-built for simplifying database management and reducing administrative costs.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.toadsoft.com/toadmysql/"&gt;Toad MySQL&lt;/a&gt;&lt;br /&gt;Toad for MySQL is a database development and administration tool that provides productivity features for rapidly creating and executing queries and managing complex database systems. It provides utilities to compare, extract and search for objects, manage projects, import/export data and administer the database.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.scibit.com/products/mycon/"&gt;MyCon – MySQL GUI&lt;/a&gt;&lt;br /&gt;MyCon is an extremely powerful windows based graphical user interface, MySQL GUI, for administering and working with MySQL server databases. This easy to use MySQL GUI front-end client includes all the functionality and tools you will need to be productive in MySQL as a DBA, developer, manager, report writer or a general end-user.&lt;/p&gt; &lt;p&gt;&lt;a href="http://sidu.sourceforge.net/mysql-sidu.php"&gt;MySQL Sidu&lt;/a&gt;&lt;br /&gt;MySQL Sidu is a FREE MySQL client that works via your web browser, it is simple, intuitive and an easy database tool to use. Sidu is not as powerful as other similiar tools but packs enough punch to merit its place in this list, its features may be limited but it does do exactly what the name says (Sidu stands for Select Insert Delete Update).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-2160228417868770797?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/2160228417868770797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=2160228417868770797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2160228417868770797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/2160228417868770797'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/12/mysql-tools.html' title='MySQL tools'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-6523698977825151961</id><published>2009-12-17T22:17:00.000-08:00</published><updated>2009-12-17T22:19:26.599-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><title type='text'>Dummy Data Generator tool</title><content type='html'>&lt;p&gt;&lt;strong&gt;GenerateData&lt;/strong&gt; is a free, open source script written in JavaScript, PHP and MySQL that lets you quickly generate large volumes of custom data in a variety of formats for use in testing software, populating databases.&lt;/p&gt; &lt;h3&gt;&lt;a href="http://sourceforge.net/projects/datagenerator/" target="_blank"&gt;Datagenerator&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Datagenerator&lt;/strong&gt; is a library and GUI for generating &lt;strong&gt;rule based test data&lt;/strong&gt; for various databases like Mysql, Firebird, Interbase, MSSQL, Oracle, SQLite and PostgreSQL.&lt;/p&gt; &lt;h3&gt;&lt;a href="http://sourceforge.net/projects/dgmaster/" target="_blank"&gt;dgMaster&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Data generator&lt;/strong&gt; tool which supports many data types (primitive data types,but also names,addresses,post codes,etc.) and generates data in various formats (text,xml,db).It provides a GUI and is extensible by means of plugging-in new &lt;strong&gt;data-generator classes&lt;/strong&gt;.&lt;/p&gt; &lt;h3&gt;&lt;a href="http://sourceforge.net/projects/spawner/" target="_blank"&gt;Spawner Data Generator&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Spawner&lt;/strong&gt; is a &lt;strong&gt;generator of sample/test data&lt;/strong&gt; for databases. It can be configured to output delimited text or SQL insert statements. It can also insert directly into a MySQL 5.x database. Includes many field types, most of which are configurable.&lt;/p&gt; &lt;h3&gt;&lt;a href="http://sourceforge.net/projects/dbmonster/" target="_blank"&gt;DBMonster&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;DBMonster&lt;/strong&gt; is a tool that generates random test data and inserts it into &lt;strong&gt;SQL database&lt;/strong&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-6523698977825151961?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/6523698977825151961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=6523698977825151961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/6523698977825151961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/6523698977825151961'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/12/dummy-data-generator-tool.html' title='Dummy Data Generator tool'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-4118450164399757969</id><published>2009-07-08T05:52:00.000-07:00</published><updated>2009-07-08T07:04:12.663-07:00</updated><title type='text'>PHP Ming</title><content type='html'>Ming is a library for generating Macromedia Flash files (.swf), written in C, and &lt;a href="http://www.libming.org/WhatsIncluded"&gt;includes useful utilities&lt;/a&gt; for working with .swf files.You can use this library with PHP,Perl, ruby etc using wrapper.Ming offers a number of advantages over the existing    &lt;a href="http://in.php.net/manual/en/ref.swf.php" class="link"&gt;PHP/libswf module&lt;/a&gt;.    You can use Ming anywhere you can compile the code, whereas libswf is    closed-source and only available for a few platforms, Windows not one of    them.&lt;br /&gt;&lt;br /&gt;Installation PHP&lt;br /&gt;go to command prompt and type the following command&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install php5-ming&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Restart web server.That's it folks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for more info how to use this with php visit&lt;br /&gt;&lt;br /&gt;http://in.php.net/manual/en/intro.ming.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-4118450164399757969?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/4118450164399757969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=4118450164399757969' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4118450164399757969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4118450164399757969'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/07/php-ming.html' title='PHP Ming'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-7909968097332090529</id><published>2009-06-11T06:08:00.000-07:00</published><updated>2009-06-11T06:21:33.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Installing CPAN modules in perl in linux.</title><content type='html'>Perl support lots of in built module available under CPAN [Comprehensive Perl Archive Network] which can be install by the following command.&lt;br /&gt;&lt;br /&gt;uttam@uttam:/ sudo perl -MCPAN -e shell&lt;br /&gt;&lt;br /&gt;after this command you'ill be under cpan shell and you'll see the following text on screen..&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cpan shell -- CPAN exploration and modules installation (v1.9205)&lt;br /&gt;ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?)&lt;br /&gt;&lt;br /&gt;cpan[1]&gt;&lt;/blockquote&gt;&lt;br /&gt;Now you can install module you want with perl.for example you can type "install DBI" to install DBI modules.&lt;br /&gt;&lt;br /&gt;After successful installation you can view the DBI directory under following folder.&lt;br /&gt;     /usr/local/lib/perl/5.10.0/.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-7909968097332090529?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/7909968097332090529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=7909968097332090529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7909968097332090529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7909968097332090529'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/06/installing-cpan-modules-in-perl-in.html' title='Installing CPAN modules in perl in linux.'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-3673236949136903528</id><published>2009-05-28T23:30:00.000-07:00</published><updated>2009-06-11T06:22:51.882-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>running perl script in apache</title><content type='html'>Perl script can be run as executable files in apache.All you have to do is to follow some basic steps given below.&lt;br /&gt;&lt;br /&gt;open your apache.conf file in write mode and add the following line.by default it's under /etc/apache2/ directory.&lt;br /&gt;&lt;br /&gt;AddHandler cgi-script .cgi .pl&lt;br /&gt;&lt;br /&gt;save the file.&lt;br /&gt;&lt;br /&gt;&lt;p&gt; Next, search for the line that says "&lt;code&gt;&lt;directory&gt;&lt;/directory&gt;&lt;/code&gt; in the file. It should look something like this:[In this case /var/www/ is the document root.]&lt;/p&gt;  &lt;div class="codeblock"&gt; &lt;directory&gt;&lt;br /&gt; Options FollowSymLinks&lt;br /&gt; AllowOverride None&lt;br /&gt;&lt;/directory&gt;&lt;br /&gt;&lt;br /&gt;Add "&lt;code&gt;+ExecCGI&lt;/code&gt;" to the options list. The line now looks like this:&lt;br /&gt;Options FollowSymLinks +ExecCGI&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;generally you can find this in sites-enabled/000-default file.&lt;br /&gt;&lt;br /&gt;Restart your apache web server.&lt;br /&gt;&lt;br /&gt;test by typing URL of your perl script in web browser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-3673236949136903528?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/3673236949136903528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=3673236949136903528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3673236949136903528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3673236949136903528'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/05/running-perl-script-in-apache.html' title='running perl script in apache'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-839319850820438531</id><published>2009-05-28T23:18:00.000-07:00</published><updated>2009-06-11T06:23:27.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>acessing xml in php sent by other script</title><content type='html'>There are several situation where we need to accept xml as input in php file which is sent by other scripts like flash/php/perl etc.&lt;br /&gt;&lt;br /&gt;To accept xml as input in php, first you need to check that content-type which is being passed by source script has to be in "text/xml" format.&lt;br /&gt;&lt;br /&gt;Now in your PHP script you can accept xml input by the following code.&lt;br /&gt;&lt;pre&gt;$xml_str=file_get_contents("php://input");&lt;br /&gt;//where $xml_str will have xml string passed by the source script.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-839319850820438531?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/839319850820438531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=839319850820438531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/839319850820438531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/839319850820438531'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/05/acessing-xml-in-php-sent-by-other.html' title='acessing xml in php sent by other script'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-6577256714393986983</id><published>2009-05-19T00:09:00.000-07:00</published><updated>2009-06-11T06:23:55.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Javascript Key code</title><content type='html'>&lt;table style="font-family: courier new; color: rgb(51, 51, 255);" class="dataTable"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;Key Pressed&lt;/th&gt; &lt;th&gt;Key Code&lt;/th&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;backspace&lt;/td&gt; &lt;td&gt;8&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;tab&lt;/td&gt; &lt;td&gt;9&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;enter&lt;/td&gt; &lt;td&gt;13&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;shift&lt;/td&gt;  &lt;td&gt;16&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;ctrl&lt;/td&gt; &lt;td&gt;17&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;alt&lt;/td&gt; &lt;td&gt;18&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;pause/break&lt;/td&gt; &lt;td&gt;19&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;caps lock&lt;/td&gt; &lt;td&gt;20&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;escape&lt;/td&gt; &lt;td&gt;27&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;page up&lt;/td&gt; &lt;td&gt;33&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;page down&lt;/td&gt;  &lt;td&gt;34&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;end&lt;/td&gt; &lt;td&gt;35&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;home&lt;/td&gt; &lt;td&gt;36&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;left arrow&lt;/td&gt; &lt;td&gt;37&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;up arrow&lt;/td&gt; &lt;td&gt;38&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;right arrow&lt;/td&gt; &lt;td&gt;39&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;down arrow&lt;/td&gt; &lt;td&gt;40&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;insert&lt;/td&gt;  &lt;td&gt;45&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;delete&lt;/td&gt; &lt;td&gt;46&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;0&lt;/td&gt; &lt;td&gt;48&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;49&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;50&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;51&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;4&lt;/td&gt; &lt;td&gt;52&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;5&lt;/td&gt;  &lt;td&gt;53&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;6&lt;/td&gt; &lt;td&gt;54&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;7&lt;/td&gt; &lt;td&gt;55&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;8&lt;/td&gt; &lt;td&gt;56&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;9&lt;/td&gt; &lt;td&gt;57&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;a&lt;/td&gt; &lt;td&gt;65&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;b&lt;/td&gt; &lt;td&gt;66&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;c&lt;/td&gt;  &lt;td&gt;67&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;d&lt;/td&gt; &lt;td&gt;68&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;e&lt;/td&gt; &lt;td&gt;69&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;f&lt;/td&gt; &lt;td&gt;70&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;g&lt;/td&gt; &lt;td&gt;71&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;h&lt;/td&gt; &lt;td&gt;72&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;i&lt;/td&gt; &lt;td&gt;73&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;j&lt;/td&gt;  &lt;td&gt;74&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;k&lt;/td&gt; &lt;td&gt;75&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;l&lt;/td&gt; &lt;td&gt;76&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;m&lt;/td&gt; &lt;td&gt;77&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;n&lt;/td&gt; &lt;td&gt;78&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;o&lt;/td&gt; &lt;td&gt;79&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;p&lt;/td&gt; &lt;td&gt;80&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;q&lt;/td&gt;  &lt;td&gt;81&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;r&lt;/td&gt; &lt;td&gt;82&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;s&lt;/td&gt; &lt;td&gt;83&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;t&lt;/td&gt; &lt;td&gt;84&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;u&lt;/td&gt; &lt;td&gt;85&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;v&lt;/td&gt; &lt;td&gt;86&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;w&lt;/td&gt; &lt;td&gt;87&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;x&lt;/td&gt;  &lt;td&gt;88&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;y&lt;/td&gt; &lt;td&gt;89&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;z&lt;/td&gt; &lt;td&gt;90&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;left window key&lt;/td&gt; &lt;td&gt;91&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;right window key&lt;/td&gt; &lt;td&gt;92&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;select key&lt;/td&gt; &lt;td&gt;93&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;numpad 0&lt;/td&gt; &lt;td&gt;96&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;numpad 1&lt;/td&gt;  &lt;td&gt;97&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;numpad 2&lt;/td&gt; &lt;td&gt;98&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;numpad 3&lt;/td&gt; &lt;td&gt;99&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;numpad 4&lt;/td&gt; &lt;td&gt;100&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;numpad 5&lt;/td&gt; &lt;td&gt;101&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;numpad 6&lt;/td&gt; &lt;td&gt;102&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;numpad 7&lt;/td&gt; &lt;td&gt;103&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;numpad 8&lt;/td&gt;  &lt;td&gt;104&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;numpad 9&lt;/td&gt; &lt;td&gt;105&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;multiply&lt;/td&gt; &lt;td&gt;106&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;add&lt;/td&gt; &lt;td&gt;107&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;subtract&lt;/td&gt; &lt;td&gt;109&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;decimal point&lt;/td&gt; &lt;td&gt;110&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;divide&lt;/td&gt; &lt;td&gt;111&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;f1&lt;/td&gt;  &lt;td&gt;112&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;f2&lt;/td&gt; &lt;td&gt;113&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;f3&lt;/td&gt; &lt;td&gt;114&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;f4&lt;/td&gt; &lt;td&gt;115&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;f5&lt;/td&gt; &lt;td&gt;116&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;f6&lt;/td&gt; &lt;td&gt;117&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;f7&lt;/td&gt; &lt;td&gt;118&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;f8&lt;/td&gt;  &lt;td&gt;119&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;f9&lt;/td&gt; &lt;td&gt;120&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;f10&lt;/td&gt; &lt;td&gt;121&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;f11&lt;/td&gt; &lt;td&gt;122&lt;/td&gt; &lt;/tr&gt;  &lt;tr class="odd"&gt; &lt;td&gt;f12&lt;/td&gt; &lt;td&gt;123&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;num lock&lt;/td&gt; &lt;td&gt;144&lt;/td&gt;  &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;scroll lock&lt;/td&gt; &lt;td&gt;145&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;semi-colon&lt;/td&gt;  &lt;td&gt;186&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;equal sign&lt;/td&gt; &lt;td&gt;187&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;comma&lt;/td&gt; &lt;td&gt;188&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;dash&lt;/td&gt; &lt;td&gt;189&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt; &lt;td&gt;period&lt;/td&gt; &lt;td&gt;190&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;forward slash&lt;/td&gt; &lt;td&gt;191&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;grave accent&lt;/td&gt; &lt;td&gt;192&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt; &lt;td&gt;open bracket&lt;/td&gt;  &lt;td&gt;219&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;back slash&lt;/td&gt; &lt;td&gt;220&lt;/td&gt; &lt;/tr&gt; &lt;tr class="odd"&gt;  &lt;td&gt;close braket&lt;/td&gt; &lt;td&gt;221&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;single quote&lt;/td&gt; &lt;td&gt;222&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-6577256714393986983?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/6577256714393986983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=6577256714393986983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/6577256714393986983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/6577256714393986983'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/05/javascript-key-code.html' title='Javascript Key code'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-5576797347597315657</id><published>2009-04-02T07:22:00.000-07:00</published><updated>2009-06-11T06:24:16.991-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>How to get XML/HTML result set with mysql</title><content type='html'>you can get directly HTML,XML format of your resultset by just executing the query by following syntax.&lt;br /&gt;&lt;br /&gt;uttam@uttam:~$ &lt;b&gt;mysql -u[userName] &lt;username&gt; -p -H -e "&lt;query&gt;[query]" &lt;databasename&gt;&lt;/databasename&gt;&lt;/query&gt;&lt;/username&gt;&lt;/b&gt; &lt;span style="font-weight: bold;"&gt;[database]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;where -H is to get HTML resultset.you can replace this with -X to get XML output.&lt;br /&gt;        -e is to execute the query specified.&lt;br /&gt;&lt;br /&gt;go to the shell promt. and thry this example.&lt;br /&gt;mysql -uroot  -p -H -e "select * from user" mysql&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-5576797347597315657?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/5576797347597315657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=5576797347597315657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/5576797347597315657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/5576797347597315657'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/04/how-to-get-xmlhtml-result-set-with.html' title='How to get XML/HTML result set with mysql'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-1856060275636409156</id><published>2009-03-30T23:08:00.000-07:00</published><updated>2009-03-30T23:18:42.643-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='digital marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='SEM'/><title type='text'>Google gadget Ads</title><content type='html'>Google has come up with new marketing tool google gadget ads.one of the coolest feature among all is that To be sure  that your gadget ad has the latest data, you can force a refresh at an interval you specify.&lt;br /&gt;&lt;br /&gt;Google also provide Google ad editor to quickly build, test, and validate your gadget ads prior to submitting it for review.&lt;br /&gt;&lt;br /&gt;want some more Information for creating a google gadget ad?&lt;a href="http://www.google.com/adwords/gadgetads/"&gt;Click Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-1856060275636409156?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/1856060275636409156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=1856060275636409156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1856060275636409156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/1856060275636409156'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/03/google-gedet-ads.html' title='Google gadget Ads'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-148603548204401369</id><published>2009-03-25T02:01:00.000-07:00</published><updated>2009-03-25T02:54:35.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox ad on'/><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='testing tools'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox extension'/><title type='text'>Testing web Application</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G3UqI-AOBBI/Scn8E0hFgFI/AAAAAAAAA8Y/DFsuMjkd8AU/s1600-h/selennium.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 300px; height: 237px;" src="http://4.bp.blogspot.com/_G3UqI-AOBBI/Scn8E0hFgFI/AAAAAAAAA8Y/DFsuMjkd8AU/s320/selennium.png" alt="" id="BLOGGER_PHOTO_ID_5317057994834673746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nowadays lot's of effort is gone for testing and quality assurance of the web application which can be minimized by using web based testing tools available on the web.&lt;br /&gt;&lt;br /&gt;There are lot's of Ad-ons available for mozila firfox for different kind of the testing which Includes  such as iMacros for Firefox,  WASP, Fireshot, Window Resizer, Selenium IDE, Web Developer, SwitchProxy,  IE Tab, Molybdenum, HackBar, and many more.&lt;br /&gt;&lt;a href="http://seleniumhq.org/projects/ide/"&gt;&lt;br /&gt;Selenium IDE&lt;/a&gt;  is an integrated development environment for Selenium tests.allows you to record, edit, and debug tests.You can choose to use its recording capability, or you may edit your scripts by hand.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://chrispederick.com/work/web-developer/"&gt;Web Developer&lt;/a&gt; The Web Developer extension adds a menu and a toolbar to the browser with various web developer tools. It is designed for     &lt;a href="http://www.mozilla.com/firefox/" title="mozilla.com" rel="external"&gt;Firefox&lt;/a&gt;,     &lt;a href="http://www.flock.com/" title="flock.com" rel="external"&gt;Flock&lt;/a&gt;     and     &lt;a href="http://www.mozilla.org/projects/seamonkey/" title="mozilla.org" rel="external"&gt;Seamonkey&lt;/a&gt;,     and will run on any platform that these browsers support including Windows, Mac     &lt;acronym title="Operating system"&gt;OS&lt;/acronym&gt;     X and Linux.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3899"&gt;Hackbar&lt;/a&gt; allow you to test your web pages against sql injections, XSS holes and site security.It is not used for executing standard exploits.&lt;br /&gt;&lt;br /&gt;These are few ad-ons which I use and It help me as a developer/tester to test website more rapidly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-148603548204401369?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.softwareqatest.com/qatweb1.html#OTHER' title='Testing web Application'/><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/148603548204401369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=148603548204401369' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/148603548204401369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/148603548204401369'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/03/testing-web-application.html' title='Testing web Application'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_G3UqI-AOBBI/Scn8E0hFgFI/AAAAAAAAA8Y/DFsuMjkd8AU/s72-c/selennium.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-9098162808135625509</id><published>2009-03-23T03:37:00.000-07:00</published><updated>2009-03-25T00:13:40.689-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox ad on'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox extension'/><category scheme='http://www.blogger.com/atom/ns#' term='xul'/><title type='text'>Cerating Firefox Extension</title><content type='html'>&lt;span style="font-size:100%;"&gt;Keen about Developing/building firefox extensions?.Well ! It's easy to develop extensions for the firefox.You need to have understanding of &lt;a href="https://developer.mozilla.org/En/XUL_Reference"&gt;&lt;acronym title="XML User Interface Language"&gt;XUL&lt;/acronym&gt;&lt;/a&gt; and Javascript.&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Basically, this POST will introduce you how to create your first firefox extension.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Extensions are packaged and distributed in ZIP files, with the &lt;/span&gt;&lt;code style="font-family: arial;"&gt;XPI&lt;/code&gt;&lt;span style="font-family:arial;"&gt; (&lt;/span&gt;&lt;em style="font-family: arial;"&gt;pronounced “zippy”&lt;/em&gt;&lt;span style="font-family:arial;"&gt;) file extension.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The basic structure of a XPI package is as follows.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;pre class="eval"&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;emptySidebar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;.xpi:&lt;br /&gt;    /&lt;a rel="internal" href="https://developer.mozilla.org/en/Install_Manifests"&gt;install.rdf&lt;/a&gt;         &lt;br /&gt;    /install.js&lt;br /&gt;    /chrome&lt;br /&gt;       |- &lt;/span&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;emptySidebar&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;.jar&lt;br /&gt;&lt;br /&gt;Folder Structure is as follows.&lt;br /&gt;&lt;/span&gt;emptySideBar&lt;br /&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;           /&lt;a rel="internal" href="https://developer.mozilla.org/en/Install_Manifests"&gt;install.rdf&lt;/a&gt;         &lt;br /&gt;    /install.js&lt;br /&gt;    /chrome&lt;br /&gt;        |- content&lt;br /&gt;        |    |-login.xul&lt;br /&gt;        |    |-helloworldOverlay.js&lt;br /&gt;        |    |-content.rdf&lt;br /&gt;        |- skin&lt;br /&gt;        |- locale&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;A folder and two files. &lt;span class="file"&gt;install.js&lt;/span&gt; was all you used to need for the installation, but now that the extension manager has changed (since Firefox 0.9), the &lt;span class="file"&gt;install.rdf&lt;/span&gt; is used instead.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Chrome &lt;/span&gt;&lt;span&gt;foleder contains &lt;/span&gt;&lt;/span&gt; another archived file, &lt;span class="file"&gt;emptyBar.jar&lt;/span&gt;.which has three folder.&lt;br /&gt;content - contains all XUL and related ,JavaScript files and content.rdf file.&lt;br /&gt;skin - contains all layout files like CSS and images used in the XUL files.&lt;br /&gt;locale - contains language specific information.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;Once this is done, you are ready to create launcher for your extension.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step1&lt;/span&gt;&lt;br /&gt;go to emptySideBar/chrome/ directory.&lt;br /&gt;&lt;span class="mcon"&gt;&lt;pre&gt;&lt;span style="font-family:Georgia,serif;"&gt;z&lt;/span&gt;ip -r emptySideBar.jar content/ skin/ /locale&lt;br /&gt;&lt;span class="mcon"&gt;&lt;pre&gt;cd ..&lt;br /&gt;zip emptySideBar.xpi install.* chrome/captain.jar&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Once xpi is created upload it to you server and call it from the firefox mozila.&lt;br /&gt;&lt;br /&gt;For more information &lt;a href="http://www.borngeek.com/firefox/toolbar-tutorial/"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-9098162808135625509?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://developer.mozilla.org/en/Extensions' title='Cerating Firefox Extension'/><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/9098162808135625509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=9098162808135625509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/9098162808135625509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/9098162808135625509'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/03/cerating-firefox-extension.html' title='Cerating Firefox Extension'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-7344147545340706460</id><published>2009-02-25T22:08:00.000-08:00</published><updated>2009-04-02T07:22:23.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST with PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP web services'/><category scheme='http://www.blogger.com/atom/ns#' term='REST Architecture'/><title type='text'>REST Architecture with PHP</title><content type='html'>ROA( Resource Oriented Architecture talks about a set of guidelines of implementation of a REST architecture.&lt;b&gt;REST &lt;/b&gt;stands for &lt;b&gt;Representational state transfer&lt;/b&gt;.REST architectures can be easily implemented in PHP and has wide popularity among the PHP community since it is based on CURD(CREATE, READ, UPDATE, DELETE) model.here are key REST principle mentioned below.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Give every “thing” an ID&lt;/li&gt;&lt;li&gt;Link things together&lt;/li&gt;&lt;li&gt;Use standard methods&lt;/li&gt;&lt;li&gt;Resources with multiple representations&lt;/li&gt;&lt;li&gt;Communicate statelessly&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;for more information on REST &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_example:_the_World_Wide_Web"&gt;click here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-7344147545340706460?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/7344147545340706460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=7344147545340706460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7344147545340706460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7344147545340706460'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/02/rset-architecture-with-php.html' title='REST Architecture with PHP'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-4659763916447294298</id><published>2009-01-29T22:23:00.000-08:00</published><updated>2009-03-23T05:09:54.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='configuring PHP with different options'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP intallation from source'/><category scheme='http://www.blogger.com/atom/ns#' term='compiling PHP'/><title type='text'>Confiuring php from source</title><content type='html'>There are few steps if you want to compile and configure php from the source code available on &lt;a href="http://www.php.net/downloads.php"&gt;php.net&lt;/a&gt; website.&lt;br /&gt;1.    Download the source code from the site.&lt;br /&gt;2.   unzip it to a directory of your choice [for eg. /home/uttam/].&lt;br /&gt;3.    go to your shell prompt.&lt;br /&gt;4.    run configure with the extension needed to support in php.[for eg. ./configure --with-mysql]&lt;br /&gt;       -    you may see this type of error while configuring your php.&lt;br /&gt;                       &lt;blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G3UqI-AOBBI/SYKnK65kyRI/AAAAAAAAAZw/whZpTig_JsU/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 179px; height: 135px;" src="http://4.bp.blogspot.com/_G3UqI-AOBBI/SYKnK65kyRI/AAAAAAAAAZw/whZpTig_JsU/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5296979917792397586" border="0" /&gt;&lt;/a&gt;configure: error: xml2-config not found. Please check your libxml2 installation.&lt;/blockquote&gt;          -  In this case install libxml2 by using sudo apt-get install libxml2 libxml2-dev&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5.  You will get a thank you message for using php.&lt;br /&gt;5.    run make&lt;br /&gt;6.    run make install using command sudo make install.here you will see the following info which tell you directory info of PHP .&lt;br /&gt;     Installing PHP CLI binary:        /usr/local/bin/&lt;br /&gt;    Installing PHP CLI man page:   /usr/local/man/man1/&lt;br /&gt;    Installing build environment:     /usr/local/lib/php/build/&lt;br /&gt;    Installing header files:               /usr/local/include/php/&lt;br /&gt;    Installing helper programs:       /usr/local/bin/&lt;br /&gt;&lt;br /&gt;7. By default PHP command will be loaded at  /usr/local/bin/php directory.you can use  /usr/local/bin/php -m to know options and extention available to use with php.&lt;br /&gt;&lt;br /&gt;8. Congratulation you have successfully installed PHP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-4659763916447294298?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/4659763916447294298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=4659763916447294298' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4659763916447294298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4659763916447294298'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2009/01/confiuring-php-from-source.html' title='Confiuring php from source'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_G3UqI-AOBBI/SYKnK65kyRI/AAAAAAAAAZw/whZpTig_JsU/s72-c/Screenshot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-748896201184915351</id><published>2008-12-17T23:21:00.000-08:00</published><updated>2008-12-18T01:19:08.311-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='ADODB'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>ADODB with PHP and oracle</title><content type='html'>Oracle is the popular commercial database which is being used with the PHP.There are vaious ways to connect to oracle database.&lt;a href="http://adodb.sourceforge.net/"&gt;ADODB library&lt;/a&gt; is one of the fastest way to connect php with the oracle database.It has Has multi-tier design. Simple high-level design for beginners, and also lower-level advanced Oracle functionality.ADODB provide very high speed databse connectivity with catching and fastest database abstaction.It also allow multiple prepare statement.&lt;br /&gt;&lt;br /&gt;An example to connect php with oracle using &lt;a href="http://adodb.sourceforge.net/"&gt;ADODB library&lt;/a&gt;  is as follows.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;pre&gt;include"/path/to/adodb.inc.php";&lt;br /&gt;$db = NewADOConnection("oci8");&lt;br /&gt;$db-&gt;Connect($tnsName, "scott", "tiger");&lt;br /&gt;&lt;br /&gt;$rs = $db-&gt;Execute("select * from emp where empno&gt;:emp order by empno",&lt;br /&gt;                array('emp' =&gt; 7900));&lt;br /&gt;while ($arr = $rs-&gt;FetchRow())&lt;br /&gt;{&lt;br /&gt;print_r($arr);&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;The Execute( ) function returns a recordset object, and you can retrieve the rows returned using $recordset-&gt;FetchRow( ).&lt;br /&gt;You can also query the database using the standard Microsoft ADO MoveNext( ) metaphor. The data array for the current row is stored in the &lt;i&gt;fields&lt;/i&gt; property of the recordset object, $rs. MoveNext( ) offers the highest performance among all the techniques for iterating through a recordset:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$rs = $db-&gt;Execute("select * from emp where empno&gt;:emp", array('emp' =&gt; 7900));&lt;br /&gt;while (!$rs-&gt;EOF) {&lt;br /&gt; print_r($rs-&gt;fields);&lt;br /&gt; $rs-&gt;MoveNext();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;For easy pagination support, we provide the SelectLimit function. The following will perform a select query, limiting it to 100 rows, starting from row 201 (row 1 being the 1st row): &lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;$offset = 200; $limitrows = 100;&lt;br /&gt;$rs = $db-&gt;SelectLimit('select * from table', $limitrows, $offset);&lt;/pre&gt;&lt;/blockquote&gt; &lt;h4&gt;&lt;b&gt;Caching&lt;/b&gt;&lt;/h4&gt; &lt;p&gt;You can define a database cache directory using $ADODB_CACHE_DIR, and cache the results of frequently used queries that rarely change. This is particularly useful for SQL with complex where clauses and group-by's and order-by's. It is also good for relieving heavily-loaded database servers.The following example will cache the following select statement for 7200 seconds &lt;/p&gt;&lt;pre&gt;$ADODB_CACHE_DIR = '/var/tmp';&lt;br /&gt;$rs = $db-&gt;CacheExecute(7200, "select names from allcountries order by 1");&lt;br /&gt;&lt;/pre&gt; &lt;span style="font-weight: bold;"&gt;Using Prepare statements&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;Prepare( ) is for compiling frequently used SQL statement for reuse. For example, suppose we have a large array which needs to be inserted into an Oracle database. The following will result in a massive speedup in query execution (at least 20-40%), as the SQL statement only needs to be compiled once:&lt;/p&gt; &lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-748896201184915351?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/748896201184915351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=748896201184915351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/748896201184915351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/748896201184915351'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/12/adodb-with-php-and-oracle.html' title='ADODB with PHP and oracle'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-7233002640517395530</id><published>2008-10-10T02:43:00.000-07:00</published><updated>2008-10-10T03:08:38.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='phpcamppune08'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>PHP Security</title><content type='html'>Now-a-days web security has been a major concern.During     development, when the code is being written, it is important to     consider illegitimate uses of your application. Often, the focus is on     making the application work as intended, and while this is necessary     to deliver a properly functioning application, it does nothing to help     make the application secure. fact that you are here is evidence that you care about     security,&lt;br /&gt;&lt;br /&gt;Since PHP is a growing language being used for the web development,It's very important to discuss about PHP security.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Input flaws&lt;/span&gt;&lt;br /&gt;most common &lt;em&gt;PHP security&lt;/em&gt; flaws is the unvalidated input error. User-provided data simply cannot be trusted and should be validated properly.&lt;br /&gt;&lt;br /&gt;register_globals = OFF. The &lt;tt&gt;register_globals&lt;/tt&gt; directive is disabled by default in PHP versions 4.2.0 and greater.Enabling register_globals may cause a security risk.&lt;br /&gt;A common example to explain the problem is as follows.&lt;br /&gt;this example that illustrates how &lt;tt&gt;register_globals&lt;/tt&gt; can be problematic is the following use of &lt;tt&gt;include&lt;/tt&gt; with a dynamic path: &lt;pre class="code"&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;With &lt;tt&gt;register_globals&lt;/tt&gt; enabled, this page can be requested with &lt;tt&gt;?path=http%3A%2F%2Fevil.example.org%2F%3F&lt;/tt&gt; in the query string in order to equate this example to the following:&lt;/p&gt; &lt;pre class="code"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Georgia,serif;"&gt;Avoid using $_REQUEST[] since as per GPC rule $_GET has higher priorities than $_POST, So $_POST variables may be overwritten.&lt;br /&gt;&lt;br /&gt;Always validate input data against maxlength in PHP.you can use array and for each to do this.&lt;br /&gt;&lt;pre class="code"&gt;50);&lt;br /&gt;foreach($max as $key=&gt;$val)&lt;br /&gt;{&lt;br /&gt;    if(strlen($_POST[$key])&gt;$val)&lt;br /&gt;    {&lt;br /&gt;            //display maxlength error&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-7233002640517395530?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/7233002640517395530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=7233002640517395530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7233002640517395530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7233002640517395530'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/10/php-security.html' title='PHP Security'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-7324720000634867691</id><published>2008-09-29T00:43:00.000-07:00</published><updated>2008-09-29T00:45:30.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>web usabilty</title><content type='html'>&lt;div class="entry"&gt;          &lt;div class="snap_preview"&gt;&lt;p&gt;Usability has it’s own importance in a website.Some dos and don’t s to achieve a good usability are as follows.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Do:&lt;/strong&gt; &lt;ul type="circle"&gt;&lt;li&gt; Use ALT tags for all graphics, especially navigation graphics.&lt;/li&gt;&lt;li&gt; Use black text on white background whenever possible for optimal legibility.&lt;/li&gt;&lt;li&gt; Use either plain-color backgrounds or extremely subtle background patterns.&lt;/li&gt;&lt;li&gt; Make sure text is in a printable color (not white).&lt;/li&gt;&lt;li&gt; Place navigation in a consistent location on each page of your website.&lt;/li&gt;&lt;li&gt; Use a familiar location for navigation bars.&lt;/li&gt;&lt;li&gt; Keep the design from scrolling horizontally.&lt;/li&gt;&lt;li&gt; Use one axis of symmetry for centered text on a page.&lt;/li&gt;&lt;li&gt; Encourage scrolling by splitting an image at the fold.&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Don’t:&lt;/strong&gt; &lt;ul type="circle"&gt;&lt;li&gt; Allow ALT tags to get clipped (especially an issue for small, fixed width         images).&lt;/li&gt;&lt;li&gt; Display static text in blue or underlined.&lt;/li&gt;&lt;li&gt; Use &lt;strong&gt;boldface&lt;/strong&gt; or ALL CAPS for long pieces of text. These slow down         reading.&lt;/li&gt;&lt;li&gt; Leave too much white space–reduces scannability.&lt;/li&gt;&lt;li&gt; Make the user scroll to find critical information, especially transaction         buttons and navigation links.&lt;/li&gt;&lt;li&gt; Use horizontal rules to separate chunks of content.&lt;/li&gt;&lt;li&gt; Alternate too frequently between centered text and left-aligned text. Most         text should be left-aligned.&lt;/li&gt;&lt;li&gt; Fix pages at larger than 800 x 600 pixels. Larger pages may force users         to scroll horizontally.&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;          &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-7324720000634867691?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/7324720000634867691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=7324720000634867691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7324720000634867691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/7324720000634867691'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/09/web-usabilty.html' title='web usabilty'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-8667621860400777171</id><published>2008-09-22T00:25:00.000-07:00</published><updated>2008-09-23T04:10:57.147-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpcamppune08'/><title type='text'>PHPCamp 2008 learning</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G3UqI-AOBBI/SNiN_XuaQGI/AAAAAAAAARo/VZkvFPcUYLc/s1600-h/girlzAskingQ.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 219px; height: 164px;" src="http://2.bp.blogspot.com/_G3UqI-AOBBI/SNiN_XuaQGI/AAAAAAAAARo/VZkvFPcUYLc/s320/girlzAskingQ.jpg" alt="" id="BLOGGER_PHOTO_ID_5249101485540261986" border="0" /&gt;&lt;/a&gt;This was the first PHP camp happening in india pune.I have just returned after attending un-organizing India’s biggest php camp.I learned a lots.I shared my knowledge of &lt;span style="font-weight: bold;"&gt;PHP security&lt;/span&gt; there.Overall I enjoyed this camp organized @ persistent system, was attended by over seven hundred interested intellectuals. Nice event, nice ppl..&lt;br /&gt;&lt;br /&gt;Actual I was in search of such kind of platform where we all can share our knowledge and our expertise.I think this type of camp should continue for the years ahead....&lt;br /&gt;want to download my presentation on PHP security ?? &lt;a href="http://www.slideshare.net/teamphp/php-security-presentation" target="__new"&gt;click here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-8667621860400777171?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/8667621860400777171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=8667621860400777171' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8667621860400777171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/8667621860400777171'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/09/phpcamp-2008-learning.html' title='PHPCamp 2008 learning'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_G3UqI-AOBBI/SNiN_XuaQGI/AAAAAAAAARo/VZkvFPcUYLc/s72-c/girlzAskingQ.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-5031230935737450654</id><published>2008-09-12T05:42:00.000-07:00</published><updated>2008-09-23T06:48:20.217-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>MYSQL String functions makes life easier</title><content type='html'>&lt;div class="entry"&gt;          &lt;div class="snap_preview"&gt; &lt;p align="justify"&gt;MYSQL strings function can make your life easier for you.You can use combination of string function to get the complex result needed in some project.String function in mysql helps us to extract what we want from a string and that can avoid lot of code.The common String functions available in MYSQL can be found on the link &lt;a href="http://dev.mysql.com/doc/refman/5.1/en/string-functions.html" title="String function MySql" target="_blank"&gt;http://dev.mysql.com/doc/refman/5.1/en/string-functions.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Use of MYSQL String function.&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;consider the following table which contains caseId and you have to extract maximum number at the last of caseId, those belong to id 1.&lt;br /&gt;&lt;/p&gt; &lt;table align="justify" width="390"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;caseId&lt;/td&gt; &lt;td&gt;id&lt;/td&gt; &lt;td&gt;Value&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/1&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;15&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/2&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;25&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/1&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;15&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/2&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/2&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;td&gt;12&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JET/2005-2006/3&lt;/td&gt; &lt;td&gt;1&lt;/td&gt; &lt;td&gt;5&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p align="justify"&gt; &lt;/p&gt; &lt;p align="justify"&gt;you can use the following query to get the result.&lt;/p&gt; &lt;p align="justify"&gt; &lt;/p&gt; &lt;p align="justify"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;blockquote&gt;SELECT max(substring(caseId,locate(”/”,caseId,locate(”/”,caseId)+1)+1)) as maxCaseId FROM `test` WHERE id=1&lt;/blockquote&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt; &lt;/p&gt;  &lt;p align="justify"&gt;The result of the query is as follows.&lt;br /&gt;&lt;/p&gt; &lt;table class="data" align="justify" width="103"&gt; &lt;thead&gt; &lt;th&gt;maxCaseId&lt;/th&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;3&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;&lt;br /&gt;&lt;p align="justify"&gt;This query work as follows.&lt;br /&gt;&lt;/p&gt;   &lt;p align="justify"&gt;inner locate function get’s first occurrence of “/” [let's 4].and outer locate function get first occurrence of “/” [let's 17] in the string starting from position 4+1=5.so finally in subString function will give all the string values after position 17+1=18.So by this we will have all numbers those belongs to id 1.now finally max function will get max number within all the numbers found by substring function.&lt;br /&gt;&lt;br /&gt;if you want to get the maximum integral value, you got to cast it to an integer - otherwise, on having a caseId value like JET/2005-2006/23, it would still return 3 as maximum &amp;amp; not 23. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;SELECT&lt;br /&gt;MAX(0 + SUBSTRING(caseId, LOCATE(’/', caseId, LOCATE(’/', caseId) + 1) + 1)) AS maxCaseId&lt;br /&gt;FROM `test` WHERE id = 1;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;SELECT&lt;br /&gt;MAX(0 + RIGHT(caseId, LOCATE(”/”, REVERSE(caseId)) - 1)) AS maxCaseId&lt;br /&gt;FROM `test` WHERE id = 1;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;even reversing strings can avoid looping of locate.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;SELECT MAX(RIGHT(caseId, LOCATE(”/”, REVERSE(caseId)) - 1)) AS maxCaseId FROM `test` WHERE id = 1&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;So This is just an example to explain uses of string functions available in MySql. There may be lot’s of other situation where you can use string function provided by mysql and get your work done rather than getting result by writing complex logic in programming.&lt;/div&gt;                &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-5031230935737450654?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/5031230935737450654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=5031230935737450654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/5031230935737450654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/5031230935737450654'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/09/mysql-string-functions-makes-life.html' title='MYSQL String functions makes life easier'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-4864888221612229451</id><published>2008-09-12T05:38:00.000-07:00</published><updated>2008-09-23T06:48:59.825-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>understanding JSON</title><content type='html'>&lt;p style="margin-bottom: 0pt;" mce_style="margin-bottom:0;"&gt;&lt;b&gt;JSON&lt;/b&gt; stands for JavaScript Object Notation.It's lightweight data interchange format.It is a text-based, human-readable format for representing object and other data structures and is mainly used to transmit such structured data over a network connection (in a process called serialization&lt;a href="http://en.wikipedia.org/wiki/Serialization" mce_href="http://en.wikipedia.org/wiki/Serialization"&gt;&lt;span style="text-decoration: none;" mce_style="text-decoration:none;"&gt;&lt;/span&gt;&lt;/a&gt;).It is based on subset of javascript.&lt;/p&gt; &lt;p style="margin-bottom: 0pt;" mce_style="margin-bottom:0;"&gt;JSON is a self-contained unambiguous data representation format, and since it carries no executable or algorithmic meaning it is inherently secure by itself. However security issues may arise if a program incorrectly processes JSON-formatted data as if it were something else. Since the JSON syntax is by design a subset of the Javascript syntax, most security concerns involve having a Javascript interpreter directly process JSON text as if it were Javascript source code.&lt;/p&gt; &lt;p style="margin-bottom: 0pt;" mce_style="margin-bottom:0;"&gt;The following example shows the JSON representation of an object that describes a employe. The object has string fields for first name and last name,company name,designation contains an object representing the person's address, and contains a list of phone numbers (an array).&lt;/p&gt; &lt;p style="margin-bottom: 0pt;" mce_style="margin-bottom:0;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt;&lt;code&gt;{&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;   "firstName": "Uttam",&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;   "lastName": "Kumar",&lt;/code&gt; &lt;code&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;   “companyName” :”magnet”,&lt;/code&gt; &lt;code&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;   “designation”:”Sr. web Developer”,&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;   "address": {&lt;/code&gt; &lt;code&gt;     &lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;     "streetAddress": "Patankar street",&lt;/code&gt; &lt;code&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;            "city": "Nsp(w)",&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;     &lt;code&gt;        "state": "MH",&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;    &lt;code&gt;        "postalCode":401203&lt;/code&gt; &lt;code&gt;    &lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;               },&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt; "phoneNumbers": [&lt;/code&gt; &lt;code&gt;"212 732-1234",&lt;/code&gt;&lt;code&gt;"646 123-4567"&lt;/code&gt;&lt;code&gt;]&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt; &lt;code&gt;}&lt;/code&gt;&lt;/pre&gt; &lt;p style="margin-bottom: 0pt;" mce_style="margin-bottom:0;"&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;Suppose the above text is contained in the JavaScript string variable &lt;/span&gt;&lt;code&gt;employee&lt;/code&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;. Since JSON is a subset of JavaScript's object literal notation, one can then recreate the object describing Uttam Kumar with a simple eval() function which is as follows&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;code&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Nimbus Mono L,monospace;"&gt;var emp = eval("(" + employee + ")");&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;  &lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;Now we can access firstName,city,phone number by the following. &lt;/span&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Nimbus Mono L,monospace;"&gt;emp.firstName //property of object&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Nimbus Mono L,monospace;"&gt;emp.address.city //sub property of object&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt; &lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt; &lt;pre&gt;&lt;code&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Nimbus Mono L,monospace;"&gt;emp.phoneNumbers[0]//array&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;pre&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt; &lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Nimbus Roman No9 L,serif;"&gt;similerly we can access all the values.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-4864888221612229451?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/4864888221612229451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=4864888221612229451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4864888221612229451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/4864888221612229451'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/09/understanding-json.html' title='understanding JSON'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9029335222948044166.post-3201280426455138220</id><published>2008-09-12T04:44:00.000-07:00</published><updated>2008-09-23T06:49:22.009-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Basic level Interview Questions - PHP</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Difference between session and cookies?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- 1. session stored at server while cookie get stored at client’s web browser.&lt;br /&gt;&lt;br /&gt;2. session are stored as an object on server side on the path specified in the php.in file for session_save path variable while cookies are passed as header and stored on client’s web browser as text file.&lt;br /&gt;&lt;br /&gt;3. session variables are exists only when session doesn’t expires while cookies[persistent not session] can be stored for future time also and can be used to handle user’s preference.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;what are encryption methods available in php and mysql?Difference between sha1 and md5?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- some encryption methods available in php are md5,sha1,encrypt,password.Difference between sha1 and md5 encryption is that sha1 take more space than md5 in terms of storing information in the database.Some encryption available in mySql are password,MD5,encrypt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is Ajax &amp;amp; how it works?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- AJAX stands for asynchronous javascript and xml.It’s asynchronous this script doesn’t wait for the response.Regardless of this it can make another request without waiting for the response.Fist of all it creates XMLHttpRequest object by which it makes a request.and when response comes back script handover it to another function which will check for the response readyStatus and returns the response.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Oops principles?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- Polymorphism [not supported in PHP]&lt;br /&gt;&lt;br /&gt;Encapsulation&lt;br /&gt;&lt;br /&gt;Abstraction&lt;br /&gt;&lt;br /&gt;Dynamic binding&lt;br /&gt;&lt;br /&gt;class and Object&lt;br /&gt;&lt;br /&gt;for more detail please refer http://in2.php.net/manual/en/language.oop5.php&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mysql Joins?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- I don’t have idea but know about types.Cross,Left,right,inner and outer join.&lt;br /&gt;&lt;br /&gt;Strings and array functions.array_walk,in_array?&lt;br /&gt;&lt;br /&gt;Ans:- check function list available on&lt;br /&gt;&lt;br /&gt;http://in2.php.net/manual/en/ref.array.php [for array]&lt;br /&gt;&lt;br /&gt;http://in2.php.net/manual-lookup.php?pattern=string〈=en [for strings function]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Difference between include,include_once,require,require_once?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- Unlike include(), require() will always read in the target file, even if the line it’s on never executes. If you want to conditionally include a file, use include(). The conditional statement won’t affect the require(). However, if the line on which the require() occurs is not executed, neither will any of the code in the target file be executed.include() may give warning and proceed further but require() will hault whenever warning/error faced in the script.include_once(),require_once() as name suggest can be used to include a file only one.[useful in case we include a class file]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How can we submit a form without a submit button?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- you can call a function in javascript onclick event of any form element/link and in the function you amy use document.formName.submit(); to submit the form&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the difference between mysql_fetch_object, mysql_fetch_rows and mysql_fetch_array?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ans:- mysql_fetch_object will return an object by which we can access the database fields records while mysql_fetch_aaray and mysql_fetch_rows return array of database records.mysql_fetch_row will not return associative array while mysql_array will return associative array too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is the difference between $message and $$message?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$message is used as a variable while $message can be used to assign a value as variable.for eg:&lt;br /&gt;&lt;br /&gt;$message=’uttam’;&lt;br /&gt;&lt;br /&gt;$message=’kumar’;&lt;br /&gt;&lt;br /&gt;in this case $kumar will give you value as ‘uttam’.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is meant by nl2br()?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Returns string with ‘&lt;br /&gt;’ inserted before all newlines(\n).&lt;br /&gt;&lt;br /&gt;$msg=”these are \n interview question”;&lt;br /&gt;&lt;br /&gt;$nl2brmsg=nl2br($msg);&lt;br /&gt;&lt;br /&gt;$nl2brmsg will return value as “these are&lt;br /&gt;interview question”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9029335222948044166-3201280426455138220?l=php-talk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://php-talk.blogspot.com/feeds/3201280426455138220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9029335222948044166&amp;postID=3201280426455138220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3201280426455138220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9029335222948044166/posts/default/3201280426455138220'/><link rel='alternate' type='text/html' href='http://php-talk.blogspot.com/2008/09/basic-level-interview-questions-php.html' title='Basic level Interview Questions - PHP'/><author><name>uttam</name><uri>http://www.blogger.com/profile/09115677481617728178</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_G3UqI-AOBBI/SMpZKJFLtEI/AAAAAAAAAOw/79pQZuvnhkQ/S220/meWithGogs1.jpg'/></author><thr:total>0</thr:total></entry></feed>
