≡ Menu

Explain: php_self or $_SERVER[‘PHP_SELF’] Usage

Can you explain usage of predefined variables called $_SERVER[‘PHP_SELF’]?

PHP programming language provides a lots of predefined variables. Your php script can access a large number of such predefined variables.

$_SERVER array

$_SERVER is an array defined in PHP and it stores information about your server and execution environment information.

$_SERVER[‘PHP_SELF’] variable

This array element points out the filename of the currently executing script. For example, if you run www.cyberciti.biz/index.php, $_SERVER[‘PHP_SELF’] would be /index.php. This is relative to the document root. This is useful to referring HTML forms and other element.

<div class="forumform">
<form action="' . $_SERVER[PHP_SELF]. '" method="post" onSubmit="return checkForm()" name="pforum">
Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 4 comments… add one }
  • Eugene March 19, 2009, 10:34 am

    There is also a magic php constant __FILE__ .

    The php.net documentation goes like this:
    The full path and filename of the file. If used inside an include, the name of the included file is returned. Since PHP 4.0.2, __FILE__ always contains an absolute path with symlinks resolved whereas in older versions it contained relative path under some circumstances.

  • Manko10 March 19, 2009, 6:22 pm

    Be careful!
    $_SERVER[‘PHP_SELF’] contains not only the path to the current PHP script, it also contains the PATH_INFO ($_SERVER[‘PATH_INFO’]). This is something very useful which allows you to attach further information to a file. For example MediaWiki uses it in this way: index.php/Article_Name whereas /Article_Name is the PATH_INFO.
    The downside is that this is a possible security vulnerability (XSS, CSRF etc.). To get the raw script name without any PATH_INFO you have to use $_SERVER[‘SCRIPT_NAME’].

  • yibss June 20, 2013, 7:49 am

    thank you.

  • Gustavo July 30, 2013, 4:25 pm

    I saw your form line..and I think there is a problem with that…The proper way to use it will be:

    <form action="” method=”post” onsubmit=”return formCheck(this)”; name=”pforum”>

    Thank you.

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , , ,