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

<channel>
	<title>A.Niraj KumarAJAX</title>
	<atom:link href="http://www.anirajkumar.com/category/technology/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anirajkumar.com</link>
	<description>A PHP, Wordpress as CMS set up and customization Expert developer from India</description>
	<lastBuildDate>Wed, 08 Sep 2010 11:54:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Drupal Social Bookmarking Module</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/drupal-social-bookmarking-module/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/drupal-social-bookmarking-module/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[Drupal as Social Bookmark]]></category>
		<category><![CDATA[Drupal Developer india]]></category>
		<category><![CDATA[Drupal Theme Expert india]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/drupal-social-bookmarking-module/</guid>
		<description><![CDATA[The simple social bookmarking module for drupal allows you to add social bookmarking buttons for each pages in the configured blocks. How to install?. Download drupal social bookmarking module Install the &#8217;simple_bookmark&#8217; module and enable it. Go to blocks configure page and configure it, where you want to place the social bookmarking buttons, footer will [...]]]></description>
			<content:encoded><![CDATA[<p>The simple social bookmarking module for drupal allows you to add social bookmarking buttons for each pages in the configured blocks.<br />
How to install?.</p>
<p>Download drupal social bookmarking module<br />
Install the &#8217;simple_bookmark&#8217; module and enable it.<br />
Go to blocks configure page and configure it, where you want to place the social bookmarking buttons, footer will be the good place.<br />
Give [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/drupal-social-bookmarking-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Coding Conventions</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/mysql-coding-conventions/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/mysql-coding-conventions/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[Database administrator india]]></category>
		<category><![CDATA[MySql developer]]></category>
		<category><![CDATA[MySql expert india]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/mysql-coding-conventions/</guid>
		<description><![CDATA[Here are some useful tips to maintain the mysql and SQL coding standard. Always write queries in Capital Letters. Quote around table names and column names by using back tick (`) operator. Always use table names and column names in small letters. Use underscore (_) for table names and column names. Always fetch required fields [...]]]></description>
			<content:encoded><![CDATA[<p>Here are some useful tips to maintain the mysql and SQL coding standard.</p>
<p>Always write queries in Capital Letters.<br />
Quote around table names and column names by using back tick (`) operator.<br />
Always use table names and column names in small letters.<br />
Use underscore (_) for table names and column names.<br />
Always fetch required fields only, do not select  (*) [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/mysql-coding-conventions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popular Open Source CMS</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/popular-open-source-cms/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/popular-open-source-cms/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[Best CMS for my website]]></category>
		<category><![CDATA[CMS and PHP developer india]]></category>
		<category><![CDATA[CMS programmer india Wordpress developer]]></category>
		<category><![CDATA[Wordpress as CMS]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/popular-open-source-cms/</guid>
		<description><![CDATA[Here are a huge list of open source php based content management systems. XOOPS Mambo Joomla Drupal Yupi CMS Wolf CMS Website Baker Typolight Triton plum cms pligg cms phpwcms php-nuke php-fusion php micro CMS OpenRat CMS Limny Limeware Lemon CMS Jaws html-edit Guppy eliteCMS CMS Made Simple]]></description>
			<content:encoded><![CDATA[<p>Here are a huge list of open source php based content management systems.</p>
<p>XOOPS<br />
Mambo<br />
Joomla<br />
Drupal<br />
Yupi CMS<br />
Wolf CMS<br />
Website Baker<br />
Typolight<br />
Triton<br />
plum cms<br />
pligg cms<br />
phpwcms<br />
php-nuke<br />
php-fusion<br />
php micro CMS<br />
OpenRat CMS<br />
Limny<br />
Limeware<br />
Lemon CMS<br />
Jaws<br />
html-edit<br />
Guppy<br />
eliteCMS<br />
CMS Made Simple</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/popular-open-source-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popular Shopping Cart Scripts</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/popular-shopping-cart-scripts/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/popular-shopping-cart-scripts/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[best shopping carts]]></category>
		<category><![CDATA[How to shopping cart]]></category>
		<category><![CDATA[Shopping cart developer]]></category>
		<category><![CDATA[Shopping cart india]]></category>
		<category><![CDATA[top shopping carts]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/popular-shopping-cart-scripts/</guid>
		<description><![CDATA[Here are some of popular open source php based shopping (e-commerce) cart scripts. osCommerce Zen Cart Magento Ubercart with Drupal Opencart]]></description>
			<content:encoded><![CDATA[<p>Here are some of popular open source php based shopping (e-commerce) cart scripts.</p>
<p>osCommerce<br />
Zen Cart<br />
Magento<br />
Ubercart with Drupal<br />
Opencart</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/popular-shopping-cart-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced PHP Interview Questions</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/advanced-php-interview-questions/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/advanced-php-interview-questions/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[Advanced PHP Developer in India]]></category>
		<category><![CDATA[Advanced PHP Questions]]></category>
		<category><![CDATA[Best PHP Interview Questions]]></category>
		<category><![CDATA[How to do PHP coding]]></category>
		<category><![CDATA[How to learn PHP india]]></category>
		<category><![CDATA[PHP and MySql India]]></category>
		<category><![CDATA[PHP and MySql Questions]]></category>
		<category><![CDATA[PHP Developer India]]></category>
		<category><![CDATA[PHP Expert India]]></category>
		<category><![CDATA[PHP in India]]></category>
		<category><![CDATA[PHP interview Questions]]></category>
		<category><![CDATA[PHP Interviews Visakhapatnam]]></category>
		<category><![CDATA[PHP learning website]]></category>
		<category><![CDATA[PHP programmer]]></category>
		<category><![CDATA[PHP programming language]]></category>
		<category><![CDATA[PHP Questions]]></category>
		<category><![CDATA[PHP Script expert]]></category>
		<category><![CDATA[What is PHP?]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/advanced-php-interview-questions/</guid>
		<description><![CDATA[What&#8217;s PHP The PHP Hypertext Preprocessor is a programming language that allows web developers to create dynamic content that interacts with databases. PHP is basically used for developing web based software applications What Is a Session? A session is a logical object created by the PHP engine to allow you to preserve data across subsequent [...]]]></description>
			<content:encoded><![CDATA[<p><b>What&#8217;s PHP </b><br />
The PHP Hypertext Preprocessor is a programming language that allows web   developers to create dynamic content that interacts with databases. PHP   is basically used for developing web based software applications</p>
<p><b>What Is a Session? </b><br />
A session is a logical object created by the PHP engine to allow you to preserve data across subsequent HTTP requests.<br />
There is only one session object available to your PHP scripts at any   time. Data saved to the session by a script can be retrieved by the same   script or another script when requested from the same visitor.<br />
Sessions are commonly used to store temporary data to allow multiple PHP   pages to offer a complete functional transaction for the same visitor.</p>
<p><a name="more"></a><br />
<b>What is meant by PEAR in php? </b><br />
Answer1:<br />
PEAR is the next revolution in PHP. This repository is bringing higher   level programming to PHP. PEAR is a framework and distribution system   for reusable PHP components. It eases installation by bringing an   automated wizard, and packing the strength and experience of PHP users   into a nicely organised OOP library. PEAR also provides a command-line   interface that can be used to automatically install &#8220;packages&#8221; </p>
<p>Answer2:<br />
PEAR is short for &#8220;PHP Extension and Application Repository&#8221; and is   pronounced just like the fruit. The purpose of PEAR is to provide:<br />
A structured library of open-sourced code for PHP users<br />
A system for code distribution and package maintenance<br />
A standard style for code written in PHP<br />
The PHP Foundation Classes (PFC),<br />
The PHP Extension Community Library (PECL),<br />
A web site, mailing lists and download mirrors to support the PHP/PEAR community<br />
PEAR is a community-driven project with the PEAR Group as the governing   body. The project has been founded by Stig S. Bakken in 1999 and quite a   lot of people have joined the project since then. </p>
<div>How can we know the number of days between two given dates using PHP? </div>
<p>Simple arithmetic:<br />
$date1 = date(&#8216;Y-m-d&#8217;);<br />
$date2 = &#8217;2006-07-01&#8242;;<br />
$days = (strtotime() &#8211; strtotime()) / (60 * 60 * 24);<br />
echo &#8220;Number of days since &#8217;2006-07-01&#8242;: $days&#8221;;</p>
<p><b>How can we repair a MySQL table? </b><br />
The syntex for repairing a mysql table is:</p>
<p>REPAIR TABLE tablename<br />
REPAIR TABLE tablename QUICK<br />
REPAIR TABLE tablename EXTENDED</p>
<p>This command will repair the table specified.<br />
If QUICK is given, MySQL will do a repair of only the index tree.<br />
If EXTENDED is given, it will create index row by row.<br />
<b>What is the difference between $message and $$message? </b><br />
Anwser 1:<br />
$message is a simple variable whereas $$message is a reference variable. Example:<br />
$user = &#8216;bob&#8217;<br />
is equivalent to<br />
$holder = &#8216;user&#8217;;<br />
$$holder = &#8216;bob&#8217;;<br />
Anwser 2:<br />
They are both variables. But $message is a variable with a fixed name.   $$message is a variable who&#8217;s name is stored in $message. For example,   if $message contains &#8220;var&#8221;, $$message is the same as $var.</p>
<p><b>What Is a Persistent Cookie? </b><br />
A persistent cookie is a cookie which is stored in a cookie file   permanently on the browser&#8217;s computer. By default, cookies are created   as temporary cookies which stored only in the browser&#8217;s memory. When the   browser is closed, temporary cookies will be erased. You should decide   when to use temporary cookies and when to use persistent cookies based   on their differences:</p>
<ul type="disc">
<li>Temporary cookies can not be      used for tracking long-term information.</li>
<li>Persistent cookies can be      used for tracking long-term information.</li>
<li>Temporary cookies are safer      because no programs other than the browser can access them. </li>
<li>Persistent cookies are less      secure because users can open cookie files see the cookie values.</li>
</ul>
<p><b>What does a special set of tags do in PHP? </b><br />
What does a special set of tags  do in PHP?<br />
The output is displayed directly to the browser.</p>
<p><b>How do you define a constant? </b><br />
Via define() directive, like define (&#8220;MYCONSTANT&#8221;, 100);</p>
<p><b>How To Write  the FORM Tag Correctly for Uploading Files? </b></p>
<p>When users  clicks the submit button, files specified in the &lt;INPUT  TYPE=FILE&#8230;&gt; will be transferred from the browser to the Web  server. This transferring (uploading) process is controlled by a  properly written &lt;FORM&#8230;&gt; tag as:</p>
<p> &lt;FORM  ACTION=receiving.php METHOD=post ENCTYPE=multipart/form-data&gt;</p>
<p>Note that you  must specify METHOD as &quot;post&quot; and ENCTYPE as  &quot;multipart/form-data&quot; in order for the uploading process to  work. The following PHP code, called logo_upload.php, shows you a  complete FORM tag for file uploading:</p>
<p>&lt;?php</p>
<p> print(&quot;&lt;html&gt;&lt;form  action=processing_uploaded_files.php&quot;</p>
<p> .&quot;  method=post enctype=multipart/form-data&gt;\n&quot;);</p>
<p> print(&quot;Please  submit an image file a Web site logo for&quot;</p>
<p> .&quot;  fyicenter.com:&lt;br&gt;\n&quot;);</p>
<p> print(&quot;&lt;input  type=file name=fyicenter_logo&gt;&lt;br&gt;\n&quot;);</p>
<p> print(&quot;&lt;input  type=submit&gt;\n&quot;);</p>
<p> print(&quot;&lt;/form&gt;&lt;/html&gt;\n&quot;);</p>
<p>?&gt;</p>
<p><b>What are the  differences between require and include, include_once? </b></p>
<p>Anwser  1:<br />
require_once() and include_once() are both the functions to  include and evaluate the specified file only once. If the specified  file is included previous to the present call occurrence, it will not  be done again.</p>
<p>But require() and include() will do it as many  times they are asked to do. </p>
<p>Anwser 2:<br />
The include_once()  statement includes and evaluates the specified file during the  execution of the script. This is a behavior similar to the include()  statement, with the only difference being that if the code from a  file has already been included, it will not be included again. The  major difference between include() and require() is that in failure  include() produces a warning message whereas require() produces a  fatal errors. </p>
<p>Anwser 3:<br />
All three are used to an include  file into the current page.<br />
If the file is not present, require(),  calls a fatal error, while in include() does not.<br />
The  include_once() statement includes and evaluates the specified file  during the execution of the script. This is a behavior similar to the  include() statement, with the only difference being that if the code  from a file has already been included, it will not be included again.  It des not call a fatal error if file not exists. require_once() does  the same as include_once(), but it calls a fatal error if file not  exists. </p>
<p>Anwser 4:<br />
File will not be included more than  once. If we want to include a file once only and further calling of  the file will be ignored then we have to use the PHP function  include_once(). This will prevent problems with function  redefinitions, variable value reassignments, etc. </p>
<p><b>What is meant  by urlencode and urldecode? </b></p>
<p>Anwser  1:<br />
urlencode() returns the URL encoded version of the given  string. URL coding converts special characters into % signs followed  by two hex digits. For example: urlencode(&quot;10.00%&quot;) will  return &quot;10%2E00%25&quot;. URL encoded strings are safe to be  used as part of URLs.<br />
urldecode() returns the URL decoded version  of the given string. </p>
<p>Anwser 2:<br />
string urlencode(str) &#8211;  Returns the URL encoded version of the input string. String values to  be used in URL query string need to be URL encoded. In the URL  encoded version:</p>
<p>Alphanumeric characters are maintained as  is.<br />
Space characters are converted to &quot;+&quot;  characters.<br />
Other non-alphanumeric characters are converted &quot;%&quot;  followed by two hex digits representing the converted  character.</p>
<p>string urldecode(str) &#8211; Returns the original string  of the input URL encoded string.</p>
<p>For example:</p>
<p>$discount  =&quot;10.00%&quot;;<br />
$url =  &quot;http://domain.com/submit.php?disc=&quot;.urlencode($discount);<br />
echo  $url;</p>
<p>You will get  &quot;http://domain.com/submit.php?disc=10%2E00%25&quot;. </p>
<p><b>How To Get  the Uploaded File Information in the Receiving Script? </b></p>
<p>Once the Web  server received the uploaded file, it will call the PHP script  specified in the form action attribute to process them. This  receiving PHP script can get the uploaded file information through  the predefined array called $_FILES. Uploaded file information is  organized in $_FILES as a two-dimensional array as:</p>
<p><UL><br />
<LI></p>
<p>$_FILES[$fieldName]['name']  	- The Original file name on the browser system.</p>
<p><LI></p>
<p>$_FILES[$fieldName]['type'] &#8211; The  	file type determined by the browser.</p>
<p><LI></p>
<p>$_FILES[$fieldName]['size'] &#8211; The  	Number of bytes of the file content.</p>
<p><LI></p>
<p>$_FILES[$fieldName]['tmp_name'] &#8211;  	The temporary filename of the file in which the uploaded file was  	stored on the server.</p>
<p><LI></p>
<p>$_FILES[$fieldName]['error'] &#8211;  	The error code associated with this file upload.</p>
<p></UL></p>
<p>The $fieldName  is the name used in the &lt;INPUT TYPE=FILE, NAME=fieldName&gt;</p>
<p><b>What is the  difference between mysql_fetch_object and mysql_fetch_array? </b></p>
<p>MySQL fetch  object will collect first single matching record where  mysql_fetch_array will collect all matching records from the table in  an array </p>
<p><b>How can I  execute a PHP script using command line? </b></p>
<p>Just run the PHP  CLI (Command Line Interface) program and provide the PHP script file  name as the command line argument. For example, &quot;php  myScript.php&quot;, assuming &quot;php&quot; is the command to invoke  the CLI program.<br />
Be aware that if your PHP script was written for  the Web CGI interface, it may not execute properly in command line  environment. </p>
<p><b>I am trying  to assign a variable the value of 0123, but it keeps coming up with a  different number, what&#8217;s the problem? </b></p>
<p>PHP Interpreter  treats numbers beginning with 0 as octal. Look at the similar PHP  interview questions for more numeric problems</p>
<p><b>Would I use  print &quot;$a dollars&quot; or &quot;{$a} dollars&quot; to print out  the amount of dollars in this example? </b></p>
<p>In this example  it wouldn&#8217;t matter, since the variable is all by itself, but if you  were to print something like &quot;{$a},000,000 mln dollars&quot;,  then you definitely need to use the braces. </p>
<p><b>What are the  different tables present in MySQL? Which type of table is generated  when we are creating a table in the following syntax: create table  employee(eno int(2),ename varchar(10))? </b></p>
<p>Total 5 types of  tables we can create<br />
1. MyISAM<br />
2. Heap<br />
3. Merge<br />
4. INNO  DB<br />
5. ISAM<br />
MyISAM is the default storage engine as of MySQL  3.23. When you fire the above create query MySQL will create a MyISAM  table. </p>
<p><b>How To Create  a Table? </b></p>
<p>If you want to  create a table, you can run the CREATE TABLE statement as shown in  the following sample script: </p>
<p>&lt;?php<br />
include  &quot;mysql_connection.php&quot;;</p>
<p>$sql = &quot;CREATE TABLE  fyi_links (&quot;<br />
. &quot; id INTEGER NOT NULL&quot;<br />
. &quot;,  url VARCHAR(80) NOT NULL&quot;<br />
. &quot;, notes VARCHAR(1024)&quot;<br />
.  &quot;, counts INTEGER&quot;<br />
. &quot;, time TIMESTAMP DEFAULT  sysdate()&quot;<br />
. &quot;)&quot;;<br />
if (mysql_query($sql, $con))  {<br />
print(&quot;Table fyi_links created.\n&quot;);<br />
} else  {<br />
print(&quot;Table creation failed.\n&quot;);<br />
}</p>
<p>mysql_close($con);<br />
?&gt;</p>
<p>Remember that mysql_query() returns TRUE/FALSE on  CREATE statements. If you run this script, you will get something  like this:<br />
Table fyi_links created. </p>
<p><b>How can we  encrypt the username and password using PHP? </b></p>
<p>Answer1<br />
You  can encrypt a password with the following Mysql&gt;SET  PASSWORD=PASSWORD(&quot;Password&quot;); </p>
<p>Answer2<br />
You can  use the MySQL PASSWORD() function to encrypt username and password.  For example,<br />
INSERT into user (password, &#8230;) VALUES  (PASSWORD($password&rdquo;)), &#8230;); </p>
<p><b>How do you  pass a variable by value? </b></p>
<p>Just like in  C++, put an ampersand in front of it, like $a = &amp;$b </p>
<p><b>WHAT IS THE  FUNCTIONALITY OF THE FUNCTIONS STRSTR() AND STRISTR()? </b></p>
<p>string strstr (  string haystack, string needle ) returns part of haystack string from  the first occurrence of needle to the end of haystack. This function  is case-sensitive. </p>
<p>stristr() is idential to strstr() except  that it is case insensitive. </p>
<p><b>When are you  supposed to use endif to end the conditional statement? </b></p>
<p>When the  original if was followed by : and then the code block without braces. </p>
<p><b>How can we  send mail using JavaScript? </b></p>
<p>No. There is no  way to send emails directly using JavaScript. </p>
<p>But you can use  JavaScript to execute a client side email program send the email  using the &quot;mailto&quot; code. Here is an example: </p>
<p>function  myfunction(form)<br />
{<br />
tdata=document.myform.tbox1.value;<br />
location=&quot;mailto:mailid@domain.com?subject=&#8230;&quot;;<br />
return  true;<br />
}</p>
<p><b>What is the  functionality of the function strstr and stristr? </b></p>
<p>strstr() returns  part of a given string from the first occurrence of a given substring  to the end of the string. For example: strstr(&quot;user@example.com&quot;,&quot;@&quot;)  will return &quot;@example.com&quot;.<br />
stristr() is idential to  strstr() except that it is case insensitive. </p>
<p><b>What is the  difference between ereg_replace() and eregi_replace()? </b></p>
<p>eregi_replace()  function is identical to ereg_replace() except that it ignores case  distinction when matching alphabetic characters. </p>
<p><b>How do I find  out the number of parameters passed into function9. ? </b></p>
<p>func_num_args()  function returns the number of parameters passed in. </p>
<p><b>What is the  purpose of the following files having extensions: frm, myd, and myi?  What these files contain? </b></p>
<p>In MySQL, the  default table type is MyISAM.<br />
Each MyISAM table is stored on disk  in three files. The files have names that begin with the table name  and have an extension to indicate the file type.</p>
<p>The &#8216;.frm&#8217;  file stores the table definition.<br />
The data file has a &#8216;.MYD&#8217;  (MYData) extension.<br />
The index file has a &#8216;.MYI&#8217; (MYIndex)  extension,</p>
<p><b>I</b><b>f the  variable $a is equal to 5 and variable $b is equal to character a,  what&#8217;s the value of $$b? </b></p>
<p>100, it&#8217;s a  reference to existing variable. </p>
</p>
<p><b>Write a query  for the following question</b></p>
<p>The table  tbl_sites contains the following  data:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Userid  sitename country<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
1  sureshbabu indian<br />
2 PHPprogrammer andhra<br />
3 PHP.net usa<br />
4  PHPtalk.com germany<br />
5 MySQL.com usa<br />
6 sureshbabu canada<br />
7  PHPbuddy.com pakistan<br />
8. PHPtalk.com austria<br />
9. PHPfreaks.com  sourthafrica<br />
10. PHPsupport.net russia<br />
11. sureshbabu  australia<br />
12. sureshbabu nepal<br />
13. PHPtalk.com italy</p>
<p>Write  a select query that will be displayed the duplicated site name and  how many times it is duplicated? … </p>
<p>SELECT sitename,  COUNT(*) AS NumOccurrences<br />
FROM tbl_sites<br />
GROUP BY sitename  HAVING COUNT(*) &gt; 1</p>
<p><b>How To  Protect Special Characters in Query String? </b></p>
<p>If you want to  include special characters like spaces in the query string, you need  to protect them by applying the urlencode() translation function. The  script below shows how to use  urlencode():</p>
<p>&lt;?php<br />
print(&quot;&lt;html&gt;&quot;);<br />
print(&quot;&lt;p&gt;Please  click the links below&quot;<br />
.&quot; to submit comments about  FYICenter.com:&lt;/p&gt;&quot;);<br />
$comment = &#8216;I want to say: &quot;It\&#8217;s  a good site! :-&gt;&quot;&#8217;;<br />
$comment =  urlencode($comment);<br />
print(&quot;&lt;p&gt;&quot;<br />
.&quot;&lt;a  href=\&quot;processing_forms.php?name=Guest&amp;comment=$comment\&quot;&gt;&quot;<br />
.&quot;It&#8217;s  an excellent site!&lt;/a&gt;&lt;/p&gt;&quot;);<br />
$comment = &#8216;This  visitor said: &quot;It\&#8217;s an average site! <img src='http://www.anirajkumar.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> &quot;&#8217;;<br />
$comment =  urlencode($comment);<br />
print(&quot;&lt;p&gt;&quot;<br />
.&#8217;&lt;a  href=&quot;processing_forms.php?&#8217;.$comment.&#8217;&quot;&gt;&#8217;<br />
.&quot;It&#8217;s  an average site.&lt;/a&gt;&lt;/p&gt;&quot;);<br />
print(&quot;&lt;/html&gt;&quot;);<br />
?&gt; </p>
<p><b>Are objects  passed by value or by reference? </b></p>
<p>Everything is  passed by value. </p>
<p><b>What are the  differences between DROP a table and TRUNCATE a table? </b></p>
<p>DROP TABLE  table_name &#8211; This will delete the table and its data.</p>
<p>TRUNCATE  TABLE table_name &#8211; This will delete the data of the table, but not  the table definition.</p>
<p><b>What are the  differences between GET and POST methods in form submitting, give the  case where we can use GET and we can use POST methods? </b></p>
<p>Anwser 1:</p>
<p>When  we submit a form, which has the GET method it displays pair of  name/value used in the form at the address bar of the browser  preceded by url. Post method doesn&#8217;t display these values. </p>
<p>Anwser  2:</p>
<p>When you want to send short or small data, not containing  ASCII characters, then you can use GET&rdquo; Method. But for long data  sending, say more then 100 character you can use POST method. </p>
<p>Once  most important difference is when you are sending the form with GET  method. You can see the output which you are sending in the address  bar. Whereas if you send the form with POST&rdquo; method then user can  not see that information. </p>
<p>Anwser 3:</p>
<p>What are &quot;GET&quot;  and &quot;POST&quot;?</p>
<p>GET and POST are methods used to send  data to the server: With the GET method, the browser appends the data  onto the URL. With the Post method, the data is sent as &quot;standard  input.&quot;</p>
<p>Major Difference</p>
<p>In simple words, in POST  method data is sent by standard input (nothing shown in URL when  posting while in GET method data is sent through query string.</p>
<p>Ex:  Assume we are logging in with username and password.</p>
<p>GET: we  are submitting a form to login.php, when we do submit or similar  action, values are sent through visible query string (notice  ./login.php?username=&#8230;&amp;password=&#8230; as URL when executing the  script login.php) and is retrieved by login.php by $_GET['username']  and $_GET['password'].</p>
<p>POST: we are submitting a form to  login.php, when we do submit or similar action, values are sent  through invisible standard input (notice ./login.php) and is  retrieved by login.php by $_POST['username'] and  $_POST['password'].</p>
<p>POST is assumed more secure and we can  send lot more data than that of GET method is limited (they say  Internet Explorer can take care of maximum 2083 character as a query  string). </p>
<p>Anwser 4:</p>
<p>In the get method the data made  available to the action page ( where data is received ) by the URL so  data can be seen in the address bar. Not advisable if you are sending  login info like password etc. In the post method the data will be  available as data blocks and not as query string in case of get  method. </p>
<p>Anwser 5:</p>
<p>When we submit a form, which has the  GET method it pass value in the form of query string (set of  name/value pair) and display along with URL. With GET we can a small  data submit from the form (a set of 255 character) whereas Post  method doesn&#8217;t display value with URL. It passes value in the form of  Object and we can submit large data from the form. </p>
<p>Anwser  6:</p>
<p>On the server side, the main difference between GET and  POST is where the submitted is stored. The $_GET array stores data  submitted by the GET method. The $_POST array stores data submitted  by the POST method.<br />
On the browser side, the difference is that  data submitted by the GET method will be displayed in the browser&#8217;s  address field. Data submitted by the POST method will not be  displayed anywhere on the browser.<br />
GET method is mostly used for  submitting a small amount and less sensitive data. POST method is  mostly used for submitting a large amount or sensitive data. </p>
</p>
<p>PART@  2</p>
<p><b>How do you  call a constructor for a parent class? </b></p>
<p>parent::constructor($value) </p>
<p><b>WHAT ARE THE  DIFFERENT TYPES OF ERRORS IN PHP? </b></p>
<p>Here are three  basic types of runtime errors in PHP:</p>
<p>1. Notices: These are  trivial, non-critical errors that PHP encounters while executing a  script &#8211; for example, accessing a variable that has not yet been  defined. By default, such errors are not displayed to the user at all  &#8211; although you can change this default behavior. </p>
<p>2. Warnings:  These are more serious errors &#8211; for example, attempting to include()  a file which does not exist. By default, these errors are displayed  to the user, but they do not result in script termination. </p>
<p>3.  Fatal errors: These are critical errors &#8211; for example, instantiating  an object of a non-existent class, or calling a non-existent  function. These errors cause the immediate termination of the script,  and PHP&#8217;s default behavior is to display them to the user when they  take place. </p>
<p>Internally, these variations are represented by  twelve different error types </p>
<p><b>What&#8217;s the  special meaning of __sleep and __wakeup? </b></p>
<p>__sleep returns  the array of all the variables than need to be saved, while __wakeup  retrieves them. </p>
<p><b>How can we  submit a form without a submit button? </b></p>
<p>If you don&#8217;t  want to use the Submit button to submit a form, you can use normal  hyper links to submit a form. But you need to use some JavaScript  code in the URL of the link. For example: </p>
<p>&lt;a  href=&quot;javascript: document.myform.submit();&quot;&gt;Submit  Me&lt;/a&gt; </p>
<p><b>Why doesn&#8217;t  the following code print the newline properly? &lt;?php $str =  &lsquo;Hello, there.\nHow are you?\nThanks for visiting fyicenter&#8217;;  print $str; ?&gt; </b></p>
<p>Because inside  the single quotes the \n character is not interpreted as newline,  just as a sequence of two characters &#8211; \ and n. </p>
<p><b>Would you  initialize your strings with single quotes or double quotes? </b></p>
<p>Since the data  inside the single-quoted string is not parsed for variable  substitution, it&#8217;s always a better idea speed-wise to initialize a  string with single quotes, unless you specifically need variable  substitution. </p>
<p><b>How can we  extract string &#8216;abc.com &#8216; from a string http://info@abc.com using  regular expression of php? </b></p>
<p>We  can use the preg_match() function with &quot;/.*@(.*)$/&quot; as </p>
<p>the  regular expression pattern. For example: </p>
<p>preg_match(&quot;/.*@(.*)$/&quot;,&quot;http://info@abc.com&quot;,$data);</p>
<p>echo  $data[1];</p>
<p><b>What is the  difference between the functions unlink and unset? </b></p>
<p>unlink() is a  function for file system handling. It will simply delete the file in  context. </p>
<p>unset() is a function for variable management. It  will make a variable undefined. </p>
<p><b>How come the  code works, but doesn&#8217;t for two-dimensional array of mine? </b></p>
<p>Any time you  have an array with more than one dimension, complex parsing syntax is  required. print &quot;Contents: {$arr[1][2]}&quot; would&#8217;ve worked. </p>
<p><b>How can we  register the variables into a session? </b></p>
<p>session_register($session_var); </p>
<p>$_SESSION['var'] = &#8216;value&#8217;;</p>
<p><b>What is the  difference between characters \023 and \x23? </b></p>
<p>The first one is  octal 23, the second is hex 23. </p>
<p><b>With a  heredoc syntax, do I get variable substitution inside the heredoc  contents? </b></p>
<p>Yes. </p>
<p><b>How can we  submit form without a submit button? </b></p>
<p>We can use a  simple JavaScript code linked to an event trigger of any form field.  In the JavaScript code, we can call the document.form.submit()  function to submit the form. For example: &lt;input type=button  value=&quot;Save&quot; onClick=&quot;document.form.submit()&quot;&gt; </p>
<p><b>How can we  create a database using PHP and mysql? </b></p>
<p>We can create  MySQL database with the use of mysql_create_db($databaseName) to  create a database.</p>
<p><b>How many ways  we can retrieve the date in result set of mysql using php? </b></p>
<p>As individual  objects so single record or as a set or arrays. </p>
<p><b>Can we use  include (&quot;abc.php&quot;) two times in a php page &quot;makeit.php&quot;? </b></p>
<p>Yes. </p>
<p><b>For printing  out strings, there are echo, print and printf. Explain the  differences. </b></p>
<p>echo is the most  primitive of them, and just outputs the contents following the  construct to the screen. print is also a construct (so parentheses  are optional when calling it), but it returns TRUE on successful  output and FALSE if it was unable to print out the string. However,  you can pass multiple parameters to echo, like: </p>
<p>&lt;?php echo  &#8216;Welcome &#8216;, &#8216;to&#8217;, &#8216; &#8216;, &#8216;fyicenter!&#8217;; ?&gt; </p>
<p>and it will output  the string &quot;Welcome to fyicenter!&quot; print does not take  multiple parameters. It is also generally argued that echo is faster,  but usually the speed advantage is negligible, and might not be there  for future versions of PHP. printf is a function, not a construct,  and allows such advantages as formatted output, but it&#8217;s the  slowest way to print out data out of echo, print and printf. </p>
<p><b>I am writing  an application in PHP that outputs a printable version of driving  directions. It contains some long sentences, and I am a neat freak,  and would like to make sure that no line exceeds 50 characters. How  do I accomplish that with PHP? </b></p>
<p>On large strings  that need to be formatted according to some length specifications,  use wordwrap() or chunk_split(). </p>
<p><b>What&#8217;s the  output of the ucwords function in this example? </b></p>
<p>$formatted =  ucwords(&quot;FYICENTER IS COLLECTION OF INTERVIEW QUESTIONS&quot;);<br />
print  $formatted;<br />
What will be printed is FYICENTER IS COLLECTION OF  INTERVIEW QUESTIONS.<br />
ucwords() makes every first letter of every  word capital, but it does not lower-case anything else. To avoid  this, and get a properly formatted string, it&#8217;s worth using  strtolower() first. </p>
</p>
<p><b>What&#8217;s the  difference between htmlentities() and htmlspecialchars()? </b></p>
<p>htmlspecialchars  only takes care of &lt;, &gt;, single quote &lsquo;, double quote &quot;  and ampersand. htmlentities translates all occurrences of character  sequences that have different meaning in HTML. </p>
<p><b>How can we  extract string &quot;abc.com&quot; from a string  &quot;mailto:info@abc.com?subject=Feedback&quot; using regular  expression of PHP? </b></p>
<p>$text =  &quot;mailto:info@abc.com?subject=Feedback&quot;;<br />
preg_match(&#8216;|.*@([^?]*)|&#8217;,  $text, $output);<br />
echo $output[1];</p>
<p>Note that the second  index of $output, $output[1], gives the match, not the first one,  $output[0]. </p>
<p><b>So if md5()  generates the most secure hash, why would you ever use the less  secure crc32() and sha1()? </b></p>
<p>Crypto usage in  PHP is simple, but that doesn&#8217;t mean it&#8217;s free. First off,  depending on the data that you&#8217;re encrypting, you might have  reasons to store a 32-bit value in the database instead of the  160-bit value to save on space. Second, the more secure the crypto  is, the longer is the computation time to deliver the hash value. A  high volume site might be significantly slowed down, if frequent  md5() generation is required. </p>
<p><b>How can we  destroy the session, how can we unset the variable of a session? </b></p>
<p>session_unregister()  &#8211; Unregister a global variable from the current  session<br />
session_unset() &#8211; Free all session variables </p>
<p><b>What are the  different functions in sorting an array? </b></p>
<p>Sorting  functions in  PHP:<br />
asort()<br />
arsort()<br />
ksort()<br />
krsort()<br />
uksort()<br />
sort()<br />
natsort()<br />
rsort() </p>
<p><b>How can we  know the count/number of elements of an array? </b></p>
<p>2 ways:<br />
a)  sizeof($array) &#8211; This function is an alias of count()<br />
b)  count($urarray) &#8211; This function returns the number of elements in an  array.<br />
Interestingly if you just pass a simple var instead of an  array, count() will return 1. </p>
<p><b>How many ways  we can pass the variable through the navigation between the pages? </b></p>
<p>At least 3 ways: </p>
<p>1. Put the variable into session in the first page, and get  it back from session in the next page.<br />
2. Put the variable into  cookie in the first page, and get it back from the cookie in the next  page.<br />
3. Put the variable into a hidden form field, and get it  back from the form in the next page. </p>
<p><b>What is the  maximum length of a table name, a database name, or a field name in  MySQL? </b></p>
<p>Database name:  64 characters<br />
Table name: 64 characters<br />
Column name: 64  characters</p>
<p><b>How many  values can the SET function of MySQL take? </b></p>
<p>MySQL SET  function can take zero or more values, but at the maximum it can take  64 values. </p>
<p><b>What are the  other commands to know the structure of a table using MySQL commands  except EXPLAIN command? </b></p>
<p>DESCRIBE  table_name; </p>
<p><b>How can we  find the number of rows in a table using MySQL?</b></p>
<p>Use this for  MySQL</p>
<p>SELECT COUNT(*) FROM table_name;</p>
<p><b>What&#8217;s the  difference between md5(), crc32() and sha1() crypto on PHP? </b></p>
<p>The major  difference is the length of the hash generated. CRC32 is, evidently,  32 bits, while sha1() returns a 128 bit value, and md5() returns a  160 bit value. This is important when avoiding collisions. </p>
<p><b>How can we  find the number of rows in a result set using PHP? </b></p>
<p>Here is how can  you find the number of rows in a result set in PHP:</p>
<p>$result =  mysql_query($any_valid_sql, $database_link);<br />
$num_rows =  mysql_num_rows($result);<br />
echo &quot;$num_rows rows found&quot;;</p>
<p><b>How many ways  we can we find the current date using MySQL? </b></p>
<p>SELECT  CURDATE();<br />
SELECT CURRENT_DATE();<br />
SELECT CURTIME();<br />
SELECT  CURRENT_TIME()</p>
<p><b>Give the  syntax of GRANT commands? </b></p>
<p>The generic  syntax for GRANT is as following</p>
<p>GRANT [rights] on [database]  TO [username@hostname] IDENTIFIED BY [password]</p>
<p>Now rights can  be:<br />
a) ALL privilages<br />
b) Combination of CREATE, DROP, SELECT,  INSERT, UPDATE and DELETE etc.</p>
<p>We can grant rights on all  databse by usingh *.* or some specific database by database.* or a  specific table by database.table_name. </p>
<p><b>Give the  syntax of REVOKE commands? </b></p>
<p>The generic  syntax for revoke is as following</p>
<p>REVOKE [rights] on  [database] FROM [username@hostname]</p>
<p>Now rights can be:<br />
a)  ALL privilages<br />
b) Combination of CREATE, DROP, SELECT, INSERT,  UPDATE and DELETE etc.</p>
<p>We can grant rights on all databse by  usingh *.* or some specific database by database.* or a specific  table by database.table_name. </p>
<p><b>Answer the  questions with the following assumption </b></p>
<p>The structure of  table view buyers is as follows: </p>
<p>+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</p>
<p>|  Field       | Type        | Null | Key | Default | Extra          |</p>
<p>+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</p>
<p>|  user_pri_id | int(15)     |      | PRI | NULL    | auto_increment |</p>
<p>|  userid      | varchar(10) | YES  |     | NULL    |                |</p>
<p>+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</p>
<p>The value of  user_pri_id of the last row is 2345. What will happen in the  following conditions? </p>
<p>Condition 1:  Delete all the rows and insert another row. What is the starting  value for this auto incremented field user_pri_id? </p>
<p>Condition 2:  Delete the last row (having the field value 2345) and insert another  row. What is the value for this auto incremented field user_pri_id? </p>
<p>In both  conditions, the value of this auto incremented field user_pri_id is  2346. </p>
<p><b>What is the  difference between CHAR and VARCHAR data types? </b></p>
<p>CHAR is a fixed  length data type. CHAR(n) will take n characters of storage even if  you enter less than n characters to that column. For example,  &quot;Hello!&quot; will be stored as &quot;Hello! &quot; in CHAR(10)  column. </p>
<p>VARCHAR is a  variable length data type. VARCHAR(n) will take only the required  storage for the actual number of characters entered to that column.  For example, &quot;Hello!&quot; will be stored as &quot;Hello!&quot;  in VARCHAR(10) column. </p>
<p><b>How can we  encrypt and decrypt a data present in a mysql table using mysql? </b></p>
<p>AES_ENCRYPT()  and AES_DECRYPT() </p>
<p><b>Will  comparison of string &quot;10&quot; and integer 11 work in PHP? </b></p>
<p>Yes, internally  PHP will cast everything to the integer type, so numbers 10 and 11  will be compared. </p>
<p><b>What is the  functionality of MD5 function in PHP? </b></p>
<p>string  md5(string)</p>
<p>It calculates the MD5 hash of a string. The hash  is a 32-character hexadecimal number. </p>
<p><b>How can I  load data from a text file into a table? </b></p>
<p>The MySQL  provides a LOAD DATA INFILE command. You can load data from a file.  Great tool but you need to make sure that:</p>
<p>a) Data must be  delimited<br />
b) Data fields must match table columns correctly</p>
<p><b>How can we  know the number of days between two given dates using MySQL? </b></p>
<p>Use  DATEDIFF()</p>
<p>SELECT DATEDIFF(NOW(),&#8217;2006-07-01&#8242;);</p>
<p><b>How can we  change the name of a column of a table? </b></p>
<p>This will change  the name of column:</p>
<p>ALTER TABLE table_name CHANGE  old_colm_name new_colm_name</p>
<p><b>How can we  change the data type of a column of a table? </b></p>
<p>This will change  the data type of a column:</p>
<p>ALTER TABLE table_name CHANGE  colm_name same_colm_name [new data type]</p>
<p><b>What is the  difference between GROUP BY and ORDER BY in SQL? </b></p>
<p>To sort a  result, use an ORDER BY clause.<br />
The most general way to satisfy a  GROUP BY clause is to scan the whole table and create a new temporary  table where all rows from each group are consecutive, and then use  this temporary table to discover groups and apply aggregate functions  (if any).<br />
ORDER BY [col1],[col2],&#8230;[coln]; Tells DBMS according  to what columns it should sort the result. If two rows will hawe the  same value in col1 it will try to sort them according to col2 and so  on.<br />
GROUP BY [col1],[col2],&#8230;[coln]; Tells DBMS to group  (aggregate) results with same value of column col1. You can use  COUNT(col1), SUM(col1), AVG(col1) with it, if you want to count all  items in group, sum all values or view average</p>
<p><b>What is meant  by MIME? </b></p>
<p>Answer 1:<br />
MIME  is Multipurpose Internet Mail Extensions is an Internet standard for  the format of e-mail. However browsers also uses MIME standard to  transmit files. MIME has a header which is added to a beginning of  the data. When browser sees such header it shows the data as it would  be a file (for example image)</p>
<p>Some examples of MIME  types:<br />
audio/x-ms-wmp<br />
image/png<br />
aplication/x-shockwave-flash</p>
<p>Answer  2:<br />
Multipurpose Internet Mail Extensions.<br />
WWW&#8217;s ability to  recognize and handle files of different types is largely dependent on  the use of the MIME (Multipurpose Internet Mail Extensions) standard.  The standard provides for a system of registration of file types with  information about the applications needed to process them. This  information is incorporated into Web server and browser software, and  enables the automatic recognition and display of registered file  types. … </p>
<p><b>How can we  know that a session is started or not? </b></p>
<p>A session starts  by session_start() function.<br />
This session_start() is always  declared in header portion. it always declares first. then we write  session_register(). </p>
<p><b>What are the  differences between mysql_fetch_array(), mysql_fetch_object(),  mysql_fetch_row()? </b></p>
<p>Answer  1:<br />
mysql_fetch_array() -&gt; Fetch a result row as a combination  of associative array and regular array.<br />
mysql_fetch_object() -&gt;  Fetch a result row as an object.<br />
mysql_fetch_row() -&gt; Fetch a  result set as a regular array().</p>
<p>Answer 2:<br />
The  difference between mysql_fetch_row() and mysql_fetch_array() is that  the first returns the results in a numeric array ($row[0], $row[1],  etc.), while the latter returns a the results an array containing  both numeric and associative keys ($row['name'], $row['email'],  etc.). mysql_fetch_object() returns an object ($row-&gt;name,  $row-&gt;email, etc.). </p>
<p><b>If we login  more than one browser windows at the same time with same user and  after that we close one window, then is the session is exist to other  windows or not? And if yes then why? If no then why? </b></p>
<p>Session depends  on browser. If browser is closed then session is lost. The session  data will be deleted after session time out. If connection is lost  and you recreate connection, then session will continue in the  browser. </p>
<p><b>What are the  MySQL database files stored in system ? </b></p>
<p>Data is stored  in name.myd<br />
Table structure is stored in name.frm<br />
Index is  stored in name.myi</p>
<p><b>What is the  difference between PHP4 and PHP5? </b></p>
<p>PHP4 cannot  support oops concepts and Zend engine 1 is used.</p>
<p>PHP5 supports  oops concepts and Zend engine 2 is used.<br />
Error supporting is  increased in PHP5.<br />
XML and SQLLite will is increased in PHP5.</p>
<p><b>Can we use  include(abc.PHP) two times in a PHP page makeit.PHP&rdquo;? </b></p>
<p>Yes we can  include that many times we want, but here are some things to make  sure of:<br />
(including abc.PHP, the file names are  case-sensitive)<br />
there shouldn&#8217;t be any duplicate function names,  means there should not be functions or classes or variables with the  same name in abc.PHP and makeit.php </p>
<p><b>What are the  differences between mysql_fetch_array(), mysql_fetch_object(),  mysql_fetch_row()? </b></p>
<p>mysql_fetch_array  &#8211; Fetch a result row as an associative array and a numeric  array.</p>
<p>mysql_fetch_object &#8211; Returns an object with properties  that correspond to the fetched row and moves the internal data  pointer ahead. Returns an object with properties that correspond to  the fetched row, or FALSE if there are no more  rows</p>
<p>mysql_fetch_row() &#8211; Fetches one row of data from the  result associated with the specified result identifier. The row is  returned as an array. Each result column is stored in an array  offset, starting at offset 0. </p>
<p><b>What is meant  by nl2br()? </b></p>
<p>Anwser1:<br />
nl2br()  inserts a HTML tag &lt;br&gt; before all new line characters \n in a  string.</p>
<p>echo nl2br(&quot;god bless \n you&quot;);</p>
<p>output:<br />
god  bless&lt;br&gt;<br />
you</p>
<p><b>How can we  encrypt and decrypt a data presented in a table using MySQL? </b></p>
<p>You can use  functions: AES_ENCRYPT() and AES_DECRYPT() like: </p>
<p>AES_ENCRYPT(str,  key_str)<br />
AES_DECRYPT(crypt_str, key_str) </p>
<p><b>How can I  retrieve values from one database server and store them in other  database server using PHP? </b></p>
<p>For this  purpose, you can first read the data from one server into session  variables. Then connect to other server and simply insert the data  into the database. </p>
<p><b>WHO IS THE  FATHER OF PHP AND WHAT IS THE CURRENT VERSION OF PHP AND MYSQL? </b></p>
<p>Rasmus  Lerdorf.<br />
PHP 5.1. Beta<br />
MySQL 5.0 </p>
<p><b>IN HOW MANY  WAYS WE CAN RETRIEVE DATA IN THE RESULT SET OF MYSQL USING PHP? </b></p>
<p>mysql_fetch_array  &#8211; Fetch a result row as an associative array, a numeric array, or  both<br />
mysql_fetch_assoc &#8211; Fetch a result row as an associative  array<br />
mysql_fetch_object &#8211; Fetch a result row as an  object<br />
mysql_fetch_row —- Get a result row as an enumerated  array </p>
<p><b>What are the  functions for IMAP? </b></p>
<p>imap_body &#8211; Read  the message body<br />
imap_check &#8211; Check current mailbox<br />
imap_delete  &#8211; Mark a message for deletion from current mailbox<br />
imap_mail &#8211;  Send an email message </p>
<p><b>What are  encryption functions in PHP? </b></p>
<p>CRYPT()<br />
MD5() </p>
<p><b>What is the  difference between htmlentities() and htmlspecialchars()? </b></p>
<p>htmlspecialchars()  &#8211; Convert some special characters to HTML entities (Only the most  widely used)<br />
htmlentities() &#8211; Convert ALL special characters to  HTML entities </p>
<p><b>What is the  functionality of the function htmlentities? </b></p>
<p>htmlentities() &#8211;  Convert all applicable characters to HTML entities<br />
This function  is identical to htmlspecialchars() in all ways, except with  htmlentities(), all characters which have HTML character entity  equivalents are translated into these entities. </p>
<p><b>How can we  get the properties (size, type, width, height) of an image using php  image functions? </b></p>
<p>To know the  image size use getimagesize() function<br />
To know the image width use  imagesx() function<br />
To know the image height use imagesy() function</p>
<p><b>How can we  increase the execution time of a php script? </b></p>
<p>By the use of  void set_time_limit(int seconds)<br />
Set the number of seconds a  script is allowed to run. If this is reached, the script returns a  fatal error. The default limit is 30 seconds or, if it exists, the  max_execution_time value defined in the php.ini. If seconds is set to  zero, no time limit is imposed. </p>
<p>When called, set_time_limit()  restarts the timeout counter from zero. In other words, if the  timeout is the default 30 seconds, and 25 seconds into script  execution a call such as set_time_limit(20) is made, the script will  run for a total of 45 seconds before timing out. </p>
<p><b>HOW CAN WE  TAKE A BACKUP OF A MYSQL TABLE AND HOW CAN WE RESTORE IT? </b></p>
<p>Answer 1:<br />
Create  a full backup of your database: shell&gt; mysqldump  tab=/path/to/some/dir opt db_name<br />
Or: shell&gt; mysqlhotcopy  db_name /path/to/some/dir</p>
<p>The full backup file is just a set  of SQL statements, so restoring it is very easy: </p>
<p>shell&gt;  mysql &quot;.&quot;Executed&quot;;</p>
<p>Answer 2:<br />
To backup:  BACKUP TABLE tbl_name TO /path/to/backup/directory<br />
&#8216; To restore:  RESTORE TABLE tbl_name FROM /path/to/backup/directory</p>
<p>mysqldump:  Dumping Table Structure and Data </p>
<p>Utility to dump a database  or a collection of database for backup or for transferring the data  to another SQL server (not necessarily a MySQL server). The dump will  contain SQL statements to create the table and/or populate the  table.<br />
-t, no-create-info<br />
Don&#8217;t write table creation  information (the CREATE TABLE statement).<br />
-d, no-data<br />
Don&#8217;t  write any row information for the table. This is very useful if you  just want to get a dump of the structure for a table! </p>
<p><b>How to set  cookies? </b></p>
<p>setcookie(&#8216;variable&#8217;,'value&#8217;,'time&#8217;)<br />
;<br />
variable &#8211; name of the cookie variable<br />
value &#8211; value of the  cookie variable<br />
time &#8211; expiry time<br />
Example:  setcookie(&#8216;Test&#8217;,$i,time()+3600);</p>
<p>Test &#8211; cookie variable  name<br />
$i &#8211; value of the variable &#8216;Test&#8217;<br />
time()+3600 &#8211; denotes  that the cookie will expire after an one hour </p>
<p><b>How to  reset/destroy a cookie </b></p>
<p>Reset a cookie  by specifying expire time in the past:<br />
Example:  setcookie(&#8216;Test&#8217;,$i,time()-3600); // already expired time </p>
<p>Reset  a cookie by specifying its name only<br />
Example: setcookie(&#8216;Test&#8217;); </p>
<p><b>WHAT TYPES OF  IMAGES THAT PHP SUPPORTS? </b></p>
<p>Using  imagetypes() function to find out what types of images are supported  in your PHP engine.<br />
imagetypes() &#8211; Returns the image types  supported.<br />
This function returns a bit-field corresponding to the  image formats supported by the version of GD linked into PHP. The  following bits are returned, IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP |  IMG_XPM. </p>
<p><b>CHECK IF A  VARIABLE IS AN INTEGER IN JAVASCRIPT </b></p>
<p>var myValue  =9.8;<br />
if(parseInt(myValue)==  myValue)<br />
alert(&#8216;Integer&#8217;);<br />
else<br />
alert(&#8216;Not an integer&#8217;);</p>
<p><b>Tools used  for drawing ER diagrams. </b></p>
<p>Case  Studio<br />
Smart Draw </p>
<p><b>How can I  know that a variable is a number or not using a JavaScript? </b></p>
<p>Answer 1:<br />
bool  is_numeric( mixed var)<br />
Returns TRUE if var is a number or a  numeric string, FALSE otherwise. </p>
<p>Answer 2:<br />
Definition and  Usage<br />
The isNaN() function is used to check if a value is not a  number. </p>
<p>Syntax<br />
isNaN(number)</p>
<p>Parameter  Description<br />
number Required. The value to be tested</p>
<p><b>How can we  submit from without a submit button? </b></p>
<p>Trigger the  JavaScript code on any event ( like onSelect of drop down list box,  onfocus, etc ) document.myform.submit(); This will submit the form. </p>
<p><b>How many ways  can we get the value of current session id? </b></p>
<p>session_id()  returns the session id for the current session. </p>
<p><b>How can we  destroy the cookie? </b></p>
<p>Set the cookie  with a past expiration time. </p>
<p><b>What are the  current versions of Apache, PHP, and MySQL? </b></p>
<p>PHP: PHP  5.1.2<br />
MySQL: MySQL 5.1<br />
Apache: Apache 2.1</p>
<p><b>What are the  reasons for selecting LAMP (Linux, Apache, MySQL, Php) instead of  combination of other software programs, servers and operating  systems? </b></p>
<p>All of those are  open source resource. Security of linux is very very more than  windows. Apache is a better server that IIS both in functionality and  security. Mysql is world most popular open source database. Php is  more faster that asp or any other scripting language. </p>
<p><b>What are the  features and advantages of OBJECT ORIENTED PROGRAMMING? </b></p>
<p>One of the main  advantages of OO programming is its ease of modification; objects can  easily be modified and added to a system there by reducing  maintenance costs. OO programming is also considered to be better at  modeling the real world than is procedural programming. It allows for  more complicated and flexible interactions. OO systems are also  easier for non-technical personnel to understand and easier for them  to participate in the maintenance and enhancement of a system because  it appeals to natural human cognition patterns. For some systems, an  OO approach can speed development time since many objects are  standard across systems and can be reused. Components that manage  dates, shipping, shopping carts, etc. can be purchased and easily  modified for a specific system. </p>
<p><b>What is the  use of friend function? </b></p>
<p>Friend  functions<br />
Sometimes a function is best shared among a number of  different classes. Such functions can be declared either as member  functions of one class or as global functions. In either case they  can be set to be friends of other classes, by using a friend  specifier in the class that is admitting them. Such functions can use  all attributes of the class which names them as a friend, as if they  were themselves members of that class.<br />
A friend declaration is  essentially a prototype for a member function, but instead of  requiring an implementation with the name of that class attached by  the double colon syntax, a global function or member function of  another class provides the match.<br />
class  mylinkage<br />
{<br />
private:<br />
mylinkage * prev;<br />
mylinkage *  next;</p>
<p>protected:<br />
friend void set_prev(mylinkage* L,  mylinkage* N);<br />
void set_next(mylinkage* L);</p>
<p>public:<br />
mylinkage  * succ();<br />
mylinkage * pred();<br />
mylinkage();<br />
};</p>
<p>void  mylinkage::set_next(mylinkage* L) { next = L; }</p>
<p>void  set_prev(mylinkage * L, mylinkage * N ) { N-&gt;prev = L; }</p>
<p>Friends  in other classes<br />
It is possible to specify a member function of  another class as a friend as follows:<br />
class C<br />
{<br />
friend int  B::f1();<br />
};<br />
class B<br />
{<br />
int f1();<br />
};</p>
<p>It is also  possible to specify all the functions in another class as friends, by  specifying the entire class as a friend.<br />
class A<br />
{<br />
friend  class B;<br />
};</p>
<p>Friend functions allow binary operators to be  defined which combine private data in a pair of objects. This is  particularly powerful when using the operator overloading features of  C++. We will return to it when we look at overloading. </p>
<p><b>How can we  get second of the current time using date function? </b></p>
<p>$second =  date(&quot;s&quot;); </p>
<p><b>What is the  maximum size of a file that can be uploaded using PHP and how can we  change this? </b></p>
<p>You can change  maximum size of a file set upload_max_filesize variable in php.ini  file </p>
<p><b>How can I  make a script that can be bilingual (supports English, German)? </b></p>
<p>You can change  charset variable in above line in the script to support bilanguage. </p>
<p><b>What are the  difference between abstract class and interface? </b></p>
<p>Abstract class:  abstract classes are the class where one or more methods are abstract  but not necessarily all method has to be abstract. Abstract methods  are the methods, which are declare in its class but not define. The  definition of those methods must be in its extending class. </p>
<p>Interface: Interfaces are one type of class where all the  methods are abstract. That means all the methods only declared but  not defined. All the methods must be define by its implemented class. </p>
<p><b>What are the  advantages of stored procedures, triggers, indexes? </b></p>
<p>A stored  procedure is a set of SQL commands that can be compiled and stored in  the server. Once this has been done, clients don&#8217;t need to keep  re-issuing the entire query but can refer to the stored procedure.  This provides better overall performance because the query has to be  parsed only once, and less information needs to be sent between the  server and the client. You can also raise the conceptual level by  having libraries of functions in the server. However, stored  procedures of course do increase the load on the database server  system, as more of the work is done on the server side and less on  the client (application) side. Triggers will also be implemented. A  trigger is effectively a type of stored procedure, one that is  invoked when a particular event occurs. For example, you can install  a stored procedure that is triggered each time a record is deleted  from a transaction table and that stored procedure automatically  deletes the corresponding customer from a customer table when all his  transactions are deleted. Indexes are used to find rows with specific  column values quickly. Without an index, MySQL must begin with the  first row and then read through the entire table to find the relevant  rows. The larger the table, the more this costs. If the table has an  index for the columns in question, MySQL can quickly determine the  position to seek to in the middle of the data file without having to  look at all the data. If a table has 1,000 rows, this is at least 100  times faster than reading sequentially. If you need to access most of  the rows, it is faster to read sequentially, because this minimizes  disk seeks. </p>
<p><b>What is  maximum size of a database in mysql? </b></p>
<p>If the operating  system or filesystem places a limit on the number of files in a  directory, MySQL is bound by that constraint. The efficiency of the  operating system in handling large numbers of files in a directory  can place a practical limit on the number of tables in a database. If  the time required to open a file in the directory increases  significantly as the number of files increases, database performance  can be adversely affected.<br />
The amount of available disk space  limits the number of tables.<br />
MySQL 3.22 had a 4GB (4 gigabyte)  limit on table size. With the MyISAM storage engine in MySQL 3.23,  the maximum table size was increased to 65536 terabytes (2567 – 1  bytes). With this larger allowed table size, the maximum effective  table size for MySQL databases is usually determined by operating  system constraints on file sizes, not by MySQL internal limits.<br />
The  InnoDB storage engine maintains InnoDB tables within a tablespace  that can be created from several files. This allows a table to exceed  the maximum individual file size. The tablespace can include raw disk  partitions, which allows extremely large tables. The maximum  tablespace size is 64TB.<br />
The following table lists some examples  of operating system file-size limits. This is only a rough guide and  is not intended to be definitive. For the most up-to-date  information, be sure to check the documentation specific to your  operating system.<br />
Operating System File-size Limit<br />
Linux  2.2-Intel 32-bit 2GB (LFS: 4GB)<br />
Linux 2.4+ (using ext3 filesystem)  4TB<br />
Solaris 9/10 16TB<br />
NetWare w/NSS filesystem 8TB<br />
Win32 w/  FAT/FAT32 2GB/4GB<br />
Win32 w/ NTFS 2TB (possibly larger)<br />
MacOS X  w/ HFS+ 2TB</p>
<p><b>Explain  normalization concept? </b></p>
<p>The  normalization process involves getting our data to conform to three  progressive normal forms, and a higher level of normalization cannot  be achieved until the previous levels have been achieved (there are  actually five normal forms, but the last two are mainly academic and  will not be discussed). </p>
<p>First Normal Form<br />
The First Normal  Form (or 1NF) involves removal of redundant data from horizontal  rows. We want to ensure that there is no duplication of data in a  given row, and that every column stores the least amount of  information possible (making the field atomic). </p>
<p>Second Normal  Form<br />
Where the First Normal Form deals with redundancy of data  across a horizontal row, Second Normal Form (or 2NF) deals with  redundancy of data in vertical columns. As stated earlier, the normal  forms are progressive, so to achieve Second Normal Form, your tables  must already be in First Normal Form. </p>
<p>Third Normal Form<br />
I  have a confession to make; I do not often use Third Normal Form. In  Third Normal Form we are looking for data in our tables that is not  fully dependant on the primary key, but dependant on another value in  the table </p>
<p><b>What&#8217;s the  difference between accessing a class method via -&gt; and via ::? </b></p>
<p>:: is allowed to  access methods that can perform static operations, i.e. those, which  do not require object initialization. </p>
<p><b>What are the  advantages and disadvantages of CASCADE STYLE SHEETS? </b></p>
<p>External Style  Sheets<br />
Advantages<br />
Can control styles for multiple documents at  once Classes can be created for use on multiple HTML element types in  many documents Selector and grouping methods can be used to apply  styles under complex contexts </p>
<p>Disadvantages<br />
An extra  download is required to import style information for each document  The rendering of the document may be delayed until the external style  sheet is loaded Becomes slightly unwieldy for small quantities of  style definitions </p>
<p>Embedded Style Sheets<br />
Advantages<br />
Classes  can be created for use on multiple tag types in the document Selector  and grouping methods can be used to apply styles under complex  contexts No additional downloads necessary to receive style  information </p>
<p>Disadvantage<br />
This method can not control  styles for multiple documents at once </p>
<p>Inline  Styles<br />
Advantages<br />
Useful for small quantities of style  definitions Can override other style specification methods at the  local level so only exceptions need to be listed in conjunction with  other style methods </p>
<p>Disadvantages<br />
Does not distance style  information from content (a main goal of SGML/HTML) Can not control  styles for multiple documents at once Author can not create or  control classes of elements to control multiple element types within  the document Selector grouping methods can not be used to create  complex element addressing scenarios </p>
<p><b>What type of  inheritance that php supports? </b></p>
<p>In PHP an  extended class is always dependent on a single base class, that is,  multiple inheritance is not supported. Classes are extended using the  keyword &#8216;extends&#8217;. </p>
</p>
<p><b>How can  increase the performance of MySQL select query? </b></p>
<p>We can use LIMIT  to stop MySql for further search in table after we have received our  required no. of records, also we can use LEFT JOIN or RIGHT JOIN  instead of full join in cases we have related data in two or more  tables. </p>
<p>MySQL query to  rename table: RENAME TABLE tbl_name TO new_tbl_name<br />
or,<br />
ALTER  TABLE tableName CHANGE OldName newName.</p>
<p><b>When you want  to show some part of a text displayed on an HTML page in red font  color? What different possibilities are there to do this? What are  the advantages/disadvantages of these methods? </b></p>
<p>There are 2 ways  to show some part of a text in red:</p>
<p>1. Using HTML tag &lt;font  color=&quot;red&quot;&gt;<br />
2. Using HTML tag &lt;span style=&quot;color:  red&quot;&gt;</p>
<p><b>When viewing  an HTML page in a Browser, the Browser often keeps this page in its  cache. What can be possible advantages/disadvantages of page caching?  How can you prevent caching of a certain page (please give several  alternate solutions)? </b></p>
<p>When you use the  metatag in the header section at the beginning of an HTML Web page,  the Web page may still be cached in the Temporary Internet Files  folder. </p>
<p>A page that Internet Explorer is browsing is not  cached until half of the 64 KB buffer is filled. Usually, metatags  are inserted in the header section of an HTML document, which appears  at the beginning of the document. When the HTML code is parsed, it is  read from top to bottom. When the metatag is read, Internet Explorer  looks for the existence of the page in cache at that exact moment. If  it is there, it is removed. To properly prevent the Web page from  appearing in the cache, place another header section at the end of  the HTML document. For example: </p>
<p><b>What are the  different ways to login to a remote server? Explain the means,  advantages and disadvantages? </b></p>
<p>There is at  least 3 ways to logon to a remote server:<br />
Use ssh or telnet if you  concern with security<br />
You can also use rlogin to logon to a remote  server.</p>
<p><b>Please give a  regular expression (preferably Perl/PREG style), which can be used to  identify the URL from within a HTML link tag. </b></p>
<p>Try this:  /href=&quot;([^&quot;]*)&quot;/i </p>
<p><b>How can I use  the COM components in php? </b></p>
<p>The COM class  provides a framework to integrate (D)COM components into your PHP  scripts.<br />
string COM::COM( string module_name [, string server_name  [, int codepage]]) &#8211; COM class  constructor.</p>
<p>Parameters:</p>
<p>module_name: name or class-id  of the requested component.<br />
server_name: name of the DCOM server  from which the component should be fetched. If NULL, localhost is  assumed. To allow DCOM com, allow_dcom has to be set to TRUE in  php.ini.<br />
codepage &#8211; specifies the codepage that is used to convert  php-strings to unicode-strings and vice versa. Possible values are  CP_ACP, CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP, CP_UTF7 and  CP_UTF8.<br />
Usage:<br />
$word-&gt;Visible = 1; //open an empty document </p>
<p>$word-&gt;Documents-&gt;Add(); //do some weird stuff<br />
$word-&gt;Selection-&gt;TypeText(&quot;This is a test…&quot;);<br />
$word-&gt;Documents[1]-&gt;SaveAs(&quot;Useless test.doc&quot;);  //closing word<br />
$word-&gt;Quit(); //free the object<br />
$word-&gt;Release();<br />
$word = null; </p>
<p><b>How many ways  we can give the output to a browser? </b></p>
<p>HTML output<br />
PHP,  ASP, JSP, Servlet Function<br />
Script Language output  Function<br />
Different Type of embedded Package to output to a browser </p>
<p><b>What is the  default session time in php and how can I change it? </b></p>
<p>The default  session time in php is until closing of browser </p>
<p><b>What changes  I have to do in php.ini file for file uploading? </b></p>
<p>Make the  following line uncomment like:<br />
; Whether to allow HTTP file  uploads.<br />
file_uploads = On<br />
; Temporary directory for HTTP  uploaded files (will use system default if not<br />
;  specified).<br />
upload_tmp_dir = C:\apache2triad\temp<br />
; Maximum  allowed size for uploaded files.<br />
upload_max_filesize = 2M</p>
<p><b>How can I set  a cron and how can I execute it in Unix, Linux, and windows? </b></p>
<p>Cron is very  simply a Linux module that allows you to run commands at  predetermined times or intervals. In Windows, it&#8217;s called Scheduled  Tasks. The name Cron is in fact derived from the same word from which  we get the word chronology, which means order of time.<br />
The easiest  way to use crontab is via the crontab command.</p>
<p># crontab</p>
<p>This  command &#8216;edits&#8217; the crontab. Upon employing this command, you will be  able to enter the commands that you wish to run. My version of<br />
Linux  uses the text editor vi. You can find information on using vi  here.</p>
<p>The syntax of this file is very important – if you get  it wrong, your crontab will not function properly. The syntax of the  file should be as follows:<br />
minutes hours day_of_month month  day_of_week command</p>
<p>All the variables, with the exception of  the command itself, are numerical constants. In addition to an  asterisk (*), which is a wildcard that allows any value, the ranges  permitted for each field are as follows:</p>
<p>Minutes: 0-59<br />
Hours:  0-23<br />
Day_of_month: 1-31<br />
Month: 1-12<br />
Weekday: 0-6</p>
<p>We  can also include multiple values for each entry, simply by separating  each value with a comma.<br />
command can be any shell command and, as  we will see momentarily, can also be used to execute a Web document  such as a PHP file.<br />
So, if we want to run a script every Tuesday  morning at 8:15 AM, our mycronjob file will contain the following  content on a single line:</p>
<p>15 8 * * 2 /path/to/scriptname</p>
<p>This  all seems simple enough, right? Not so fast! If you try to run a PHP  script in this manner, nothing will happen (barring very special  configurations that have PHP compiled as an executable, as opposed to  an Apache module). The reason is that, in order for PHP to be parsed,  it needs to be passed through Apache. In other words, the page needs  to be called via a browser or other means of retrieving </p>
<p>Web  content. For our purposes, I&#8217;ll assume that your server configuration  includes wget, as is the case with most default configurations. To  test your configuration, log in to shell. If you&#8217;re using an  RPM-based system (e.g. Redhat or Mandrake), type the following:</p>
<p>#  wget help</p>
<p>If you are greeted with a wget package  identification, it is installed in your system.<br />
You could execute  the PHP by invoking wget on the URL to the page, like so:</p>
<p>#  wget http://www.example.com/file.php</p>
<p>Now, let&#8217;s go back to the  mailstock.php file we created in the first part of this article. We  saved it in our document root, so it should be accessible via the  Internet. Remember that we wanted it to run at 4PM Eastern time, and  send you your precious closing bell report? Since I&#8217;m located in the  Eastern timezone, we can go ahead and set up our crontab to use 4:00,  but if you live elsewhere, you might have to compensate for the time  difference when setting this value.<br />
This is what my crontab will  look like:</p>
<p>0 4 * * 1,2,3,4,5 wget  http://www.example.com/mailstock.php </p>
<p><b>Steps for the  payment gateway processing? </b></p>
<p>An online  payment gateway is the interface between your merchant account and  your Web site. The online payment gateway allows you to immediately  verify credit card transactions and authorize funds on a customer&#8217;s  credit card directly from your Web site. It then passes the  transaction off to your merchant bank for processing, commonly  referred to as transaction batching </p>
<p><b>How many ways  I can redirect a PHP page? </b></p>
<p>Here are the  possible ways of php page redirection.</p>
<p>1. Using Java script:<br />
&#8216;; echo &#8216;window.location.href=&quot;&#8217;.$filename.&#8217;&quot;;&#8217;; echo  &#8221;; echo &#8221;; echo &#8221;; echo &#8221;; } } redirect(&#8216;http://maosjb.com&#8217;);  ?&gt;</p>
<p>2. Using php function:  header(&quot;Location:http://maosjb.com &quot;); </p>
<p><b>List out  different arguments in PHP header function? </b></p>
<p>void header (  string string [, bool replace [, int http_response_code]]) </p>
<p><b>What type of  headers have to be added in the mail function to attach a file? </b></p>
<p>$boundary = &#8216;&#8211;&#8217;  . md5( uniqid ( rand() ) );<br />
$headers = &quot;From:  \&quot;Me\&quot;\n&quot;;<br />
$headers .= &quot;MIME-Version:  1.0\n&quot;;<br />
$headers .= &quot;Content-Type: multipart/mixed;  boundary=\&quot;$boundary\&quot;&quot;;</p>
<p><b>How to store  the uploaded file to the final location? </b></p>
<p>move_uploaded_file  ( string filename, string destination) </p>
<p>This function checks  to ensure that the file designated by filename is a valid upload file  (meaning that it was uploaded via PHP&#8217;s HTTP POST upload mechanism).  If the file is valid, it will be moved to the filename given by  destination. </p>
<p>If filename is not a valid upload file, then no  action will occur, and move_uploaded_file() will return FALSE. </p>
<p>If  filename is a valid upload file, but cannot be moved for some reason,  no action will occur, and move_uploaded_file() will return FALSE.  Additionally, a warning will be issued. </p>
<p><b>What is the  difference between Reply-to and Return-path in the headers of a mail  function? </b></p>
<p>Reply-to:  Reply-to is where to delivery the reply of the mail.</p>
<p>Return-path:  Return path is when there is a mail delivery failure occurs then  where to delivery the failure notification. </p>
<p><b>Explain about  Type Juggling in php? </b></p>
<p>PHP does not  require (or support) explicit type definition in variable  declaration; a variable&#8217;s type is determined by the context in which  that variable is used. That is to say, if you assign a string value  to variable $var, $var becomes a string. If you then assign an  integer value to $var, it becomes an integer.</p>
<p>An example of  PHP&#8217;s automatic type conversion is the addition operator &#8216;+&#8217;. If any  of the operands is a float, then all operands are evaluated as  floats, and the result will be a float. Otherwise, the operands will  be interpreted as integers, and the result will also be an integer.  Note that this does NOT change the types of the operands themselves;  the only change is in how the operands are evaluated. </p>
<p>$foo +=  2; // $foo is now an integer (2)<br />
$foo = $foo + 1.3; // $foo is now  a float (3.3)<br />
$foo = 5 + &quot;10 Little Piggies&quot;; // $foo is  integer (15)<br />
$foo = 5 + &quot;10 Small Pigs&quot;; // $foo is  integer (15) </p>
<p>If the last two examples above seem odd, see  String conversion to numbers.<br />
If you wish to change the type of a  variable, see settype().<br />
If you would like to test any of the  examples in this section, you can use the var_dump() function.<br />
Note:  The behavior of an automatic conversion to array is currently  undefined.</p>
<p>Since PHP (for historical reasons) supports  indexing into strings via offsets using the same syntax as array  indexing, the example above leads to a problem: should $a become an  array with its first element being &quot;f&quot;, or should &quot;f&quot;  become the first character of the string $a? The current versions of  PHP interpret the second assignment as a string offset  identification, so $a becomes &quot;f&quot;, the result of this  automatic conversion however should be considered undefined. PHP 4  introduced the new curly bracket syntax to access characters in  string, use this syntax instead of the one presented above: </p>
<p><b>How can I  embed a java programme in php file and what changes have to be done  in php.ini file? </b></p>
<p>There are two  possible ways to bridge PHP and Java: you can either integrate PHP  into a Java Servlet environment, which is the more stable and  efficient solution, or integrate Java support into PHP. The former is  provided by a SAPI module that interfaces with the Servlet server,  the latter by this Java extension.<br />
The Java extension provides a  simple and effective means for creating and invoking methods on Java  objects from PHP. The JVM is created using JNI, and everything runs  in-process. </p>
<p>Example Code: </p>
<p>getProperty(&#8216;java.version&#8217;)  . &#8221;; echo &#8216;Java vendor=&#8217; . $system-&gt;getProperty(&#8216;java.vendor&#8217;) .  &#8221;; echo &#8216;OS=&#8217; . $system-&gt;getProperty(&#8216;os.name&#8217;) . &#8216; &#8216; .  $system-&gt;getProperty(&#8216;os.version&#8217;) . &#8216; on &#8216; .  $system-&gt;getProperty(&#8216;os.arch&#8217;) . &#8216; &#8216;; // java.util.Date example  $formatter = new Java(&#8216;java.text.SimpleDateFormat&#8217;, &quot;EEEE, MMMM  dd, yyyy &#8216;at&#8217; h:mm:ss a zzzz&quot;); echo $formatter-&gt;format(new  Java(&#8216;java.util.Date&#8217;)); ?&gt; </p>
<p>The behaviour of these  functions is affected by settings in php.ini.<br />
Table 1. Java  configuration  options<br />
Name<br />
Default<br />
Changeable<br />
java.class.path<br />
NULL<br />
PHP_INI_ALL<br />
Name  Default  Changeable<br />
java.home<br />
NULL<br />
PHP_INI_ALL<br />
java.library.path<br />
NULL<br />
PHP_INI_ALL<br />
java.library<br />
JAVALIB<br />
PHP_INI_ALL </p>
<p><b>How To Turn  On the Session Support? </b></p>
<p>The session  support can be turned on automatically at the site level, or manually  in each PHP page script:</p>
<p><UL><br />
<LI></p>
<p>Turning on  	session support automatically at the site level: Set  	session.auto_start = 1 in php.ini.</p>
<p><LI></p>
<p>Turning on session support  	manually in each page script: Call session_start() funtion.</p>
<p></UL></p>
<p><b>Explain the  ternary conditional operator in PHP? </b></p>
<p>Expression  preceding the ? is evaluated, if it&#8217;s true, then the expression  preceding the : is executed, otherwise, the expression following : is  executed. </p>
<p><b>What&#8217;s the  difference between include and require? </b></p>
<p>It&#8217;s how they  handle failures. If the file is not found by require(), it will cause  a fatal error and halt the execution of the script. If the file is  not found by include(), a warning will be issued, but execution will  continue. </p>
<p><b>How many ways  can we get the value of current session id? </b></p>
<p>session_id()  returns the session id for the current session. </p>
<p><b>How many ways  can we get the value of current session id? </b></p>
<p>session_id()  returns the session id for the current session. </p>
<p>And many more. I always would be happy to answer any minor doubts asked. Have a great future. </p>
<p>Thanks<br />
Niraj</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/advanced-php-interview-questions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Case Sensitive Search in MySQL</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/case-sensitive-search-in-mysql/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/case-sensitive-search-in-mysql/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/case-sensitive-search-in-mysql/</guid>
		<description><![CDATA[By default mysql searches are case insensitive, that is from the following table: cms description rating Joomla Joomla is an open source cms with nice design 3 Drupal Drupal is an open source CMS framework based on MVC architecture 4 This query: SELECT * FROM `table` WHERE `cms` LIKE &#8216;%JOOMLA%&#8217; will fetch the first row [...]]]></description>
			<content:encoded><![CDATA[<p>By default mysql searches are case insensitive, that is from the following table:</p>
<p>cms<br />
description<br />
rating</p>
<p>Joomla<br />
Joomla is an open source cms with nice design<br />
3</p>
<p>Drupal<br />
Drupal is an open source CMS framework based on MVC architecture<br />
4</p>
<p>This query:<br />
SELECT * FROM `table` WHERE `cms` LIKE &#8216;%JOOMLA%&#8217;<br />
will fetch the first row of the records. If we want to case sensitive select, we can [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/case-sensitive-search-in-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Interview Questions and Answers</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/javascript-interview-questions-and-answers/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/javascript-interview-questions-and-answers/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/javascript-interview-questions-and-answers/</guid>
		<description><![CDATA[Here are few JavaScript interview questions and answers: How do you delete the last element of an array in JavaScript? array_object_variable.pop(); The pop() method in JavaScript will delete the last element of the array. Whereas the push() method will add a new element at the start of the array. How do you get the random [...]]]></description>
			<content:encoded><![CDATA[<p>Here are few JavaScript interview questions and answers:<br />
How do you delete the last element of an array in JavaScript?<br />
array_object_variable.pop();<br />
The pop() method in JavaScript will delete the last element of the array. Whereas the push() method will add a new element at the start of the array.<br />
How do you get the random number between 0 and [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/javascript-interview-questions-and-answers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Features in PHP 5.3</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/features-in-php-5-3/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/features-in-php-5-3/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/features-in-php-5-3/</guid>
		<description><![CDATA[The much awaiting php version PHP 5.3 has been released.  The important features of PHP 5.3 version are: &#8216;goto&#8217; lable for jumping Namespaces supports for PHP Classes. Closures or Anonymous function same like javascript/jQuery anonymous functions. garbage collection support And much more&#8230;. You can see the php 5. 3 release version here.]]></description>
			<content:encoded><![CDATA[<p>The much awaiting php version PHP 5.3 has been released.  The important features of PHP 5.3 version are:</p>
<p>&#8216;goto&#8217; lable for jumping<br />
Namespaces supports for PHP Classes.<br />
Closures or Anonymous function same like javascript/jQuery anonymous functions.<br />
garbage collection support<br />
And much more&#8230;.</p>
<p>You can see the php 5. 3 release version here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/features-in-php-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Storage Engines</title>
		<link>http://www.anirajkumar.com/technology/ajax/2009/mysql-storage-engines/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2009/mysql-storage-engines/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:04:53 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Php n MySQL]]></category>

		<guid isPermaLink="false">http://www.anirajkumar.com/technology/ajax/2009/mysql-storage-engines/</guid>
		<description><![CDATA[MySQL has the following storage engines or table types: MyISAM InnoDB HEAP MERGE CSV BLACKHOL Out of these all mysql storage engines, two engines are most important &#38; these are used by developers frequently as well. The first one is InnoDB mysql engine; it supports transaction and table locking. And another one is ‘MyISAM’, it [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL has the following storage engines or table types:</p>
<p>MyISAM<br />
InnoDB<br />
HEAP<br />
MERGE<br />
CSV<br />
BLACKHOL</p>
<p>Out of these all mysql storage engines, two engines are most important &#38; these are used by developers frequently as well.<br />
The first one is InnoDB mysql engine; it supports transaction and table locking. And another one is ‘MyISAM’, it supports full text search support using this we [...]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2009/mysql-storage-engines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15 Useful Project Management Tools</title>
		<link>http://www.anirajkumar.com/technology/ajax/2008/15-useful-project-management-tools-2/</link>
		<comments>http://www.anirajkumar.com/technology/ajax/2008/15-useful-project-management-tools-2/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 05:02:39 +0000</pubDate>
		<dc:creator>A Niraj Kumar</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[C# and ASP.Net]]></category>
		<category><![CDATA[Php n MySQL]]></category>
		<category><![CDATA[VB.Net]]></category>

		<guid isPermaLink="false">http://niraj.webchilly.in/website-designing-related/15-useful-project-management-tools-2/</guid>
		<description><![CDATA[by Cameron Chapman There is a huge variety of project management applications out there. Most are general purpose apps, not aimed at any one industry. But there is a growing number of project management apps aimed specifically at one industry or another. Applications geared to creative types are becoming more readily available, and some of [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start --></p>
<p><em>by Cameron Chapman</em></p>
<p><strong>There is a huge variety of project management applications</strong> out there. Most are general purpose apps, not aimed at any one industry. But there is a growing number of project management apps aimed specifically at one industry or another. Applications geared to creative types are becoming more readily available, and some of the offerings are really quite good.</p>
<p>Many of these project management apps have <strong>built-in code repositories and subversion browsers</strong> (or are built around them). A few have built-in bug and issue tracking. Others include more than just basic project management. All of them can help you keep track of activities and team members. There are both free and paid options. Some have very slick interfaces, and some are modeled more after desktop applications. All are relatively easy to use and easy to set up.</p>
<p>Below are <strong>15 useful project management applications</strong>, almost all of which are targeted directly at Web developers, designers (both Web and print) and other creative types. The last one is not geared specifically to creative types but is the most unique project management application I&#8217;ve found and is included on that basis as well as because of its potential usefulness for designers and developers.</p>
<p>Also consider our previous article:</p>
<ul>
<li><a title="Web Applications: Improve Your Workflow" rel="bookmark" href="http://www.smashingmagazine.com/2007/08/22/web-applications-improve-your-workflow/">Web Applications: Improve Your Workflow</a></li>
</ul>
<h3>1. Basic Project Management Apps</h3>
<p>These applications are <strong>marketed specifically for project management</strong>. Most include things like task-, team-, and goal-management features. Some include additional features such as time tracking and invoicing.</p>
<h4>Lighthouse</h4>
<p><a href="http://www.lighthouseapp.com">Lighthouse</a> is a bug- and issue-tracking app that tracks timelines and milestones, integrates with your email client and more. You can update tickets through your inbox, manage your beta testing (by making tickets and milestones public), integrate it with subversion and manage and prioritize your tickets.</p>
<p><a href="http://lighthouseapp.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/3afe0_lighthouse-home.png" alt="Lighthouse Dashboard Screenshot" width="480" height="300" /></a></p>
<p>Project creation is simple; only a project title and description is required. Once a project is created, tickets, messages and milestones can be entered. Ticket creation can be done by email (the email address to send tickets to is displayed on the &#8220;Tickets&#8221; page). You can show tickets based on a variety of criteria, including date, state (open or closed) and who is responsible for them. Message creation is easier than email, and you can attach files up to 50 MB in size. When you create a milestone you simply enter the title, the date it&#8217;s due and the goals or focus for that particular milestone. It doesn&#8217;t get much simpler than that.</p>
<p>Permissions are easy to set, and you can invite users by email. One of the best features of Lighthouse is its Beacon and API integration. With the API, you can customize tickets, projects, changesets, milestones, messages and more. Integrate it with other services (such as Google Calendar), or make desktop applications that use Lighthouse. The APIs make Lighthouse infinitely more useful, because you can really customize it to fit your current workflow.</p>
<p><a href="http://lighthouseapp.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/3afe0_lighthouse-milestonecreation.png" alt="Lighthouse Milestone Creation Screenshot" width="480" height="300" /></a></p>
<p>Lighthouse is great for Web development teams (or individuals) and has a very easy-to-use interface. They have paid and free plans, all of which include unlimited open-source projects. The free plan lets you manage one private project with up to two people on the account. The paid plans range from $10 per month for the Personal plan (with up to 3 projects, 10 users and 100 MB of file upload storage space) to $120 per month for the Platinum plan (with unlimited projects, up to 50 public projects, unlimited users and 30 GB of file upload space).</p>
<p>When combined with a subversion app, Lighthouse provides a pretty complete project management app for developers. Subversion integration is pretty straightforward, and the help file provided gives complete step-by-step instructions for setup.</p>
<h4>Springloops</h4>
<p><a href="http://www.springloops.com">Springloops</a> is another subversion browser that integrates project management. It counts a unique AJAX code browser and Basecamp integration as among its features.</p>
<p><a href="http://www.springloops.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/5d40c_springloops-dashboard.png" alt="Springloops Dashboard Screenshot" width="480" height="300" /></a></p>
<p>The Springloops interface is very intuitive and easy to use. Tabbed navigation provides access to the log, source and deployment information. Adding users is done via email, along with the ability to create usernames and passwords (making it easier and faster for them to get on board with a project). Creating new projects is simple, with a few different templates available (including a starter template). You can migrate an existing repository into Springloops as well (including plain text dumps). For added project management ability, Springloops can be integrated with Basecamp.</p>
<p><a href="http://www.springloops.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/975d4_springloops-source.png" alt="Springloops Source Browser Screenshot" width="480" height="300" /></a></p>
<p>Springloops has a number of plans available, both paid and free. The free plan includes 25 MB of space, 3 projects, 3 deployments per day (using FTP or SFTP connections), roll-back capabilities, Basecamp integration, subversion and an unlimited number of users. The paid plans range from the &#8220;Flowerpot&#8221; plan at $9 per month (including 1 GB of space and 10 projects) to the &#8220;Forest&#8221; plan at $96 per month (including 18 GB of storage, unlimited projects, automatic deployment and secure SSL encryption). All of the paid plans include a free 30-day trial.</p>
<h4>CreativePro Office</h4>
<p><a href="http://www.creativeprooffice.com">CreativePro Office</a> offers complete office management tools. CreativePro Office is completely free, setting it apart from the other apps here.</p>
<p><a href="http://www.creativeprooffice.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/9d8a0_creativeprooffice-dashboard.png" alt="CreativePro Office Dashboard Screenshot" width="480" height="300" /></a></p>
<p>CreativePro Office has the usual tabbed navigation, including tabs for clients, projects, time sheets, finances and team members. The dashboard presents a calendar with upcoming events, a list of your projects, outstanding invoices, notes and search functionality. Project creation is a bit more in-depth than with most other apps listed here, though only a client name and project name is required (you can also fill in a project URL, description or comments, category, date range, status, contacts and tags). Client tracking is integrated, making this handy for those who work with lots of different clients, and it could even serve as a simple CRM program, depending on your needs.</p>
<p><a href="http://www.creativeprooffice.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/9d8a0_creativeprooffice-financetab.png" alt="CreativePro Office Finance Tab Screenshot" width="480" height="300" /></a></p>
<p>Integrated invoices and financial information is handy, and the finances page gives you options for viewing and creating invoices, expenses and reports.</p>
<p>CreativePro Office is very robust for a completely free application and is definitely worth checking out before shelling out for an expensive paid solution.</p>
<h4>Jumpchart</h4>
<p><a href="http://www.jumpchart.com">Jumpchart</a> is a website planning application that allows you to plan the navigation of your website by creating, dragging and dropping pages into the plan. You can also add text and formatting to pages and then export your CSS files and site map when you&#8217;re finished.</p>
<p><a href="http://www.jumpchart.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/f0674_jumpchart-homepage.png" alt="Jumpchart Home Page Screenshot" width="480" height="300" /></a></p>
<p>This is a great planning app for Web designers, though it&#8217;s not strictly a project management application. You can add comments to each page, which could serve to keep track of tasks related to specific pages. More traditional project management functions could be kept track of in the text of each mockup page or through the comments. The mockup and planning capabilities of Jumpchart make it worth using, even if hacks are needed to make it more conducive to full project management.</p>
<p><a href="http://www.jumpchart.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/81d67_jumpchart-addsubpage.png" alt="Jumpchart Add Sub-Page Screenshot" width="480" height="300" /></a></p>
<p>The free Jumpchart plan offers 1 project with 1 MB of storage and a maximum of 10 pages and 2 users. The paid plans range from the Simple plan at $5 per month (including up to 5 projects, with 25 pages and 5 users per project, and 100 MB of storage) to the Deluxe plan at $50 per month (including up to 30 projects with unlimited pages and users and 5000 MB of storage).</p>
<h4>No Kahuna</h4>
<p><a href="http://www.nokahuna.com">No Kahuna</a> is a simple project management and issue-tracking platform. It&#8217;s very straightforward and easy to use, with an excellent user interface. Features include task and activity tracking and collaboration tools.</p>
<p><a href="http://www.nokahuna.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/81d67_nokahuna-activitytab.png" alt="No Kahuna Activity Page Screenshot" width="480" height="300" /></a></p>
<p>No Kahuna is excellent for basic project management and ticket tracking. There aren&#8217;t a ton of features, which can be a very good thing. It&#8217;s very quick to get started, also a big plus.</p>
<p><a href="http://www.nokahuna.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/fd842_nokahuna-projectinfopage.png" alt="No Kahuna Project Info Screenshot" width="480" height="300" /></a></p>
<p>There are free accounts available that include unlimited projects and users. However, if your projects accumulate more than 30 open tasks, you will need to upgrade. Paid options are reasonably priced, ranging from 3 projects for $9 per month up to 100 projects for $99 per month. Open-source projects are always free, no matter how many open tasks you have.</p>
<h4>Basecamp</h4>
<p><a href="http://www.basecamphq.com">Basecamp</a> is often considered to be the best project management and collaboration platform out there. Its features are impressive: to-do lists, file sharing, message boards, milestones, time tracking, project overviews and commenting.</p>
<p><a href="http://www.basecamphq.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/10071_basecamp-dashboard.png" alt="Basecamp Dashboard Screenshot" width="480" height="300" /></a></p>
<p>The user interface is definitely one of the best out there, and because of its popularity, tons of other companies are making products that integrate with Basecamp, extending its capabilities.</p>
<p><a href="http://www.basecamphq.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/10071_basecamp-timetracking.png" alt="Basecamp Time Tracking Screenshot" width="480" height="300" /></a></p>
<p>Pricing is reasonable, though it&#8217;s definitely not the cheapest solution out there. The Basic plan is only $24 per month and includes up to 15 active projects, 3 GB of file storage and unlimited clients and users. The Max plan is a hefty $149 per month, but includes unlimited projects, 50 GB of file storage, time tracking, SSL security and a free Campfire Premium account.</p>
<h3>2. Wiki-Based Project Management</h3>
<p>Wikis are another option for project management, whether you use one instead of a basic project management application or in addition to one. One of the solutions below is geared to complete project management and includes additional features, while the other is just a wiki and is suitable for project management and other uses.</p>
<h4>Trac Project</h4>
<p><a href="http://trac.edgewall.org">Trac Project</a> is a project management app that is based on wiki functionality. It also includes a subversion browser, a timeline, ticket tracking, a road map (showing milestones and the number of current open and closed tickets) and builds status tracking.</p>
<p><a href="http://trac.edgewall.org"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/80524_trac-mainwikipage.png" alt="Trac Project Main Wiki Page Screenshot" width="480" height="300" /></a></p>
<p>One of Trac&#8217;s best features is the range of plug-ins available for it. There are plug-ins for Web administration, authentication, code documentation, file management, ticketing, testing, user management and version control.</p>
<p><a href="http://trac.edgewall.org"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/f9971_trac-ticketmanagement.png" alt="Trac Project Ticket Management Screenshot" width="480" height="300" /></a></p>
<p>Another big advantage: Trac is free and licensed under a modified BSD license.</p>
<h4>PBwiki</h4>
<p><a href="http://pbwiki.com">PBwiki</a> is one of the easiest free wikis out there to use. You can share files with other users, set access controls for individual pages and folders, add other users to your wiki, monitor and track version changes and more.</p>
<p><a href="http://pbwiki.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/36ab8_pbwiki-mainpage.png" alt="PBwiki Main Page Screenshot" width="480" height="300" /></a></p>
<p>Setup is quick and easy and can be done in less than a minute. The PBwiki interface is very intuitive, and there is virtually no learning curve. Creating folders and pages is straightforward, as is editing existing pages. You can also comment on each page, and get a printable version with a single click.</p>
<p><a href="http://pbwiki.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/36ab8_pbwiki-createnewpage.png" alt="PBwiki Page Creation Screenshot" width="480" height="300" /></a></p>
<p>There are multiple themes you can choose from for the design, as well as templates for individual page content (or you can start from scratch). There are a few different plans available, both paid and free. The free plan allows from 1 to 3 users. Paid plans range from $4 per month per user (if you have more than 10,000 users) to $8 per month per user (for 4 to 999 users).</p>
<h3>3. Bug and Ticket Tracking</h3>
<p>Any time you work on a Web application or website, <strong>there are going to be bugs and issues that crop up</strong>. While some basic project management applications have built-in ticket tracking, others don&#8217;t, and sometimes the built-in solution doesn&#8217;t quite meet your needs (either because it&#8217;s too robust or is missing key features).</p>
<h4>16bugs</h4>
<p><a href="http://16bugs.com">16bugs</a> is a very simple bug-tracking system. Its main advantage is the color-coding system used for different types of information (like updates, comments and closed tickets).</p>
<p><a href="http://16bugs.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/5f6a6_16bugs-activitytab.png" alt="16bugs Activity Report Screenshot" width="480" height="300" /></a></p>
<p>Setup is quick and easy. The user interface is easy to figure out. Creating bugs is easy, and the color-coded labels on the activity tab make it easy to see what&#8217;s going on at a glance.</p>
<p><a href="http://16bugs.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/5f6a6_16bugs-submitnewbug.png" alt="16bugs Bug Submission Screenshot" width="480" height="300" /></a></p>
<p>There are a variety of account types available. The free account allows 1 project, 1 MB of storage and Basecamp imports. Starting at $8 per month, paid plans include more projects (3 with the Basic plan), 150 MB to 10 GB of storage, RSS and email notifications, Campfire notifications and SSL (starting with the $15-per-month Big plan).</p>
<h4>JIRA</h4>
<p><a href="http://www.atlassian.com/software/jira/">JIRA</a> is issue- and bug-tracking software that includes a lot of great features. It has advanced reporting features, workflow mapping as well as issue and project organizing; it is also customizable.</p>
<p><a href="http://www.atlassian.com/software/jira/"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/1dadf_jira-dashboard.png" alt="JIRA Dashboard Screenshot" width="480" height="300" /></a></p>
<p>JIRA also offers a number of plug-ins to extend its functionality, including Bamboo integration, charting, time tracking, project management, a calendar and more. By using plug-ins, you can customize JIRA to meet your exact project management and issue-tracking needs.</p>
<p><a href="http://www.atlassian.com/software/jira/"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/cf708_jira-issuenavigator.png" alt="JIRA Issue Navigator Screenshot" width="480" height="300" /></a></p>
<p>JIRA&#8217;s biggest drawback is its pricing; it&#8217;s not cheap. A hosted account starts at $299 per month for up to 25 users and goes up from there (250 users costs $599 per month). If you want to download JIRA and host it on your own server, it starts at $1200 for a single project team, and goes as high as $4800 for an entire organization. If you need an academic license, solutions start at only $600.</p>
<h3>4. Collaboration and Conferencing</h3>
<p>If you&#8217;re working with a remote team on your project, you&#8217;re probably going to need some online space to collaborate and meet, whether it&#8217;s to work on general concepts or to work out specific bugs. Here are three solutions to help you <strong>collaborate with those on your team or with your clients</strong>.</p>
<h4>activeCollab</h4>
<p><a href="http://www.activecollab.com">activeCollab</a> is a project management and collaboration tool that lets you set up a collaboration area right on your website. You can have unlimited projects, organized into groups for easy management.</p>
<p><a href="http://www.activecollab.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/15ff7_activecollab-dashboard.png" alt="activeCollab Dashboard Screenshot" width="480" height="300" /></a></p>
<p>Collaboration features include file sharing, discussions (set up like an online forum), assignments, collaborative writing and reminders. Project management features include printing and exporting, time tracking, calendar and schedule functionality, ticket management and milestones. Plug-ins (modules) mean that activeCollab can be extended to suit your specific needs.</p>
<p><a href="http://www.activecollab.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/ba0b2_activecollab-projectoverview.png" alt="activeCollab Project Overview Screenshot" width="480" height="300" /></a></p>
<p>There are two pricing options available: Corporate and Small Business. The Small Business edition includes source-code browsing, plug-in support, themes, discussions, milestones, checklists, files, project templates, a mobile interface and localization support. It&#8217;s priced at $199, with support and upgrades being an additional $99 per year after the first year. The Corporate edition has all of the above features, plus the calendar, tickets, time tracking, pages (with collaborative writing and more), a project explorer, and status updates. Both packages include unlimited projects and users. You can also purchase a Copyright Removal license, which removes the &#8220;activeCollab Powered&#8221; graphic from the footer of each page, for an additional $199.</p>
<h4>DimDim</h4>
<p><a href="http://www.dimdim.com">DimDim</a> is a Web-conferencing platform that provides collaboration tools for meeting online. It&#8217;s scalable, reliable and flexible, with both hosted and on-site versions available.</p>
<p><a href="http://www.dimdim.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/ba0b2_dimdim-mainpage.png" alt="DimDim Main Page Screenshot" width="480" height="300" /></a></p>
<p>DimDim allows you to share your desktop with those you&#8217;re meeting with, as well as share and present documents (both PowerPoint and PDFs). You can also share Whiteboards, and it has built-in voice-over-IP and teleconferencing capabilities. There are public and private chat capabilities as well as annotation and markup tools.</p>
<p><a href="http://www.dimdim.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/16603_dimdim-newmeeting.png" alt="DimDim New Meeting Screenshot" width="480" height="300" /></a></p>
<p>There are free and paid plans available. The free plan offers the complete feature set, with support for meetings of up to 20 people. DimDim Pro offers the complete feature set, plus custom branding and up to 100 people in a meeting for only $99 per year. There is also an Enterprise-level package that includes all of the above but also allows simultaneous meetings with up to 1000 attendees for $1998 per year.</p>
<h4>Vyew</h4>
<p><a href="http://vyew.com">Vyew</a> is a browser-based Web presentation service that allows for custom branding and PowerPoint-like authoring. With Vyew, you can give a live presentation or just post a document for your colleagues to review at their convenience.</p>
<p><a href="http://vyew.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/24309_vyew-vyewbookcreation.png" alt="Vyewbook Creation Screenshot" width="480" height="300" /></a></p>
<p>Features include real-time desktop sharing, whiteboarding and drawing tools, embedded comments, built-in voice over IP, free teleconferencing, built-in webcam video support, text chat, dedicated rooms and direct URLs and more. It&#8217;s a complete solution for Web conferencing.</p>
<p><a href="http://vyew.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/4f613_vyew-documentexplorer.png" alt="Vyew Document Explorer Screenshot" width="480" height="300" /></a></p>
<p>Vyew has a number of plans available, including a free plan, which includes unlimited meetings, SSL secure log-in, up to 20 participants (all seeing ads) and up to 5 VyewBooks (presentations) with up to 50 pages each. There are two paid plans: Plus at $6.95 per month, which includes everything the free plan has plus up to 25 participants (or 5 with no ads), and up to 25 VyewBooks with up to 100 pages each, and Professional at $13.95 per month, which includes everything the Plus plan has, but with up to 45 participants (or 15 with no ads), and up to 100 VyewBooks with up to 300 pages each.</p>
<h3>5. Invoicing</h3>
<p>Unless you&#8217;re working on an internal project, chances are you&#8217;ll need to send out invoices. Having an invoice program that also does proposals is helpful, as is having <strong>one that integrates directly with your project management app</strong>.</p>
<h4>Simply Invoices</h4>
<p><a href="http://www.simplyinvoices.com">Simply Invoices</a> integrates with Basecamp, More Honey, Tick and Harvest to invoice based on time that you track with those programs. Features include invoice templates, unlimited invoices, the ability to save invoices as PDFs and invoice tracking.</p>
<p><a href="http://www.simplyinvoices.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/fc652_simplyinvoices-dashboard.png" alt="Simply Invoices Screenshot" width="480" height="300" /></a></p>
<p>There are a few different plans available, including a free plan that includes up to five invoice templates and SSL support. Paid plans start at $9 per month (which includes up to ten invoice templates, plus a custom logo and link-free invoices) and go up to $25 per month (which includes an unlimited number of templates).</p>
<h4>Less Accounting</h4>
<p><a href="http://lessaccounting.com">Less Accounting</a> is a simple online accounting and invoicing program that is incredibly easy to use. Less Accounting has a variety of features, including proposal creation and tracking, mileage tracking, sales-lead management and expense tracking. You can import your existing Wesabe.com account, and you can even invite your CPA to look at your books. Less Accounting also sends a weekly email with an update on the status of your accounts.</p>
<p><a href="http://lessaccounting.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/fc652_lessaccounting-newproposal.png" alt="Less Accounting Screenshot" width="480" height="300" /></a></p>
<p>There are a variety of account plans available, including a free plan. The free plan includes up to 5 invoices, expenses, sales notes, deposits, proposals, mileage logs each month, SSL encryption, reports and bank-account integration. The paid plans range from the Even Less plan at $12 per month (including invoicing, expenses, contacts, SSL encryption, technical support, deposits and reports) to the More plan at $24 per month (including everything in the Even Less plan, plus sales notes, bank accounts, proposals, mileage logs, bank reconciliation, support for multiple types of sales tax and more). A 30-day free trial is available for all plans.</p>
<h3>6. Time Tracking</h3>
<p>Whether you need to keep track of your time for billing purposes, for your boss, or just to measure your own productivity, chances are you&#8217;ll need a time-tracking application.</p>
<h4>LiveTimer</h4>
<p><a href="http://www.livetimer.com">LiveTimer</a> is an easy-to-use time-tracking program that works on both your computer and iPhone. It can be used for billing purposes or simply to improve your productivity and accountability.</p>
<p><a href="http://www.livetimer.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/82b47_livetimer-summaryreport.png" alt="LiveTimer Summary Report Screenshot" width="480" height="300" /></a></p>
<p>Features include a daily ledger, bulk time entry (by day or week), customizable classifications, multiple currencies, custom billing rates, intelligent report filters and a developer API. The iPhone integration makes it easy to track your time even if you&#8217;re not at your desk, making it more useful than many other Web-based time-tracking applications.</p>
<p><a href="http://www.livetimer.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a5be5_livetimer-timeledger.png" alt="LiveTimer Time Ledger Screenshot" width="480" height="300" /></a></p>
<p>Pricing is cheap, at only $5 per active user per month. Qualifying non-profits get a 50% discount. There is a 30-day free trial available.</p>
<h4>fourteenDayz</h4>
<p><a href="http://www.14dayz.com">fourteenDayz</a> is a time-tracking program specifically for teams. It features day-by-day time sheets, exportable reports (in both PDF and Excel formats), drag-and-drop categories and no user limit.</p>
<p><a href="http://www.14dayz.com"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_14dayz-timesheetentry.png" alt="fourteenDayz Time Sheet Entry Screenshot" width="480" height="300" /></a></p>
<p>There are 6 different plans offered, including a free account (which includes up to 4 active projects/clients, 10 project categories, an unlimited number of users and reporting functions). The paid plans range from the Personal at $5 per month (which includes the free account features plus up to 7 active projects/clients, 15 project categories, 30 project subcategories and PDF reports) to the Platinum at $99 per month (which includes all the Personal features plus unlimited active projects/clients, unlimited project categories and subcategories, XLS/CSV exportability and SSL connections).</p>
<h3>Further Resources</h3>
<p>For more project management applications, check out:</p>
<ul>
<li><a href="http://simplespark.com/catalog/project-management/">Simple Spark</a><br />
Directory of Web 2.0 applications, with a list of more than 300 project management apps.</li>
<li><a href="http://www.listio.com/web20/search.php?search=manage%2Cprojects&amp;tag=true">Listio</a><br />
Another directory of Web 2.0 applications, with a huge list of project management apps.</li>
</ul>
<h4>About the author</h4>
<p><em><a href="http://www.cameronchapman.com">Cameron Chapman</a> is a professional Web and graphic designer with over 6 years of experience. She also writes for a number of blogs, including her own, <a href="http://www.greenstylemag.com">GreenStyle Magazine</a>, which will be relaunching later this year.</em></p>
<p><em>(al)</em></p>
<p><!-- google_ad_section_end --></p>
<p><a href="http://feeds.feedburner.com/~a/SmashingMagazine?a=kj2pGT"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=kj2pGT" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=dLD1n"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=dLD1n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=CVdFn"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=CVdFn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=bWr3n"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=bWr3n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=Ryjon"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=Ryjon" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=MAOcN"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=MAOcN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=Y194N"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=Y194N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/SmashingMagazine?a=wXavN"><img src="http://niraj.webchilly.in/wp-content/plugins/wp-o-matic/cache/a7914_SmashingMagazine?i=wXavN" border="0"></img></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.anirajkumar.com/technology/ajax/2008/15-useful-project-management-tools-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
