Introduction to php web programming - get and post

Preview:

Citation preview

Introduction to PHPWeb programming

Week 11, day2

Web programming

PHP with HTML

• You can embed PHP code inside html:<html>

<body>

<h1>

<?php

$str_one = "Helloo World!";

echo $str_one;

?>

</h1>

</body>

</html>

• Or you can call html from php:<?php

echo "<html><body><h2>Helloo Baabtra</h2></body></html>”;

?>

Client - Server communication with Form Data

When you submit the form- all form element data(username and password ) will

be send to the file ‚registration.php‛ which is residing on your server

HTML Form Example

HTML Form Example

Action specifies where to send the form data? Normally we specify a page which resides on server so that all form data will be

sent to that page. In this example when you click submit button data you entered will be send to “registation.php”

HTML Form Example

We can send data to server in two ways GET or POST.

Form action and methods

•There are two methods that we can send form data from client to server

• GET

• Allows you to send data as part of the query string.That means data will

be appended with the url

•http://example.org/index.php?list=user&orderby=name&direction=asc

• POST

Allows the client to send along a data payload, for example, if you are

posting an HTTP form, the payload could consist of the form data, while if

you are uploading a file, the payload would consist of the file itself. Payload

will be with HTTP request so that it will not be visible to the user

Comparison

• Data sent will be shown in the URL

• Size of Data can be send is limiter

normally ~2kb but its browser

dependant

• Cannot be used to send binary

data like image or document

• Bookmarking is possible with GET

method

• Data will not be shown with the browser

• No restrictions on size of data

• Can be used to send files

• Book marking is not possible with POST

method

GET POST

How will you get that data in ‚registration.php‛ ???

• All the form data sent via Get method will be stored in a super global Array

$_GET

• Eg: http://example.org/index.php?list=user&orderby=name&direction=asc

echo $_GET*’list’+;

• You can create arrays by using array notation...

Eg: http://example.org/index.php?list=user&order[by]=column&order[dir]=asc

•and then access them using the following syntax:

echo $_GET*’order’+*’by’+;

echo $_GET*’order’+*’direction’+;

How will you get that data in ‚registration.php‛ ???

• Similarly all the form data sent via POST method will be stored in a super global

array $_POST

•Eg:

echo $_POST*‘name’+; // will output baabtra

echo $_POST*‘email’+; // will output info@baabtra.com

When You Don’t Know How Data Is Sent

• If you want to receive data send by client browser but you don’t know the method

they used to send (GET or POST), you can do this by using $_REQUEST[] super

global array

• ie. $_REQUEST[] will contain what ever data you send in any method either GET

or POST.

• Eg: echo $_REQUEST*‘name’+;

Try this• Create a HTML form as below . Try both Get and POST methods

• Up on clicking submit button it should display what user have

entered

localhost/test/Registration.php

Baabtrainfo@baabtra.com

localhost/test/Registration.php

Managing File uploads

File Uploading

• File uploads are an important feature for many Web applications;

• A file can be uploaded through a ‚multi-part‛ HTTP POST

transaction.

<form enctype="multipart/form-data" action="index.php‚ method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="50000" />

<input type="file" name="filedata" />

<input type="submit" value="Send file" />

</form>

File Uploading

• File uploads are an important feature for many Web applications;

• A file can be uploaded through a ‚multi-part‛ HTTP POST

transaction.

<form enctype="multipart/form-data" action="index.php‚ method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="50000" />

<input type="file" name="filedata" />

<input type="submit" value="Send file" />

</form>

is an encoding type that allows files to be sent through a POST. Quite simply, without this

encoding the files cannot be sent through POST.

File Uploading

• File uploads are an important feature for many Web applications;

• A file can be uploaded through a ‚multi-part‛ HTTP POST

transaction.

<form enctype="multipart/form-data" action="index.php‚ method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="50000" />

<input type="file" name="filedata" />

<input type="submit" value="Send file" />

</form>

MAX_FILE_SIZE value is used to define the maximum file size allowed(in this case, 50,000 bytes)

File Uploading

• File uploads are an important feature for many Web applications;

• A file can be uploaded through a ‚multi-part‛ HTTP POST

transaction.

<form enctype="multipart/form-data" action="index.php‚ method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="50000" />

<input type="file" name="filedata" />

<input type="submit" value="Send file" />

</form>

Tip :You can limit the amount of data uploaded by a POST operation

by modifying number of configuration directives in php.ini, such as

post_max_size, max_input_time and upload_max_filesize.

How will you receive the file at server side?

• Once a file is uploaded to the server, PHP stores it in a temporary location and

makes it available to the script; It is up to the script to move the file to a safe

location. The temporary copy is automatically destroyed when the script ends.

• Inside your script, uploaded files will appear in the $_FILES super global multi

dimensional array. This array will have the following keys

– name : The original name of the file

– type : The MIME type of the file provided by the browser

– size : The size (in bytes) of the file

– tmp_name : The name of the file’s temporary location

– error : The error code associated with this file. A value of

UPLOAD_ERR_OK indicates a successful transfer

Built in functions for file upload()

• is_uploaded_file(filename) : returns true if the file has uploaded to the

temporary location in server

• Accepts and argument ‚filename‛ which refers to the name of the file in servers

temporary position.ie it will be $_FILE*‘filename’+*‘tmp_name’+

• move_uploaded_file(source,destination) : to move an uploaded file to a

different location

• Source refers to its current location which obviously is in the temporary

location in the server ie $_FILE*‘filename’+*‘tmp_name’+

• Destination refers to where to move the file along with its name eg.

‚images/profilePics/‛. $_FILE*‘filename’+*‘name’+

form enctype="multipart/form-data" action=‚register.php‚ method="post">

<input type="file" name="filedata" />

<input type="submit" value="Send file" />

</form>

Example – File Upload

Index.html

<?php

echo $_FILE*‘filedata’+*‘name’+; // prints the name of file uploaded

echo $_FILE*‘filedata’+*‘size’+; // prints the size of file uploaded

is_uploaded_file($_FILE*‘filedata’+*‘tmp_name’+)

{

$target=‚images/‛.$_FILE*‘filedata’+*‘name’+;

move_upload_file($_FILE*‘filedata’+*‘tmp_name’+,$target);

}

?>

Example – File Upload

Register.php

Questions?

‚A good question deserve a good grade…‛

End of day

Contact Us

Emarald Mall (Big Bazar Building)Mavoor Road, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

NC Complex, Near Bus StandMukkam, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

Start up VillageEranakulam,Kerala, India.

Email: info@baabtra.com