ISP requirements & downloads Click here to contact www.ics-php.com
Requirements
Before you begin anything You should check out if you have in your pc notepad.exe and also arrange to view any file extension on your pc.
You only need a dedicated web server that provides you the PHP extensions [extension.php] , then only if you want a total check & test control of your php-programming on your local machine , all the programs listed & linked for download herein aside.
For example suppose you make a draft for your index.php , just publish t.index.php ['''t''' stays for test] , then if the page outputs the desired results , just rename it into index.php and you have done it ! [...we use this technique, from a while now, to manage all you see on ics-php.com]
The same you can do with any page and entire directories.

Shortcut your learning path subscribe to ICS !
Win-localhost easy stable choose
[apache php mysql phpMyAdmin]
Windows 98 : php  apache  phpMyAdmin  MySQL
[ftp...ing & chmod] WS_FTP LE 6  AceFTP3 Free
...Search the web for Updates of the above programs , they may be outdated , but still fit for getting started with your PHP !
If you are not familiar with Html and JavaScript you may check the following link for the best editors
Nb : We do not recommend the use of any editor even though you are totally unaware of these languages , gradually , if you are accurate by Copy and Paste , you will manage the whole lot by following our learning suggested paths in the members area and by the sole help of your windows-Notepad.
For more client snippets, design and tips check :  CLONE
Web Designer newbies should try to keep separated PHP code from their editors, by adding it manually and set php extension to all their files when projecting websites. Their php scripts should always be set at the beginning of their pages, expecially if php scripts contain header() or setcookie() functions, this will avoid errors and malfunctioning. Start up with a basic php website
Php-Authenticate Tour
Ics Self Service Admin Forum
italian www.ics-php.com english



How does PHP work and what is localhost
AppServ will install in your Pc Apache Php MySQL to run an internal Pc Server for exercising your php-programming.
We recommend to beginners to install the "easy" version of AppServ and insert in the install MySQL window the future access data that will be used when publishing on a real website.

Imagine your hard disk divided in 2 parts : A - B
Part A is the localhost and is structured as a Server and will be installed by AppServ [...and will serve Part B of your hard disk ]
localhost includes :
- Apache Server having the module PHP that has a path to comunicate with MySQL Server
- MySQL Server
The remaining part B of your hard disk, will be the "Client" and will include all programs an applications and of course your Browsers.

Just as by surfing the web for any http-URL with your browser, you can query your localhost by typing in your preferred Browser :
http://localhost/ corresponding to the folder where you have installed AppServ C:\AppServ\www   [ details ]
...so any file you place in that folder C:\AppServ\www will be returned into your browser just the same as it would be processed and returned from a real WebServer
...so if you place a test file in that folder e.g. : test.php simply encode that to the URL string like this : http://localhost/test.php and part B (your machine), by using your browser asks a file to Apache in part A
...The php-parser of Apache checks also if there is any relation or query in the file to the MySQL Server and if so, these are parsed by PHP that translates the results in html and javascript to the client-browser in a final OUTPUT.
All what happens in localhost is just the same as on the real Web Server provided of Php-Extensions
So you can exercise and test your code in localhost before publishing on your Web Server.



Webdesign Tips
Webdesigners normally start unaware of interactivity server-supports to design their projects. Then one day they find out that with Php they can get support for webmailing, or they need a database to store access data for a Members'Area into their templates, or supporting a Chat or a Php-based Forum. A bad new is that they will have to rework a lot of links and change a lot of file extensions into their folders.
A php file returns all html code that contains under the control of the php parser, whilst all php code that might be included into an html file, is not returned ...UNLESS the server administrator has set a Cross Scripting System for their users.
The cross scripting settings consists in processing html-files just as they were php and this means that before the Web Server returns an answer to the Client the php parser must be activated for each html request too ... this means much more server internal activity also for pages that really do not need to be processed, it involves more efforts and power to get thngs flowing. [ so this is normally not set in the majority of the web servers ]

As a result of this if a php script is set into an html file the code will not be properly parsed by the server that will read that code as "broken-text" partially hidden by the opening php script tag ...so the following code :
<?echo"<b>PHP</b>";?> ...will return : PHP";?>
Rightclick here and check the above few lines in this source to see it.
That php code above [in red] should have outputted in an html cross script server-settings the following result : PHP
The text in above line [ in black and bold ] would be the result of a file in php extension containing the same code outlayed in red a few lines above. ...in conclusion a file in php extension can contain html code and javascript before and after the php code, but a file in html extension cannot normally host php code in its source.
Besides that it is to be reminded that if in a php file some functions and scripts in php are set after html and javascript code, they will not be properly parsed and executed by the Web Server, a way around to this is to use sometime the javascript support in such cases instead.



A way around example →  
Suppose you have the following file : any_file.php
....this file contains the following code :
<html>
<script language=javascript>
<!--
alert('Please Login');
//-->
</script>
<?# This code may not work
if(!isset($PHP_AUTH_USER) || !isset($PHP_AUTH_PW))
{header("Location:http:/login.php");exit;}
/*Warning: Cannot modify ... [ details ]*/
?>
Add some more html line after the php script...
...images and other objects <img src=my_photo.jpg>
</html>
<html>   <!--   [ http://www.m-php.com/any_file.php ]   -->
<script language=javascript>
<!--
alert('Please Login');
//-->
</script>
<?
if(!isset($PHP_AUTH_USER) || !isset($PHP_AUTH_PW))
{echo"
<script language=javascript>
<!--    This will work also if . . . [ output_buffering = 0 ]
location.href='http:/login.php';
//-->
</script>
";exit;}
?>...add images and other objects HEREAFTER
</html>
The code in the left cell could generate the typical error of php :
"Warning: Cannot modify header information - headers already sent... [ details ]"
Nb : in php.ini file output_buffering must be commented or set to 0 in order to get the error above [ output_buffering = 4096 ]
Output buffering allows you to send header lines (including cookies) even after you send body content, at the price of slowing PHP's output layer a bit. You can enable output buffering during runtime by calling the output buffering functions. You can also enable output buffering for all files by setting this directive to On. If you wish to limit the size of the buffer to a certain size - you can use a maximum number of bytes instead of 'On', as a value for this directive. ...In recent versions of php as in 4.3.11 AppServ - Stable this parameter allows the php code to retrieve the headers that were already sent, so no error will be returned in this case.