PDA

View Full Version : .php



Alexis
09-08-2003, 03:24 AM
Hey --

I'm pretty ok with html but I haven't used .php file extensions yet. Could anybody tell me
a ) when to use them
b ) how to use them
c ) any msc information regarding them
d ) or reccomend a really good tutorial for them?

Any help would be greatly appreciated :)

-- Alexis

Kęton
09-08-2003, 03:45 AM
I'm going to warn you now that PHP can be seriously confusing.

You usually use PHP for things like forums--stuff to tell you current things or more on the line of interaction, cookies, status, etc.

The tutorials you find out there are not good enough for you to understand a lot... I tried to learn PHP awhile back, but I got really pissed because I only understood how to do includes, and that's about it.

PHP is long, usually, but it makes pages using the same stuff easier to use (in some cases), but it takes a lot of work and such to like... understand it.

Bottom line--If you want to learn PHP, it'll take longer than HTML, that's for sure. Hopefully you have more luck than I did learning the thing :lol:.

Alexis
09-08-2003, 04:10 AM
So what do you use as an alternative (my friend told me they're used for layouts with tables) to .php?

Thanks for your advice, though :lol:

Alex
09-08-2003, 10:11 AM
PHP is a free server-side programming language which you can "code" your WebPages with and plug your site into a database ect ect. You could think about it like HTML on hard drugs. LPA has all of its content stored in one database, none of the "content" you see is hard-coded as html, this is good because we can use our 'content management system' (CMS) to update the site at anytime just by updating the data in the database, no uploading new pages needed

Of course PHP is not the only server-side programming language. You can also find the likes of; Perl & Python (.cgi), JavaServer Pages (.jsp), Active Server Pages (.asp), Cold Fusion (.cfm)

PHP can be as simple as importing a another file or as complex as this forum depending on what you want to do.

Below is just a little snippet of the code from this invision forum ;)



<?php

/*
+--------------------------------------------------------------------------
| Invision Power Board v1.1
| ========================================
| by Matthew Mecham
| (c) 2001,2002 Invision Power Services, Inc
| http://www.ibforums.com
| ========================================
| Web: http://www.ibforums.com
| Email: phpboards@ibforums.com
| Licence Info: phpib-licence@ibforums.com
+---------------------------------------------------------------------------
|
| > Wrapper script
| > Script written by Matt Mecham
| > Date started: 14th February 2002
|
+--------------------------------------------------------------------------
*/


//-----------------------------------------------
// USER CONFIGURABLE ELEMENTS
//-----------------------------------------------

// Root path

$root_path = "./";

//-----------------------------------------------
// NO USER EDITABLE SECTIONS BELOW
//-----------------------------------------------

error_reporting (E_ERROR | E_WARNING | E_PARSE);
set_magic_quotes_runtime(0);

class Debug {
function startTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
function endTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 5);
return $totaltime;
}
}

class info {

var $member = array();
var $input = array();
var $session_id = "";
var $base_url = "";
var $vars = "";
var $skin_id = "0"; // Skin Dir name
var $skin_rid = ""; // Real skin id (numerical only)
var $lang_id = "en";
var $skin = "";
var $lang = "";
var $server_load = 0;
var $version = "v1.1.2";
var $lastclick = "";
var $location = "";
var $debug_html = "";

function info() {
global $sess, $std, $DB, $root_path, $INFO;

$this->vars = &$INFO;

$this->vars['TEAM_ICON_URL'] = $INFO['html_url'] . '/team_icons';
$this->vars['AVATARS_URL'] = $INFO['html_url'] . '/avatars';
$this->vars['EMOTICONS_URL'] = $INFO['html_url'] . '/emoticons';
$this->vars['mime_img'] = $INFO['html_url'] . '/mime_types';

}
}

//--------------------------------
// Import $INFO, now!
//--------------------------------

require $root_path."conf_global.php";

//--------------------------------
// The clocks a' tickin'
//--------------------------------

$Debug = new Debug;
$Debug->startTimer();

//--------------------------------
// Require our global functions
//--------------------------------

require $root_path."sources/functions.php";

$std = new FUNC;
$print = new display();
$sess = new session();

//--------------------------------
// Load the DB driver and such
//--------------------------------

$INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mySQL' : $INFO['sql_driver'];

$to_require = $root_path."sources/Drivers/".$INFO['sql_driver'].".php";
require ($to_require);

$DB = new db_driver;

$DB->obj['sql_database'] = $INFO['sql_database'];
$DB->obj['sql_user'] = $INFO['sql_user'];
$DB->obj['sql_pass'] = $INFO['sql_pass'];
$DB->obj['sql_host'] = $INFO['sql_host'];
$DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];

$DB->obj['debug'] = ($INFO['sql_debug'] == 1) ? $_GET['debug'] : 0;

// Get a DB connection

$DB->connect();

//--------------------------------
// Wrap it all up in a nice easy to
// transport super class
//--------------------------------

$ibforums = new info();

//--------------------------------
// Set up our vars
//--------------------------------

$ibforums->input = $std->parse_incoming();
$ibforums->member = $sess->authorise();
$ibforums->skin = $std->load_skin();
$ibforums->lastclick = $sess->last_click;
$ibforums->location = $sess->location;
$ibforums->session_id = $sess->session_id;

list($ppu,$tpu) = explode( "&", $ibforums->member['view_prefs'] );

$ibforums->vars['display_max_topics'] = ($tpu > 0) ? $tpu : $ibforums->vars['display_max_topics'];
$ibforums->vars['display_max_posts'] = ($ppu > 0) ? $ppu : $ibforums->vars['display_max_posts'];

if ($ibforums->member['id'] and ( $std->my_getcookie('hide_sess') ) )
{
$ibforums->session_id = "";
}

$ibforums->base_url = $ibforums->vars['board_url'].'/index.'.$ibforums->vars['php_ext'].'?s='.$ibforums->session_id;

$ibforums->skin_rid = $ibforums->skin['set_id'];
$ibforums->skin_id = 's'.$ibforums->skin['set_id'];

$ibforums->vars['img_url'] = 'style_images/' . $ibforums->skin['img_dir'];

//--------------------------------
// Set up our language choice
//--------------------------------

if ($ibforums->vars['default_language'] == "")
{
$ibforums->vars['default_language'] = 'en';
}

$ibforums->lang_id = $ibforums->member['language'] ? $ibforums->member['language'] : $ibforums->vars['default_language'];

if ( ($ibforums->lang_id != $ibforums->vars['default_language']) and (! is_dir( $root_path."lang/".$ibforums->lang_id ) ) )
{
$ibforums->lang_id = $ibforums->vars['default_language'];
}

$ibforums->lang = $std->load_words($ibforums->lang, 'lang_global', $ibforums->lang_id);

//--------------------------------

$skin_universal = $std->load_template('skin_global');

//--------------------------------

if ($ibforums->input['act'] != 'Login' and $ibforums->input['act'] != 'Reg' and $ibforums->input['act'] != 'Attach')
{

//--------------------------------
// Do we have permission to view
// the board?
//--------------------------------

if ($ibforums->member['g_view_board'] != 1)
{
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_board') );
}

//--------------------------------
// Is the board offline?
//--------------------------------

if ($ibforums->vars['board_offline'] == 1)
{
if ($ibforums->member['g_access_offline'] != 1)
{
$std->board_offline();
}

}

//--------------------------------
// Is log in enforced?
//--------------------------------

if ( (! $ibforums->member['id']) and ($ibforums->vars['force_login'] == 1) )
{
require $root_path."sources/Login.php";

}

}

//--------------------------------
// Decide what to do
//--------------------------------

$choice = array(
"idx" => "Boards",
"SF" => "Forums",
"SR" => "Forums",
"ST" => "Topics",
"Login" => "Login",
"Post" => "Post",
"Poll" => "lib/add_poll",
"Reg" => "Register",
"Online" => "Online",
"Members" => "Memberlist",
"Help" => "Help",
"Search" => "Search",
"Mod" => "Moderate",
"Print" => "misc/print_page",
"Forward" => "misc/forward_page",
"Mail" => "misc/contact_member",
"Invite" => "misc/contact_member",
"ICQ" => "misc/contact_member",
"AOL" => "misc/contact_member",
"YAHOO" => "misc/contact_member",
"MSN" => "misc/contact_member",
"report" => "misc/contact_member",
"chat" => "misc/contact_member",
"Msg" => "Messenger",
"UserCP" => "Usercp",
"Profile" => "Profile",
"Track" => "misc/tracker",
"Stats" => "misc/stats",
"Attach" => "misc/attach",
'ib3' => 'misc/ib3',
'legends' => 'misc/legends',
'modcp' => 'mod_cp',
'calendar' => "calendar",
'buddy' => "browsebuddy",
);


/***************************************************/

$ibforums->input['act'] = $ibforums->input['act'] == '' ? "idx" : $ibforums->input['act'];

// Check to make sure the array key exits..

if (! isset($choice[ $ibforums->input['act'] ]) )
{
$ibforums->input['act'] = 'idx';
}

// Require and run

require $root_path."sources/".$choice[ $ibforums->input['act'] ].".php";



//+-------------------------------------------------
// GLOBAL ROUTINES
//+-------------------------------------------------

function fatal_error($message="", $help="") {
echo("$message<br><br>$help");
exit;
}
?>


^^^ I know what it all means anyway :P

Alexis
09-08-2003, 07:34 PM
Oooh, I see. So if your page involves tables or something like that, you can just change one document and it changes everything else. Sort of like an external CSS, right? Ok. Thanks, that clears up a lot for me.

elemynt
09-29-2003, 02:32 PM
Ok, sorry if I'm posting in an old topic but there are many advantages to PHP -

1) $shoo = Go Away you little piece of nothing.
*If you type this then you don't have to type "Go Away you little piece of nothing." whenever you want it, you'll just have to type $shoo instead of "Go Away you little piece of nothing." which saves a lot of time.

2) If you want the same design but different content on each page then you can use PHP.

It's a lazy b*stard's language, so call me one!!! :P ;)

d0dGy MiKE
10-15-2003, 04:49 PM
Originally posted by Keaton@Sep 8 2003, 04:45 AM

Bottom line--If you want to learn PHP, it'll take longer than HTML, that's for sure. Hopefully you have more luck than I did learning the thing :lol:.
On the contrary i learnt PHP a lot more quicker than i did HTML! i was doing HTML for 2 years even before i started php - which i have done for 9 months now. and have written my own forums script. :D

Hoodie
11-13-2003, 01:24 PM
Originally posted by elemynt@Sep 29 2003, 02:32 PM

It's a lazy b*stard's language, so call me one!!! :P ;)

Erm, I find that statement not very well thought out. PHP is not a lazy bastards language. Almost all scripting languages have variables. Perl, Javascript, C++, all of it. And you wouldn't use variables only for substituting a sentence you dont want to type out. Once you start scripting large programs variables do many things... Notice in alex's code:



$DB->obj['sql_database'] = $INFO['sql_database'];
$DB->obj['sql_user'] = $INFO['sql_user'];
$DB->obj['sql_pass'] = $INFO['sql_pass'];
$DB->obj['sql_host'] = $INFO['sql_host'];
$DB->obj['sql_tbl_prefix'] = $INFO['sql_tbl_prefix'];


$INFO is a variable that stores an array holding database info. Without that array the database driver of IPB would not run and we'd be #### out of luck in terms of this forum. Untill you fully understand PHP, I advise you not to judge it or make ignorant statements.

BTW, your variable syntax was wrong, use this: :P


$shoo = "Go away you little piece of nothing.";

sbauer
11-13-2003, 07:24 PM
Originally posted by Hoodie+Nov 13 2003, 09:24 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Hoodie @ Nov 13 2003, 09:24 AM)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--elemynt@Sep 29 2003, 02:32 PM

It&#39;s a lazy b*stard&#39;s language, so call me one&#33;&#33;&#33; :P ;)

Erm, I find that statement not very well thought out. PHP is not a lazy bastards language. Almost all scripting languages have variables. Perl, Javascript, C++, all of it. And you wouldn&#39;t use variables only for substituting a sentence you dont want to type out. [/b][/quote]
Actually, PHP is a very lazy ass language.

Most programming languages are strongly typed (ie require you to pass it a specific data type when you send it data)

For example, in PHP, you could do this.



&#036;page = 1;
&#036;page = &#34;hello&#34;;


PHP doesn&#39;t complain, but if you did that in C# like:



int page = 1;
page = &#34;hi&#34;;


C# would complain. Like other scripting languages, PHP tries to make it easy.

Secondly, you don&#39;t have to specifically declare variables in PHP. For example, you would have to declare a variable in C# before you could use it.



int page;


PHP&#39;s way may sound better. But when you&#39;re writing a 5000 line script and you figured out that your program isn&#39;t working correctly because you accidently typed &#036;pge instead of &#036;page, it makes it a pain in the ass.

IMO, I believe PHP CAN teach programmers bad habits because of these examples. It makes it more difficult to transit from PHP to a more difficult language.

Hoodie
11-13-2003, 08:02 PM
Well, yes C&#39;s vars are more complex, but still. Calling PHP a lazy illegitimate offspring of unmarried parents&#39;s language because of variables was not right. It would have been slighty more appropriate if they mentioned your point, sbauer, but still not very. Thats basically flaming anyone who uses it. You could easily tell they didnt know what they were talking about. :whistle:

Bryan
11-13-2003, 08:05 PM
Does it really matter? As long as what you want gets done it&#39;s all good.

sbauer
11-13-2003, 08:23 PM
Hoodie: I understand and I hope you weren&#39;t taking my comments as flames. I respect the PHP developers and the language.

Bryan: Yes and no. If you&#39;re working on your site and you get what you want, then no it doesn&#39;t. If you tell someone to learn PHP because it&#39;s so hard and it will teach you how to program in any language, then yes it does. I honestly don&#39;t think that PHP should be the first language that someone learns.

Phantom Duck
11-16-2003, 06:21 PM
Originally posted by sbauer@Nov 13 2003, 09:23 PM
Hoodie: I understand and I hope you weren&#39;t taking my comments as flames. I respect the PHP developers and the language.

Bryan: Yes and no. If you&#39;re working on your site and you get what you want, then no it doesn&#39;t. If you tell someone to learn PHP because it&#39;s so hard and it will teach you how to program in any language, then yes it does. I honestly don&#39;t think that PHP should be the first language that someone learns.
I&#39;d bet that.

sbauer
11-17-2003, 08:44 PM
Originally posted by Phantom Duck+Nov 16 2003, 02:21 PM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Phantom Duck @ Nov 16 2003, 02:21 PM)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--sbauer@Nov 13 2003, 09:23 PM
Hoodie: I understand and I hope you weren&#39;t taking my comments as flames. I respect the PHP developers and the language.

Bryan: Yes and no. If you&#39;re working on your site and you get what you want, then no it doesn&#39;t. If you tell someone to learn PHP because it&#39;s so hard and it will teach you how to program in any language, then yes it does. I honestly don&#39;t think that PHP should be the first language that someone learns.
I&#39;d bet that. [/b][/quote]
You would bet what?