PHPGTK-application window

PHPGTK is an extension to PHP that allows you to create graphical user interface (GUI) applications. Instead of running in a browser, your PHP application runs in its own application window. These applications are client-side only. They do not reside on the Web server. The files instead reside on the user's hard drive. For users to use the PHPGTK application, they must have the proper version of PHP with the GTK+ extension installed on their system.

GTK+ was originally designed for the open-source image editing program called the GIMP (GNU Image Manipulation Program). GTK stands for the GIMP Tool Kit. Later, the Gnome team decided to use GTK+ to create their desktop environment for Linux. GTK+ has been ported to Windows, Linux, and BeOS, and thus makes for a good cross-platform GUI library.

PHPGTK uses GTK+ to draw the widgets required in any GUI application. Widgets are things like scroll bars, text input fields, and buttons, among other things. When you start almost any Windows application, such as a Web browser, you are looking at a collection of widgets.

Widgets need to be contained in some type of framework to be useful and logical. You can't just have a bunch of buttons and text fields scattered randomly about the screen. To solve this problem, we use a special kind of widget called a container. A container is another structure that organizes the widgets however you think it best for your application. For example, the menu bar at the top of most applications is a container.

Before you can start using PHPGTK, you need to download the appropriate files. The PHPGTK team has set up a nice Web site at http://gtk.php.net. The PHPGTK Web site has downloads and documentation for the GTK extension.

Before You Install

PHPGTK still has not reached the 1.0 version, and as such I wouldn't recommend that you use this version of PHP on your production Web server. In fact, there really isn't a reason that you'd want to install PHPGTK on your production Web server. It is a client-side application!
PHPGTK is a developers' toy at the moment, and anything is subject to change, at least before PHPGTK reaches version 1.0. Have some fun with it, try it out, but don't base your company's next big product on PHPGTK 0.5.0.

Installing on Windows

Installing PHPGTK on a Windows machine is fairly straightforward and similar to installing the normal version of PHP. Download the Windows binary file from the PHPGTK Web site at http://gtk.php.net.
Unzip the file using a zip utility such as WinZip. Extract the files to your C: drive.
The following folders are created when you unzip the file:
  • php4— Contains the PHP executable, as well as some GTK library files.
  • test— Contains some sample *.php files that use the GTK widget set.
If you are using Windows 98 or Windows ME, then you will notice that folders called "winnt" and "winnt/system32" have been created. You should copy the contents of those folders into your C:\windows directory. Note that you may have to set your system files to be viewable so that you can see the necessary DLL files to copy them over to C:\windows.
Additionally, you should see a new php.ini file. Copy this to your C:\Windows or C:\WINNT directory. Be sure to first back up your existing php.ini file.
To test out the installation, type the following from a command prompt:

c:\php4\php.exe -q c:\test\gtk.php 
 

Installing on Linux

Installing PHPGTK on Linux is easier than installing the normal PHP; you don't have to worry about compiling with Apache. You can compile GTK functionality into an existing standalone version of PHP, but for our purposes we'll start from scratch and make a brand new PHP executable that has GTK functionality built in. Before you begin:
  1. Download the source file for PHP from the download page at www.php.net.
  2. Download the source file PHPGTK from the download page of http://gtk.php.net.
Once you have the necessary file, unzip and untar the regular PHP source file:
tar -zxvf php-4.x.x.tar.gz
This creates a new directory named php-4.x.x, where the "x" denotes the exact version number of PHP that you downloaded.
Compile PHP using the minimum options. We just want to create a standalone executable. If you want to add additional functionality, you can recompile later. For now, you just want to make sure you can create a working version of PHPGTK. Change directory into your newly created PHP source directory. Compile by typing:
./configure
That's all there is to it. This automatically creates an executable that has built-in MySQL support as well.
Once you have the php binary file, you must copy it to /usr/local/bin. The PHPGTK installation will be looking for it in that location. You need to be root to do this.
cp php /usr/local/bin
Now, it's time to build the GTK extension onto your PHP executable. Go back to where you downloaded the PHPGTK source file and extract it:
tar -zxvf php-gtk-0.5.0.tar.gz
This creates a new directory named php-gtk-0.5.0. Change directory into that directory and compile the source file. You will need to be root to perform the final step, make install. To compile PHPGTK, type the following (a lot of text will print to the screen after you type each command):
  1. ./compile
  2. make
  3. make install
You can test your installation by going into the test directory and running a few of the scripts. X-Windows will need to be running!
cd test php -q gtk.php
A window should pop up showing various GTK widget buttons. Click the different widgets to get a brief idea of what they do.
 


top Database management system-PHP

This summary is not available. Please click here to view the post.

Session Hijacking-Protection

Session hijacking isn't new to computer security. The term is most commonly used to describe the process of a TCP connection taken over by a sequence prediction attack. In such an attack, the attacker gains control of an already established TCP connection. When applied to Web application security, session hijacking refers to the takeover of a Web application session.

HTTP is a stateless protocol with its origins in information dissemination. Clients request a particular resource, which eventually is delivered by the server hosting that particular resource. The goal of the World Wide Web in its early days was to provide a uniform medium of information dissemination via HTTP and rendering of the information via HTML. The information could also be cross-referenced by using hyperlinks. As time went by, servers were developed with the ability to handle dynamically generated content and execute programs that generated HTML. Soon enough, the need for interactivity increased. Because of its ability to handle text and graphics, the browser took the place of a universal client. Small-scale applications began to be hosted on Web servers with the use of CGI scripting, which extended the ability of universal participation to all Internet users who had a browser. No longer was an underlying operating system an issue. So long as you had a browser, you could use the application. Application development went from a central mainframe–terminal based concept to the client-server model, and back to the central Web server–browser based concept again.

These days, Web application servers host complex applications, such as an entire office productivity suite. Microsoft Outlook for the Web is an example of delivering a fully featured e-mail client over a Web browser. Lotus Domino servers provide a Web interface that lets users perform more or less the same tasks as can be performed via a Lotus Notes client.

All multiuser applications embody the concept of a user session. Each user interacts with the application via a separate user session. The application keeps track of all who are currently using the application via sessions. This capability is essential for segregating user activity.

Despite rapid changes in Web server technology, the HTTP protocol remained the same. Currently, HTTP 1.1 is still the most widely used HTTP protocol. The greatest hurdle in designing and hosting Web-based applications is to get around the statelessness of HTTP. There are no standards governing how a Web-based application should provide its own state-maintaining mechanism over HTTP. Developers tackle state preservation in different ways. There are poor and good ways of approaching this problem, although both approaches result in a workable application. The poor ways of implementing session states lead to attacks such as session hijacking.

Web and Database Port Listing


Table A-1. HTTP/1.1 Methods and Field Definitions Web and Database Port Listing
Port
Server
66
Oracle SQL*Net
80
Hyper Text Transfer Protocol (HTTP)
81
HTTP Proxy, Alternative HTTP Port, Cobalt Server Administration Port
443
Secure Socket Layer (SSL)
445
Microsoft SQL Server over NetBIOS
457
UnixWare/Netscape FastTrack Server
1080
SOCKS Proxy
1100
Oracle WebCache Listener
1241
KaZaA File Sharing Server (HTTP-like protocol)
1352
Lotus Domino (Notes)
1433
Microsoft SQL Server 2000
1434
Microsoft SQL Server over TCP/IP Redirector
1521–1530
Oracle
1944
Microsoft SQL Server 7
2301
Compaq Insight Manager, Compaq Survey Utility
3128
HTTP Proxy (Squid, NetCache, etc.)
3306
mySQL
4000
Oracle WebCache Listener
4001
Oracle WebCache Listener
4002
Oracle WebCache Listener
4100
Sybase 11.0 (jConnect)
5000
Sybase 12.x
5432
PostgreSQL
5800
VNC HTTP Console Port #1
5801
VNC HTTP Console Port #2
5802
VNC HTTP Console Port #3
6346
Gnutella (HTTP-like protocol)
6347
Gnutella (HTTP-like protocol)
7001
BEA WebLogic
7002
BEA WebLogic
8000
HTTP Proxy, Alternative HTTP Port, HP Web JetAdmin Version 6.0
8001
BEA WebLogic
Port
Server
8005
Apache Tomcat Administration Server (non-HTTP protocol)
8080
HTTP Proxy, Alternative HTTP Port
8888
HTTP Proxy, Alternative HTTP Port
30821
Netscape Enterprise Server Administration Server


Array Indexing-javascript

Array Indexing
Arrays in JScript are sparse. That is, if you have an array with three elements that are numbered 0, 1, and 2, you can create element 50 without worrying about elements 3 through 49. If the array has an automatic length variable (see Intrinsic Objects for an explanation of automatic monitoring of array length), the length variable is set to 51, rather than to 4. You can certainly create arrays in which there are no gaps in the numbering of elements, but you aren't required to. In fact, in JScript, your arrays don't have to have numbered subscripts at all. In JScript, objects and arrays are essentially identical to each other. The real difference is not in the data, but rather in the way you address the members of an array or the properties and methods of an object.
Addressing Arrays
There are two main ways to address the members of an array. Ordinarily, you address arrays by using brackets. The brackets enclose either a numeric value or an expression that evaluates to a nonnegative integer. The following example assumes that the entryNum variable is defined and assigned a value elsewhere in the script.
theListing = addressBook[entryNum];
theFirstLine = theListing[1];
This method of addressing is equivalent to the method for addressing objects, though in object addressing, what follows the period must be the name of an actual property. If there is no such property, your code generates an error. The second way to address an array is to make an object/array that contains properties that are numbered, and then generate the numbers in a loop. The following example generates two arrays, one for the name and one for the address, from a listing in addressBook. Each of these contains four properties. An instance of theName, for example, built from the [Name1] through [Name4] properties of theListing, might contain "G." "Edward" "Heatherington" "IV", or "George" "" "Sand" "".
theListing = addressBook[entryNum];
for (i = 1; i < 4; i++)  {
theName[i] = theListing["Name" + i];
theAddress[i] = theListing["Address" + i];
}
While this particular instance is short, and could easily have been written in the "dot" style of notation,that is, addressing theListing, theName, and theAddress as objects rather than as arrays, that is not always possible. Sometimes the particular property may not exist until run time, or there may be no way to know which one it will be in advance. For example, if the addressBook array were arranged by last name instead of by numbered listings, the user would probably be entering names "on the fly," while the script is running, to look people up. The following example assumes the existence of appropriate function definitions elsewhere in the script.
theListing = addressBook[getName()];
theIndivListing = theListing[getFirstName()];
This is associative addressing of the array, that is, addressing by means of fully arbitrary strings.

javascript Variable Scope

Microsoft JScript has two scopes: global and local. If you declare a variable outside of any function definition, it is a global variable, and its value is accessible and modifiable throughout your program. If you declare a variable inside of a function definition, that variable is local. It is created and destroyed every time the function is executed; it cannot be accessed by anything outside the function.
A local variable can have the same name as a global variable, but it is entirely distinct and separate. Consequently, changing the value of one variable has no effect on the other. Inside the function in which the local variable is declared, only the local version has meaning.
var aCentaur = "a horse with rider,";  // Global definition of aCentaur.

// JScript code, omitted for brevity.
function antiquities()  // A local aCentaur variable is declared in this function.
{

// JScript code, omitted for brevity.
var aCentaur = "A centaur is probably a mounted Scythian warrior";

// JScript code, omitted for brevity.
  aCentaur += ", misreported; that is, ";  // Adds to the local variable.

// JScript code, omitted for brevity.
}  // End of the function.

var nothinginparticular = antiquities();
aCentaur += " as seen from a distance by a naive innocent.";

/*
Within the function, the variable contains "A centaur is probably a mounted Scythian warrior,
misreported; that is, "; outside the function, the variable contains the rest of the sentence:
"a horse with rider, as seen from a distance by a naive innocent."
*/  
It's important to note that variables act as if they were declared at the beginning of whatever scope they exist in. Sometimes this results in unexpected behaviors.
var aNumber = 100;
var withAdditive = 0;

withAdditive += aNumber;  // withAdditive is now 100.
tweak();
withAdditive += aNumber;  // withAdditive is now 200.

function tweak()  {
var newThing = 0;  // Explicit declaration of the newThing variable.
// The next statement, if it were not commented out, would generate an error.
// newThing = aNumber;
// The next statement assigns the value 42 to the local aNumber, implicitly declaring it.
aNumber = 42;
if (false)  {
    var aNumber;  // This statement is never executed.
    aNumber = "Hello!";  // This statement is never executed.
    }  // End of the conditional.
}  // End of the function definition.
The statement that is commented out attempts to assign the value of the local variable aNumber to the local variable newThing. It fails, despite the fact that a local aNumber variable is defined elsewhere in the function, and therefore exists throughout. The aNumber variable does not have any assigned value at the point where this statement occurs in the code

home page design-seo tips

You have learned a lot and you are now capable of making your own websites! However, what you
have learned are the basics and there is still a lot more to be mastered. But you now have a good
foundation from which to build on.


  First, it is a good idea to maintain order and structure in your HTML documents. By posting
well arranged documents you will not only show others your mastery of HTML but will also
make it considerably easier for yourself to keep an overview.

 Stick to the standards and validate your pages. This cannot be stressed enough: Always write
clean XHTML, use a DTD and validate your pages on validator.w3c.org.

  Give your page contents. Remember that HTML is a tool, which enables you to present
information on the Internet, so make sure that there is information to present. Pretty pages
may look nice but most people use the Internet to find information.

 Avoid overloading your pages with heavy images and other fancy stuff you have found on
the Internet. It slows down the loading of the page and could be confusing for visitors. Pages
that take more than 20 seconds to load can lose up to 50% of their visitors.

Remember to add your website to search engines/directories so people other than your
closest family can find and enjoy it. On the front page of all search engines, you will find a
link to add new pages The most important is Google, but there are also others
like DMOZ, Yahoo, AltaVista, AlltheWeb and Lycos.

 In this tutorial, you have learned to use Notepad, which is a simple and very easy to use
editor, but perhaps you will find it helpful to use a more advanced editor which gives a
better overview and more possibilities.

CSS can be used for much more than specifying font types and sizes. For example, you can add
colours and backgrounds. Here are some examples for you to experiment with:

<p style="color:green;">Green text</p>
<h1 style="background-color: blue;">Heading on blue background</h1>
<body style="background-image: url('http://www.html.net/logo.png');">

GIF images are usually best for graphics and drawings, while JPEG images are usually better for
photographs. This is for two reasons: first, GIF images only consist of 256 colours, while JPEG images
comprise of millions of colours and second, the GIF format is better at compressing simple images,
than the JPEG format which is optimized for more complex images. The better the compression, the
smaller the size of the image file, the faster your page will load. As you probably know from your
own experience, unnecessarily 'heavy' pages can be extremely annoying for the user.

Aashiqui 2 Video Songs

Aashiqui 2  Cast : Aditya Roy Kapur, Shraddha Kapoor &
 Shaad Randhawa Director : Mohit Suri
Producer : Bhushan Kumar, Kishan Kumar & Mukesh Bhatt



Kalma full song


Will You Marry Me Banner: Ikkon Films Song: Kalma Singer: Toshi & Sharib Music
Bani Ishq Da Kalma Title Song GeoKahani - Video

Top 5 XML Sitemap generators tools

SitemapDoc
http://www.sitemapdoc.com/
Online tool: will create XML Sitemaps with up to 500 URLs; this is often
sufficient for smaller sites

iGooMap
http://www.pointworks.de
Comprehensive XML Sitemap generator for the Mac platform

Google Sitemap Generator
http://code.google.com/p/googlesitemapgenerator
Google’s own Python-based XML Sitemap generator

SiteMap Generator
http://wonderwebware.com/sitemap-generator
Freeware XML Sitemap generator for the Windows OS

Mapsbuilder
http://www.mapsbuilder.com

XML Sitemap validators tools

Validome
http://www.validome.org/google/validate
Can validate XML Sitemaps as well as XML Sitemap Index files;
free

XML Sitemap Validator
http://www.xml-sitemaps.com/validate-xml-sitemap.html
Free online validation for XML Sitemaps

Google Sitemap Checker
http://www.webmasterwebtools.com/sitemap-validation
Another free online validator