Friday, January 22, 2010
name of actress in bollywood
Thursday, January 21, 2010
Monday, January 4, 2010
File Upload Forms and Scripts
So far we've looked at simple form input. Browsers Netscape 2 or better and Internet Explorer 4 or better all support file uploads, and so, of course, does PHP. In this section, you will examine the features that PHP makes available to deal with this kind of input.
First, we need to create the HTML. HTML forms that include file upload fields must include an ENCTYPE argument:
ENCTYPE="multipart/form-data"
PHP also works with an optional hidden field that you can insert before the file upload field. It should be called MAX_FILE_SIZE and should have a value representing the maximum size in bytes of the file that you are willing to accept. This size cannot override the maximum size set in the upload_max_filesize field in your php.ini file that defaults to 2MB. The MAX_FILE_SIZE field is obeyed at the browser's discretion, so you should rely upon the php.ini setting to cap unreasonable uploads. After the MAX_FILE_SIZE field is entered, you are ready to add the upload field itself. It is simply an input element with a type argument of "file". You can give it any name you want. Listing 10.11 brings all this work together into an HTML upload form.
$_FILE Elements Element
Contains
Example
$ FILES['fupload']['name']
Name of uploaded file
test.gif
$_FILES['fupload']['tmp_name']
Path to temporary file
/tmp/phprDfZvN
$_FILES['fupload']['size']
Size (in bytes) of uploaded file
6835
$_FILES['fupload']['error']
An error code corresponding to a PHP constant
UPLOAD_ERR_FORM_SIZE
$_FILES['fupload']['type']
MIME type of uploaded file (where given by client)
image/gif
You can use the error element of an element in $_FILES to diagnose the reason for a failed upload. Assuming a file upload named 'fupload', we would find the error code in
$_FILES['fupload']['error]
lists the possible error codes.
$_FILE Error Constants Constant Name
UPLOAD_ERR_OK
0
No problem
UPLOAD_ERR_INI_SIZE
1
File size exceeds php.ini limit set in upload_max_filesize
UPLOAD_ERR_FORM_SIZE
2
File size exceeds limit set in hidden element named MAX_FILE_SIZE
UPLOAD_ERR_PARTIAL
3
File only partially uploaded
UPLOAD_ERR_NO_FILE
4
File was not uploaded
Armed with this information, we can write a quick and dirty script that displays information about uploaded files (see Listing 10.12). If the uploaded file is in GIF format, the script will even attempt to display it.
Redirecting the User in php aand mysql
Redirecting the UserOur simple script still has one major drawback. The form is rewritten whether or not the user guesses correctly. The fact that the HTML is hard-coded makes it difficult to avoid writing the entire page. We can, however, redirect the user to a congratulations page, thereby sidestepping the issue altogether. When a server script communicates with a client, it must first send some headers that provide information about the document to follow. PHP usually handles this task for you automatically, but you can choose to send your own header lines with PHP's header() function. To call the header() function, you must be sure that no output has been sent to the browser. The first time that content is sent to the browser, PHP sends out headers and it is too late for you to send your own. Any output from your document, even a line break or a space outside of your script tags, causes headers to be sent. If you intend to use the header() function in a script, you must make certain that nothing precedes the PHP code that contains the function call. You should also check any libraries that you might be using. Listing 10.9 shows a request (lines 1 and 2) followed by typical response headers sent to the browser by PHP. Listing 10.9 A Request Prompts Response Headers from a PHP Script1: HEAD /phpbook/source/listing10.8.php HTTP/1.0 2: Host:matt.corrosive.co.uk 3: 4: HTTP/1.1 200 OK 5: Date: Wed, 03 Sep 2003 13:52:09 GMT 6: Server: Apache/2.0.47 (Unix) PHP/5.0.0b1 7: X-Powered-By: PHP/5.0.0b1 8: Connection: close 9: Content-Type: text/html; charset=ISO-8859-1 You Can Browse the Web with Telnet
By sending a "Location" header instead of PHP's default, you can cause the browser to be redirected to a new page: header( "Location: http://www.corrosive.co.uk" ); Assuming that we have created a suitably upbeat page called congrats.html, we can amend our number-guessing script to redirect the user if she guesses correctly, as shown in Listing 10.10. Listing 10.10 Using header() to Send Raw Headers1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: if ( ! isset( $_POST['guess'] ) ) { 5: $message = "Welcome to the guessing machine!"; 6: } else if ( $_POST['guess'] > $num_to_guess ) { 7: $message = $_POST['guess']." is too big! Try a smaller number"; 8: } else if ( $_POST['guess'] < $num_to_guess ) { 9: $message = $_POST['guess']." is too small! Try a larger number"; 10: } else { // must be equivalent 11: header("Location:congrats.html"); 12: exit; 13: } 14: $guess = (int) $_POST['guess']; 15: $num_tries = (int) $_POST['num_tries']; 16: $num_tries++; 17: ?> 18: <!DOCTYPE html PUBLIC 19: "-//W3C//DTD XHTML 1.0 Strict//EN" 20: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 21: <html> 22: <head> 23: <title>Listing 10.10 A PHP Number Guessing Script</title> 24: </head> 25: <body> 26: <div> 27: <h1> 28: <?php print $message ?> 29: </h1> 30: Guess number: <?php print $num_tries?><br/> 31: 32: <form method="post" action="<?php print $_SERVER['PHP_SELF']?>"> 33: <p> 34: <input type="hidden" name="num_tries" value="<?php print $num_tries?>" /> 35: Type your guess here: <input type="text" name="guess" 36: value="<?php print $guess?>"/> 37: </p> 38: </form> 39: </div> 40: </body> 41: </html> The else clause of our if statement on line 10 now causes the browser to request congrats.html. We ensure that all output from the current page is aborted with the exit statement on line 12, which immediately ends execution and output, whether HTML or PHP. Remember that sending content to the browser causes HTTP headers to be sent. If you then call the header() function, you cause an error. You code defensively by checking that headers have not been sent before calling header(): if ( ! headers_sent() ) { header( "Location: http://www.example.com" ); exit; } If headers have been sent, the headers_sent() function returns true. headers_sent() also optionally accepts two empty variables, into which it places the filename and line number, defining the point at which headers were sent. This function can be very useful for debugging: if ( headers_sent( $file, $num ) ) { print "headers were sent in file: $file on line: $line"; } |
Using Hidden Fields to Save State
Using Hidden Fields to Save State
The script in Listing 10.7 has no way of knowing how many guesses a user has made. We can use a hidden field to keep track of this. The mark-up for a hidden field is similar to that of a text field. From the user's perspective, however, it has no output. A user cannot see a hidden field, unless he views the HTML source of the document that contains it. Listing 10.8 adds a hidden field to the number-guessing script and some PHP to work with it.
Listing 10.8 Saving State with a Hidden Field
1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: if ( ! isset( $_POST['guess'] ) ) { 5: $message = "Welcome to the guessing machine!"; 6: } else if ( $_POST['guess'] > $num_to_guess ) { 7: $message = $_POST['guess']." is too big! Try a smaller number"; 8: } else if ( $_POST['guess'] < $num_to_guess ) { 9: $message = $_POST['guess']." is too small! Try a larger number"; 10: } else { // must be equivalent 11: $message = "Well done!"; 12: } 13: $guess = (int) $_POST['guess']; 14: $num_tries = (int) $_POST['num_tries']; 15: $num_tries++; 16: ?> 17: <!DOCTYPE html PUBLIC 18: "-//W3C//DTD XHTML 1.0 Strict//EN" 19: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 20: <html> 21: <head> 22: <title>Listing 10.8 A PHP Number Guessing Script</title> 23: </head> 24: <body> 25: <div> 26: <h1> 27: <?php print $message ?> 28: </h1> 29: Guess number: <?php print $num_tries?><br/> 30: 31: <form method="post" action="<?php print $_SERVER['PHP_SELF']?>"> 32: <p> 33: <input type="hidden" name="num_tries" value="<?php print $num_tries?>" /> 34: Type your guess here: <input type="text" name="guess" 35: value="<?php print $guess?>"/> 36: </p> 37: </form> 38: </div> 39: </body> 40: </html>
The hidden field on line 33 is given the name "num_tries". We also use PHP to write its value. While we're at it, we do the same for the "guess" field on line 27 so that the user can always see his last guess. This technique is useful for scripts that parse user input. If we were to reject a form submission for some reason, we can at least allow our user to edit his previous query.
You Can Automate print() with Short Opening Tags
When you need to output the value of an expression to the browser, you can of course use print() or echo(). When you are entering PHP mode explicitly to output such a value, you can also take advantage of a special extension to PHP's short opening tags. If you add an equals (=) sign to the short PHP opening tag, the value contained will be printed to the browser. Note the following line: <? print $test;?> <?=$test?> Remember, though, that the short open tag might be disabled on some sites and interfere with XML. |
The variables $guess and $num_tries were extracted from the $_POST array on lines 13 and 14. We cast the values to integers and add one to $num_tries. The $num_tries variable is written to the value of the hidden field named 'num_tries' on line 33. Every time the user submits the form, the $_POST['num_tries'] element will have been incremented.
Combining HTML and PHP Code on a Single Page
Combining HTML and PHP Code on a Single Page
For some smaller scripts, you might want to include form-parsing code on the same page as a hard-coded HTML form. Such a combination can be useful if you need to present the same form to the user more than once. You would have more flexibility if you were to write the entire page dynamically, of course, but you would miss out on one of the great strengths of PHP. The more standard HTML you can leave in your pages, the easier they will be for designers and page builders to amend without reference to you. You should avoid scattering substantial chunks of PHP code throughout your documents, however. This practice makes them hard to read and maintain. Where possible, you should create functions that can be called from within your HTML code and can be reused in other projects.
For the following examples, imagine that we are creating a site that teaches basic math to preschool children and have been asked to create a script that takes a number from form input and tells the user whether it is larger or smaller than a target integer.
Listing 10.6 creates the HTML. For this example, we need only a single text field and some PHP to display the user input.
Listing 10.6 An HTML Form That Calls Itself
1: <!DOCTYPE html PUBLIC 2: "-//W3C//DTD XHTML 1.0 Strict//EN" 3: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4: <html> 5: <head> 6: <title>Listing 10.6 An HTML Form that Calls Itself</title> 7: </head> 8: <body> 9: <div> 10: <?php 11: if ( ! empty( $_POST['guess'] ) ) { 12: print "last guess: ".$_POST['guess']; 13: } 14: ?> 15: <form method="post" action="<?php print $_SERVER['PHP_SELF']?>"> 16: <p> 17: Type your guess here: <input type="text" name="guess" /> 18: </p> 19: </form> 20: </div> 21: </body> 22: </html>
We open our form element on line 15. Notice that we use $_SERVER['PHP_SELF'] to point the form back at its enclosing script. We could leave the action element out altogether, and most browsers would resubmit the form by default. That would break our conformance to XHTML, however. On line 11, we test the $_POST array for the existence of a 'guess' element and print it to the browser if we find it.
In Listing 10.7, we begin to build up the PHP logic of the page. First, we need to define the number that the user will guess. In a fully working version, we would probably randomly generate it, but for now we keep it simple. We assign 42 to the $num_to_guess variable on line 2. Next, we need to decide whether the form has been submitted so that we do not attempt to assess arguments that have not yet been made available. We test that the 'guess' element has been set in the $_POST array on line 4. If a user has submitted the form, this element is set, even if he has submitted an empty string or 0. So if the 'guess' element is absent, we can safely assume that the user has arrived at the page without submitting a form. If the element is present, we can go ahead and test the value it contains.
Listing 10.7 A PHP Number-Guessing Script
1: <?php 2: $num_to_guess = 42; 3: $message = ""; 4: if ( ! isset( $_POST['guess'] ) ) { 5: $message = "Welcome to the guessing machine!"; 6: } else if ( $_POST['guess'] > $num_to_guess ) { 7: $message = $_POST['guess']." is too big! Try a smaller number"; 8: } else if ( $_POST['guess'] < $num_to_guess ) { 9: $message = $_POST['guess']." is too small! Try a larger number"; 10: } else { // must be equivalent 11: $message = "Well done!"; 12: } 13: 14: ?> 15: <!DOCTYPE html PUBLIC 16: "-//W3C//DTD XHTML 1.0 Strict//EN" 17: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 18: <html> 19: <head> 20: <title>Listing 10.7 A PHP Number Guessing Script</title> 21: </head> 22: <body> 23: <h1> 24: <?php print $message ?> 25: </h1> 26: <form method="post" action="<?php print $_SERVER['PHP_SELF']?>"> 27: <p> 28: Type your guess here: <input type="text" name="guess" /> 29: <input type="submit" value="submit" /> 30: </p> 31: </form> 32: </body> 33: </html> The logic of this script consists of an if statement that determines which string to assign to the variable $message. If the $_POST['guess'] element has not been set, we assume that the user has arrived for the first time and assign a welcome string to the $message variable on line 5.
Otherwise, we test the 'guess' element against the number we have stored in $num_to_guess and assign advice to $message accordingly. We test whether 'guess' is larger than $num_to_guess on line 6 and whether it is smaller than $num_to_guess on line 8. If 'guess' is neither larger nor smaller than $num_to_guess, we can assume that it is equivalent and assign a congratulations message to the variable (line 11). Now all we need to do is print the $message variable within the body of the HTML.
There are a few more additions yet, but you can probably see how easy it would be to hand this page over to a designer. He can make it beautiful without having to disturb the programming in any way.
Accessing Form Input with User-Defined Arrays
Accessing Form Input with User-Defined Arrays
The examples so far enable us to gather information from HTML elements that submit a single value per element name. This leaves us with a problem when working with select elements. These elements make it possible for the user to choose multiple items. Suppose we name the select element with a plain name:<select name="products" multiple="multiple">The script that receives this data will only have access to a single value corresponding to this name in $_REQUEST['products']. We can change this behavior by renaming any elements of this kind so that its name ends with an empty set of square brackets. We do so in Listing 10.4.
Listing 10.4 An HTML Form with a select Element
1: <!DOCTYPE html PUBLIC 2: "-//W3C//DTD XHTML 1.0 Strict//EN" 3: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4: <html> 5: <head> 6: <title>Listing 10.4 An HTML Form with a 'select' Element</title> 7: </head> 8: <body> 9: <div> 10: <form action="listing10.5.php" method="post"> 11: <p><input type="text" name="user" /></p> 12: <p> 13: <textarea name="address" rows="5" cols="40"> 14: </textarea> 15: </p> 16: <p> 17: <select name="products[]" multiple="multiple"> 18: <option>Sonic Screwdriver</option> 19: <option>Tricorder</option> 20: <option>ORAC AI</option> 21: <option>HAL 2000</option> 22: </select> 23: </p> 24: <p><input type="submit" value="hit it!" /></p> 25: </form> 26: </div> 27: </body> 28: </html>In the script that processes the form input, we now find that input from the "products[]" form element created on line 17 will be available as an array indexed by the name products in either $_POST or $_REQUEST. products[] is a select element, and we offer the user multiple choices using the option elements on lines 18 to 21. We demonstrate that the user's choices are made available in an array in Listing 10.5.
Listing 10.5 Reading Input from the Form in Listing 10.4
1: <!DOCTYPE html PUBLIC 2: "-//W3C//DTD XHTML 1.0 Strict//EN" 3: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 4: <html> 5: <head> 6: <title>Listing 10.5 Reading Input from the Form in Listing 10.4</title> 7: </head> 8: <body> 9: <div> 10: <?php 11: print "Welcome <b>".$_POST['user']."</b><br/>\n"; 12: print "Your address is:<br/><b>".$_POST['address']."</b><br/>\n"; 13: 14: if ( is_array( $_POST['products'] ) ) { 15: print "<p>Your product choices are:</p>\n"; 16: print "<ul>\n"; 17: foreach ( $_POST['products'] as $value ) { 18: print "<li>$value</li>\n"; 19: } 20: print "</ul>\n"; 21: } 22: ?> 23: </div> 24: </body> 25: </html>On line 11, we access the $_POST['user'] element, which is derived from the user form element. On line 14, we test the $_POST['products'] element. If the element is an array as we expect, we loop through it on line 17, outputting each choice to the browser on line 18.
Although this technique is particularly useful with the select element, in fact it works with any form element at all. By giving a number of check boxes the same name, for example, you can allow a user to choose many values within a single field name. As long as the name you choose ends with empty square brackets, PHP compiles the user input for this field into an array. We can replace the select element from lines 12–17 in Listing 10.4 with a series of check boxes to achieve exactly the same effect:
<input type="checkbox" name="products[]" value="Sonic Screwdriver" />Sonic Screwdriver<br/> <input type="checkbox" name="products[]" value="Tricorder" />Tricorder<br/> <input type="checkbox" name="products[]" value="ORAC AI" />ORAC AI<br/> <input type="checkbox" name="products[]" value="HAL 2000" />HAL 2000<br/>
Importing User Input into Global Scope
It is possible, but not recommended, to import fields from a form submission into global variables. This behavior was once the default for PHP. Although it was useful for quick scripts, it represented a security risk, with the prospect of user-submitted values overwriting script variables. You can change the new default by altering the php.ini file. You can also import user input explicitly with the import_request_variables() function. This function requires a string representing the types to import and another optional but advisable string that adds a prefix to all imported variable names. The types argument can be any combination of g, p and c, standing for get, post, and cookies, respectively. If you only use one or two of these letters, then only the corresponding parameters are imported. The order is important in that earlier types are overwritten by later ones. That is, with the string gp, get variables are overwritten by post variables of the same name. Suppose an input element called username is submitted via the get method:
We could call import_request_variables() in the following way:
import_request_variables( "g", "import_" );
This line would create a global variable called $import_username, containing the user-submitted value for the username field. All other fields submitted would be similarly imported.
The register_globals php.ini Directive Is Disabled
Versions of PHP prior to 4.2 shipped with the php.ini register_globals directive set to 'Yes' by default. This caused submitted parameters ('user' and 'address' in Listing 10.2) to be generated as global variables ($user, $address). This functionality is now disabled by default, and register_globals is set to 'No'. You can reverse this setting yourself by setting register_globals back to 'Yes' in the php.ini file, but use of automatic globals is now actively discouraged because of the potential security risks involved.
The superglobal variables $_GET, $_SET, and $_REQUEST are unaffected by the register_globals directive.
Reading Input from the Form
Reading Input from the Form in Listing 10.2
1:
2: "-//W3C//DTD XHTML 1.0 Strict//EN"
3: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4:
5:
6:<a class="docLink" href="#ch10list03">Listing 10.3</a> Reading Input from the Form in <a class="docLink" href="#ch10list02">Listing 10.2</a>
7:
8:
9:15:
10: 11: print "Welcome ".$_GET['user']."
\n\n";
12: print "Your address is:
".$_GET['address']."";
13: ?>
14:
16:
Some Common $_SERVER Elements Variable
$_SERVER['PHP_SELF']
The current script. Suitable for use in links and form element action arguments.
/phpbook/source/listing10.1.php
$_SERVER['HTTP_USER_AGENT']
The name and version of the client.
Mozilla/4.6 –(X11; I;Linux2.2. 6-15apmac ppc)
$_SERVER['REMOTE_ADDR']
The IP address of the client.
158.152.55.35
$_SERVER['REQUEST_METHOD']
Whether the request was GET or POST.
POST
$_SERVER['QUERY_STRING']
For GET requests, the encoded data sent appended to the URL.
name=matt&address=unknown
$_SERVER['REQUEST_URI']
The full address of the request, including query string.
/phpbook/source/listing10.1.php? name=matt
$_SERVER['HTTP_REFERER']
The address of the page from which the request was made.
http://p24.corrosive.co.uk/ref.html
PHP Superglobal Arrays Array
Description
$_COOKIE
Contains keys and values set as browser cookies
$_ENV
Contains keys and values set by the script's shell context
$_FILES
Contains information about uploaded files
$_GET
Contains keys and values submitted to the script using the HTTP get method
$_POST
Contains keys and values submitted to the script using the HTTP post method
$_REQUEST
A combined array containing values from the $_GET, $_POST, and $_COOKIES superglobal arrays
$_SERVER
Variables made available by the server
$GLOBALS
Contains all global variables associated with the current script
Working with Forms
How to access information from form fields?
How to work with form elements that allow multiple selections?
How to create a single document that contains both an HTML form and the PHP code that handles its submission?
How to save state with hidden fields?
How to redirect the user to a new page?
How to build HTML forms that upload files and how to write the PHP code to handle them?
Saturday, January 2, 2010
"पाउजु त राम्रो ",hemant sharma new nepali song
hemant sharma, nepal नेपाली nepalese song, music folk dohori, culture pop, rock love, video kathmandu, beni bazar, myagdi, latest, lok, modern, rap, movie, hip, hop, film, jyamrukot, baglung, dhaulagiri, pokhara, everest, mechi, mahakali, kali, gandaki, dipen, malla, remix, new, hq, official
जाले रुमाल उडेर मेरो जाले...Hemant Sharma.
nepali music video, hemanत sharma,उडेर मेरो जाले,Nepali Pop Song. Hemant Sharma."BISES" थाप न थाप हाथै मा माया को चिनो मायालु जाला उडेर मेरो जाले...
ल हौ भने रसाइ देउ..Hemant Sharma
nepali pop song.hemant sharma, "आत्मीय" हेमन्त शर्मा,मुल हौ भने रसाइ देउ..Hemant Sharma.
उकाली उकालीमा जादा जादै by Hemanta Sharma
उकाली उकालीमा जादा जादै by Hemanta Sharma ,ukali ukalima jada jadai, hemanta, sharma, उकाली उकालीमा जादा जादै by Hemanta Sharma
hemanta sharma kancho chha joban shancho
hemanta sharma, kancho chha, joban shancho, nepali hit songs
paap punya new star artist
hemanta rana, paap punya, nepal nepali pop song, music video,paap punya new star artist
"थाप न थाप" भन्ने बोलको गीत
nepali hot song, hot song, movie song, new song, adhunik song, hit song, nepali hit song, nepali remix song, remix song, nice video, nice song, top song,Thapa na thapa ..hemanta sharma
"Juna Prasai"'s Nepali song Nadekheko bhaye-
नेपाली आधुनिक गीत, सुपर हिट गीत,
nepali song, pop, adhunik jeet, juna prasai,"Juna Prasai"'s Nepali song Nadekheko bhaye-
मेरो माया मारे पछि
नेपाली गीतका तारा हेमन्त सर्माको "मेरो माया मारे पछि" बोलको गीत
nepali pop adhunik geet, song of nepal, mero maya, hemanta sharma songs
नेपालीमा राशिफल
नेपालीमा राशिफल २०१०/०१/०२
पुस-१६
१ मानसिक सुखको लागि संयम राख्नु पर्ने
२ भाइ-बहिनीबाट भरपुर सहयोग मिल्ने
३ सुन वा अमुल्य वस्तुको प्रप्तिले मन प्रसन्न
४ योग वा साधनाले संकट टाल्न सक्ने
५ दण्ड वा सजाय मिल्न सक्ने संभावना
६ ज्वाइँसँग नरिसाउदा फाइदा हुने
७ व्यापार धन्दामा आश्चर्यजनक उन्नति हुने
८ पर्यटन सम्बन्धी काममा ज्यादा लाभ हुन
९ गुप्त चिन्ताले पिरोलिरहने संयम राख्नु राम्रो
१० स्वास्थ्यमा समस्या आउने
११ मामाघरबाट निम्तो मिल्ने
१२ सन्तानको खुशिले मन प्रसन्न हुने
Friday, January 1, 2010
माया त यस्तो होस् hemanta sharma song
nepalese song, nepali folk pop modern song, hemant sharma's maya ta yesto hos,
माया त यस्तो होस् hemanta sharma song,NEPALESE FOLK POP SONG , MAYA TA YESTO HOS.... , ARTIST :- HEMANATA SHARMA , ALBUM :- " LOKPRIY " .
मिठो मुस्कान भन्ने गीत Ani Choying Dolma. ले गाएको
nepali peace, music, video, ani, choying, dolma, durungchunge, magar,nepali peace music video, ani choying dolma, नेपाली भिडियो, नेपाली गीत,
hayaka sima-ani choying dolma popular songs
hayaka sima newari song, ani choying dolma song, nepali songs
फुलको आखाँमा फुलै संसार by Ani Choing Nepali Song
phool, ko, ankha, ma, ani, choing, dolma, nepali, classic, song, phool ko ankha ma, ani choing dolma, nepali classic song
Ani Choying Dolma एउटा हाम्रो मात्रिभुमी
yeutai, hamro, matribhumi, song, songs, music, eutai, hami, jati, ani, choying, dolma, himal, chati, nepal, nepali, nepalese,Ani Choying Dolma एउटा हाम्रो मात्रिभुमी, ani choying songs
चिया बारीमा हो चिया बारिमा, Nepali Remix song (Chiyabarima)
nepali music remix, hot model of nepal, mp3 songs of nepal,Nepali Re-mix song chiyabarima by DJ santosh,nepali music remix, hot model of nepal, mp3 songs of nepal
Machi Marana,माछी मार न है दाजु , Nepali Song Remix
Machi Marana,माछी मार न है दाजु , Nepali Song Remix,nepal and nepali music, machi marana dhadiya, pokhara fewatal remix, nepali animation, real songs in nepal, popular songs in nepal
सुन सुन मायालु जोडी हो मायालु जोडी हो नछुटाउनु मायालु जोडी यो मनमा फुल्यो फुल मानमा फुल्यो फुल माया जिवनमा न गर्नु है भुल
सुन सुन मायालु जोडी हो मायालु जोडी हो नछुटाउनु मायालु जोडी यो मनमा फुल्यो फुल मानमा फुल्यो फुल माया जिवनमा न गर्नु है भुल, नेपाली लोकप्रिय गीतहरु,Nepalese popular song
रेली खोला बगर काफल पाक्यो लहर, नेपाली गीतहरु
रेली खोला बगर काफल पाक्यो लहर, नेपाली गीतहरु,नेपाली रिमिक्स,nepali remix song, nepali geet, nepali songs
Djibouti hot video
Named after the bottom point of the Gulf of Tadjoura. Possibly derived from the Afar word gabouti, a type of doormat made of palm fibres. Another plausible, but unproven, etymology is that "Djibouti" means "Land of Tehuti" or Land of Thoth, after the Egyptian Moon God.
* French Territory of the Afars and the Issas (former name): after the colonial ruler (France) and the two main ethnic groups in the country. See also France, below.
* French Somaliland (former name): after the colonial ruler (France). For Somaliland see Somalia below.
Djibouti hot video, Djibouti hot video, Djibouti hot pictures, Djibouti Girls hot video, Djibouti hot models,Djibouti hot chicks,Djibouti hot celebrity, Djibouti hot actress, Djibouti's hot video, Djibouti description
Denmark hot video
From the native name Danmark, meaning "march (i.e., borderland) of the Danes", the dominant people of the region since ancient times. The origin of the tribal name is unknown, but one theory derives it from the Proto-Indo-European root dhen: "low" or "flat", presumably referring to the low elevation of most of the country.
hot Denmark hip Hop best, ass shaking video ever,Denmark hot video, Denmark hot video,Denmark hot pictures,Denmark hot video,Denmark els,Denmark hot chicks,Croatia hot celebrity, Denmark hot actress, Denmark's hot video, Denmark description,Denmark sexy video
Czech Republic hot video
From Cechové (Ceši, i.e. Czechs), the name of one of the Slavic tribes on the country's territory, which subdued the neighboring Slavic tribes around 900. The origin of the name of the tribe itself remains unknown. According to a legend, it comes from their leader Cech, who brought them to Bohemia. Most scholarly theories regard Cech as a sort of obscure derivative, e.g. from Ceta (military unit).
hot Czech Republic hip Hop best, ass shaking video ever,Czech Republic hot video, Czech Republic hot video,Czech Republic hot pictures, Czech Republic Girls hot video,Czech Republic hot models,Czech Republic hot chicks,Czech Republic hot celebrity, Czech Republic hot actress, Czech Republic's hot video, Czech Republic cription, Czech Republic sexy video
Czechoslovakia hot video
Roughly "land of the Czechs and Slovaks", from the two main Slavic ethnic groups in the country, with "Slovak" deriving from the Slavic for "Slavs"; and "Czech" ultimately of unknown origin.
hot Czechoslovakia hip Hop best, ass shaking video ever,Czechoslovakia hot video, Czechoslovakia hot video,Czechoslovakia hot pictures, Czechoslovakia Girls hot video,Czechoslovakia hot models,Czechoslovakia hot chicks,Czechoslovakia hot celebrity, Czechoslovakia hot actress,Czechoslovakia's hot video, Cyprus description, Czechoslovakia sexy video
Cyprus hot video
Derived from the Greek ??p??? (Kypros) for "copper", in reference to the copper mined on the island in antiquity.
hot Cyprus hip Hop best, ass shaking video ever,Cyprus hot video, Cyprus hot video,Cyprus hot pictures, Cyprus Girls hot video,Cyprus hot models,Cyprus hot chicks,Cyprus hot celebrity, Cyprus hot actress, Cyprus's hot video, Cyprus description, Cyprus sexy video




