WAD Unit-3
WAD Unit-3
Less Code: It saves a lot of code because you don't need to write the logic many times.
By the use of function, you can write the logic only once and reuse it.
Syntax
1. function functionname(){
2. //code to be executed
3. }
File: functionarg.php
1. <?php
2. function sayHello($name){
3. echo "Hello $name<br/>";
4. }
5. sayHello("Sonoo");
6. sayHello("Vimal");
7. sayHello("John");
8. ?>
Output:
Hello Sonoo
Hello Vimal
Hello John
File: functionarg2.php
1. <?php
2. function sayHello($name,$age){
3. echo "Hello $name, you are $age years old<br/>";
4. }
5. sayHello("Sonoo",27);
6. sayHello("Vimal",29);
7. sayHello("John",23);
8. ?>
Output:
By default, value passed to the function is call by value. To pass value as a reference,
you need to use ampersand (&) symbol before the argument name.
File: functiondefaultarg.php
1. <?php
2. function sayHello($name="Sonoo"){
3. echo "Hello $name<br/>";
4. }
5. sayHello("Rajesh");
6. sayHello();//passing no value
7. sayHello("John");
8. ?>
Output:
Hello Rajesh
Hello Sonoo
Hello John
File: functiondefaultarg.php
1. <?php
2. function cube($n){
3. return $n*$n*$n;
4. }
5. echo "Cube of 3 is: ".cube(3);
6. ?>
Output:
Cube of 3 is: 27
PHP header()
The header() is a pre-defined network function of PHP, which sends a raw HTTP
header to a client. One important point to be noted about the header() function is that it
must be called before sending any actual output.
The header() function sends an HTTP header in raw form to the client or browser.
Before sending any other output, the HTTP functions manipulate the information sent by
the web-server to the client or browser.
Syntax
1. void header (string $header, boolean $replace = TRUE, int $http_response_code)
Parameters
The header() function accepts three parameters, which are discussed below in detail:
$header (mandatory)
The header parameter contains the header string to send. This function has two types of
special header calls.
The first header starts with an "HTTP/" string, which locates the HTTP status code for
sending.
The second special case of header starts with "Location:" header. It not only sends
back the header to the browser, but it also provides a REDIRECT (302) status code to
the browser, until the 201 or 3xx status code has already been set.
$replace (optional)
This parameter is used for specifying whether a previous same header should be
replaced by the header or add another header of same type. The $replace is
a boolean type optional parameter.
The default value is TRUE, which means that it replaces the previous same header. But
you can bind several headers of same type if FALSE is passed as second argument.
http_response_code (optional)
The $http_response_code is an optional parameter, which forces the HTTP response
code to a specified value.
Note: The http_response_code parameter has an effect if the header is not blank.
Return Value
The PHP header() function does not return any value.
Changes
After PHP version 5.1.2, this function stops sending more than one header to prevent
the header injection attacks. It allows only one header at a time.
Uses
Examples
With the help of below examples, you can understand the actual working of header()
function in runtime environment-
1. <?php
2. // This will redirect the user to the new location
3. header('Location: http://www.javatpoint.com/');
4.
5. //The below code will not execute after header
6. exit;
7. ?>
Output
It will redirect to the new URL location, which is given in header() function of the above
program, i.e., www.javatpoint.com. If any line of code is written after the header(), it will
not execute.
Example 2: Redirection interval
The following code will redirect your user to another page after 10 seconds.
1. <?php
2. // This will redirect after 10 seconds
3. header('Refresh: 10; url = http://www.javatpoint.com/');
4. exit;
5. ?>
Output
The output will be same as the example 1, but it will take 10 seconds to load.
Note: If any line of code is written after the header() function, it will not execute.
1. <?php
2. // PHP program to describes header function
3.
4. // Set a past date
5. header("Expires: Tue, 03 March 2001 04:50:34 GMT");
6. header("Cache-Control: no-cache");
7. header("Pragma: no-cache");
8. ?>
9. <html>
10. <body>
11. <p>Hello Javatpoint!</p>
12.
13. <!-- PHP program to display
14. header list -->
15. <?php
16. print_r(headers_list());
17. ?>
18. </body>
19. </html>
Output
Hello Javatpoint!
Array (
[0] => X-Powered-By: PHP/7.3.13
[1] => Expires: Tue, 03 March 2001 04:50:34 GMT
[2] => Cache-Control: no-cache
[3] => Pragma: no-cache
)
Absolute URI
Absolute URI is required by some older clients, which includes the hostname, scheme,
and absolute path, whereas most contemporary clients accept relative URI as argument
to Location. To make absolute URI, you can
use $SERVER['PHP_SELF'], $SERVER['HTTP_HOST'], and dirname().
Example 4
Create two php files, one of which for containing header file code and another for
redirecting to a new page on the browser.
headercheck.php
1. <?php
2. $host = $_SERVER['HTTP_HOST'];
3. $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
4. $newpage = 'welcome.php';
5.
6. /* Redirect to a different page requested in the current directory*/
7. header("Location: http://$host$uri/$newpage");
8. exit;
9. ?>
welcome.php