mirror of
https://github.com/php/web-php.git
synced 2026-03-24 07:12:16 +01:00
238 lines
7.6 KiB
PHP
238 lines
7.6 KiB
PHP
<?php
|
|
require_once 'prepend.inc';
|
|
|
|
$SIDEBAR_DATA='
|
|
<h3>More tutorials</h3>
|
|
<p>
|
|
There are other excellent PHP tutorials available:<br><br>
|
|
<a href="http://conf.php.net/">PHP presentations</a><br>
|
|
<a href="http://www.zend.com/zend/art/intro.php">Zend Intro to PHP</a><br>
|
|
<a href="http://www.hotwired.com/webmonkey/99/21/index2a.html">WebMonkey</a><br>
|
|
<a href="http://www.devshed.com/Server_Side/PHP/Introduction/">DevShed</a><br>
|
|
<a href="http://www.phpbuilder.com/getit/">PHP Builder</a><br>
|
|
<a href="http://www.melonfire.com/community/columns/trog/archives.php3?category=PHP">Melonfire</a><br>
|
|
|
|
<h3>Books</h3>
|
|
<p>
|
|
<a href="/books.php">Books</a> are convenient resources to begin exploring
|
|
PHP. <a href="/books.php">The titles listed here</a> will help you to start
|
|
learning PHP, as well as extending your existing knowledge.
|
|
</p>
|
|
';
|
|
|
|
commonHeader('PHP Tutorial');
|
|
|
|
function example($text) {
|
|
echo "<blockquote><table border=\"0\" cellpadding=\"3\" cellspacing=\"3\"><tr bgcolor=\"#d0d0d0\"><td>";
|
|
highlight_string($text);
|
|
echo "</td></tr></table></blockquote>";
|
|
}
|
|
?>
|
|
|
|
<h1>Introductory Tutorial</h1>
|
|
|
|
<p>
|
|
PHP is a tool that lets you create dynamic web pages. PHP-enabled
|
|
web pages are treated just like regular HTML pages and you can create
|
|
and edit them the same way you normally create regular HTML pages.
|
|
</p>
|
|
|
|
<h2>What do I need?</h2>
|
|
|
|
<p>In this tutorial we assume that your server has support for PHP
|
|
activated and that all files ending in <i>.php</i> are handled by PHP.
|
|
On most servers this is the default extension for PHP files, but
|
|
ask your server administrator to be sure. If your server supports
|
|
PHP then you don't need to do anything. Just create your <i>.php</i>
|
|
files and put them in your web directory and the server will
|
|
magically parse them for you. There is no need to compile anything
|
|
nor do you need to install any extra tools. Think of these
|
|
PHP-enabled files as simple HTML files with a whole new family
|
|
of magical tags that let you do all sorts of things.
|
|
</p>
|
|
|
|
<h2>Your first PHP-enabled page</h2>
|
|
|
|
<p>
|
|
Create a file named <i>hello.php</i> and in it put the following lines:
|
|
</p>
|
|
|
|
<?php example('<html><head><title>PHP Test</title></head>
|
|
<body>
|
|
<?php echo "Hello World<p>"; ?>
|
|
</body></html>
|
|
')?>
|
|
|
|
<p>
|
|
The colours you see are just a visual aid to make it easier to see
|
|
the PHP tags and the different parts of a PHP expression. Note also
|
|
that this is not like a CGI script. The file does not need to be
|
|
executable or special in any way. Think of it as a normal HTML
|
|
file which happens to have a set of special tags available to you
|
|
that do a lot of interesting things.
|
|
</p>
|
|
|
|
<p>
|
|
This program is extremely simple and you really didn't need to use
|
|
PHP to create a page like this. All it does is display:
|
|
<b>Hello World</b>
|
|
</p>
|
|
|
|
<p>
|
|
If you tried this example and it didn't output anything, chances
|
|
are that the server you are on does not have PHP enabled. Ask your
|
|
administrator to enable it for you.
|
|
</p>
|
|
|
|
<p>
|
|
The point of the example is to show the special PHP tag format.
|
|
In this example we used <b><?php</b> to indicate the start of
|
|
a PHP tag. Then we put the PHP statement and left PHP mode by
|
|
adding the closing tag, <b>?></b>. You may jump in and out
|
|
of PHP mode in an HTML file like this all you want.
|
|
</p>
|
|
|
|
<h2>Something Useful</h2>
|
|
|
|
<p>
|
|
Let's do something a bit more useful now. We are going to check
|
|
what sort of browser the person viewing the page is using.
|
|
In order to do that we check the user agent string that the browser
|
|
sends as part of its request. This information is stored in a variable.
|
|
Variables always start with a dollar-sign in PHP. The variable we
|
|
are interested in is <b>$HTTP_USER_AGENT</b>. To display this
|
|
variable we can simply do:
|
|
</p>
|
|
|
|
<?php example('<?php echo $HTTP_USER_AGENT; ?>')?>
|
|
|
|
<p>
|
|
For the browser that you are using right now to view this page,
|
|
this displays:
|
|
<blockquote><?php echo $HTTP_USER_AGENT; ?></blockquote>
|
|
There are many other variables that are automatically set by
|
|
your web server. You can get a complete list of them by creating
|
|
a file that looks like this:
|
|
</p>
|
|
|
|
<?php example('<?php phpinfo(); ?>');?>
|
|
|
|
<p>
|
|
Then load up this file in your browser and you will see a page
|
|
full of information about PHP along with a list of all the
|
|
variables available to you.
|
|
</p>
|
|
|
|
<p>
|
|
You can put multiple PHP statements inside a PHP tag and create
|
|
little blocks of code that do more than just a single echo.
|
|
For example, if we wanted to check for Internet Explorer we
|
|
could do something like this:
|
|
</p>
|
|
|
|
<?php example('<?php
|
|
if(strstr($HTTP_USER_AGENT,"MSIE")) {
|
|
echo "You are using Internet Explorer<br>";
|
|
}
|
|
?>');?>
|
|
|
|
<p>
|
|
Here we introduce a couple of new concepts. We have an "if"
|
|
statement. If you are familiar with the basic syntax used by the C
|
|
language this should look logical to you. If you don't know enough
|
|
C or some other language where the syntax used above is used, you
|
|
should probably pick up any introductory C book and read the first
|
|
couple of chapters. All the tricky string and memory manipulation
|
|
issues you have to deal with in C have been eliminated in PHP, but
|
|
the basic syntax remains.
|
|
</p>
|
|
|
|
<p>
|
|
The second concept we introduced was the strstr() function call.
|
|
strstr() is a function built into PHP which searches a string for
|
|
another string. In this case we are looking for "MSIE" inside
|
|
$HTTP_USER_AGENT. If the string is found the function returns true
|
|
and if it isn't, it returns false. If it returns true the following
|
|
statement is executed.
|
|
</p>
|
|
|
|
<p>
|
|
We can take this a step further and show how you can jump in and out
|
|
of PHP mode even in the middle of a PHP block:
|
|
</p>
|
|
|
|
<?php example('<?php
|
|
if(strstr($HTTP_USER_AGENT,"MSIE")) {
|
|
?>
|
|
<center><b>You are using Internet Explorer</b></center>
|
|
<?
|
|
} else {
|
|
?>
|
|
<center><b>You are not using Internet Explorer</b></center>
|
|
<?
|
|
}
|
|
?>');?>
|
|
|
|
<p>
|
|
Instead of using a PHP echo statement to output something, we jumped
|
|
out of PHP mode and just sent straight HTML. The important and powerful
|
|
point to note here is that the logical flow of the script remain intact.
|
|
Only one of the HTML blocks will end up getting sent to the viewer.
|
|
Running this script right now results in:
|
|
</p>
|
|
|
|
<?php
|
|
if (strstr($HTTP_USER_AGENT,"MSIE")) {
|
|
?>
|
|
<center><b>You are using Internet Explorer</b></center>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<center><b>You are not using Internet Explorer</b></center>
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
<h2>Dealing with Forms</h2>
|
|
|
|
<p>
|
|
One of the most powerful features of PHP is the way it handles HTML
|
|
forms. The basic concept that is important to understand is that any
|
|
form element in a form will automatically result in a variable
|
|
with the same name as the element being created on the target page.
|
|
This probably sounds confusing, so here is a simple example.
|
|
Assume you have a page with a form like this on it:
|
|
</p>
|
|
|
|
<?php example('<form action="action.php" method="post">
|
|
Your name: <input type="text" name="name">
|
|
You age: <input type="text" name="age">
|
|
<input type="submit">
|
|
</form>');?>
|
|
|
|
<p>
|
|
There is nothing special about this form. It is a straight HTML form
|
|
with no special tags of any kind. When the user fills in this form
|
|
and hits the submit button, the <i>action.php</i> page is called.
|
|
In this file you would have something like this:
|
|
</p>
|
|
|
|
<?php example('Hi <?php echo $name; ?>.
|
|
You are <?php echo $age; ?> years old.')?>
|
|
|
|
<p>
|
|
It should be obvious what this does. There is nothing more to it.
|
|
The $name and $age variables are automatically set for you by PHP.
|
|
</p>
|
|
|
|
<h2>What's next?</h2>
|
|
|
|
<p>
|
|
With what you know now you should be able to understand the online
|
|
manual and also the various example scripts available
|
|
in the example archives. Look at the <a href="/docs.php">Manual</a>
|
|
and our <a href="/links.php">Links</a> section.
|
|
</p>
|
|
|
|
<?php commonfooter(); ?>
|