Jump to content

Please critique my website


migeode

Recommended Posts

I am in my first actual web design class and we have to create a portfolio website for our class.  I have created the beginnings of mine, and it is close to how I want it to look, but there are some things I know I am not doing as efficiently as I could be, such as my site navigation menus.  I would love to find a way to include the site navigation menus as header and footers that I could specify in the .css, but I have no clue if that is even possible.  My biggest problem is with the forum subsection of my site - The code was provided and all I had to do was set it up.  I did not remove any of their credits of course, nor am I asking to, but I would like to figure out how to add my site navigation into the forum page (/Forums/index.php) in the same format it is in on the rest of the site, as well as how to change the background in the forum pages to match the rest of my site.  I tried to ask my professor, but he says my site is already beyond the scope of the entire class.  Any feedback or input that would help improve my site would be more than welcome.  The site url is here: http://omegapc.unlimitedtree.com

Link to comment
Share on other sites

The page I am really having trouble with is index.php, which I will list here.  The menu table should appear at the top of the page and the bottom, with the rest of the php in between.  I will put it between <code> and </code> tags hopefully the site will recognize them and put the page in a box, otherwise ignore them, they are not part of the actual page.

<code>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html><head>

  <h1>Omega Computer Intelligence</h1>

 

  <blockquote>

<table class="yelmarble" border="0" cellpadding="0" cellspacing="0" width="100%">

<tbody>

<tr>

<td>

<h2>

<div><a href="../index.html">Home</a></div>

</h2>

</td>

<td>

<h2>

<div><a href="../Code.html">Code</a></div>

</h2>

</td>

<td>

<h2>

<div><a href="../Forums.html">Forums</a></div>

</h2>

</td>

<td>

<h2>

<div><a href="../Media.html">Media</a></div>

</h2>

</td>

</tr>

</tbody>

</table>

<?php /**********************************************************************************

* index.php                                                                      *

***********************************************************************************

* SMF: Simple Machines Forum                                                      *

* Open-Source Project Inspired by Zef Hemel (zef@zefhemel.com)                    *

* =============================================================================== *

* Software Version:          SMF 1.1.12                                          *

* Software by:                Simple Machines (http://www.simplemachines.org)    *

* Copyright 2006-2009 by:    Simple Machines LLC (http://www.simplemachines.org) *

*          2001-2006 by:    Lewis Media (http://www.lewismedia.com)            *

* Support, News, Updates at:  http://www.simplemachines.org                      *

***********************************************************************************

* This program is free software; you may redistribute it and/or modify it under  *

* the terms of the provided license as published by Simple Machines LLC.          *

*                                                                                *

* This program is distributed in the hope that it is and will be useful, but      *

* WITHOUT ANY WARRANTIES; without even any implied warranty of MERCHANTABILITY    *

* or FITNESS FOR A PARTICULAR PURPOSE.                                            *

*                                                                                *

* See the "license.txt" file for details of the Simple Machines license.          *

* The latest version can always be found at http://www.simplemachines.org.        *

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

 

 

/* This, as you have probably guessed, is the crux on which SMF functions.

Everything should start here, so all the setup and security is done

properly.  The most interesting part of this file is the action array in

the smf_main() function.  It is formatted as so:

 

'action-in-url' => array('Source-File.php', 'FunctionToCall'),

 

Then, you can access the FunctionToCall() function from Source-File.php

with the URL index.php?action=action-in-url.  Relatively simple, no?

*/

 

$forum_version = 'SMF 1.1.12';

 

// Get everything started up...

define('SMF', 1);

@set_magic_quotes_runtime(0);

error_reporting(E_ALL);

$time_start = microtime();

 

// Make sure some things simply do not exist.

foreach (array('db_character_set') as $variable)

if (isset($GLOBALS[$variable]))

unset($GLOBALS[$variable]);

 

// Load the settings...

require_once(dirname(__FILE__) . '/Settings.php');

 

// And important includes.

require_once($sourcedir . '/QueryString.php');

require_once($sourcedir . '/Subs.php');

require_once($sourcedir . '/Errors.php');

require_once($sourcedir . '/Load.php');

require_once($sourcedir . '/Security.php');

 

// Using an old version of PHP?

if (@version_compare(PHP_VERSION, '4.2.3') != 1)

require_once($sourcedir . '/Subs-Compat.php');

 

// If $maintenance is set specifically to 2, then we're upgrading or something.

if (!empty($maintenance) && $maintenance == 2)

db_fatal_error();

 

// Connect to the MySQL database.

if (empty($db_persist))

$db_connection = @mysql_connect($db_server, $db_user, $db_passwd);

else

$db_connection = @mysql_pconnect($db_server, $db_user, $db_passwd);

 

// Show an error if the connection couldn't be made.

if (!$db_connection || !@mysql_select_db($db_name, $db_connection))

db_fatal_error();

 

// Load the settings from the settings table, and perform operations like optimizing.

reloadSettings();

// Clean the request variables, add slashes, etc.

cleanRequest();

$context = array();

 

// Seed the random generator?

if (empty($modSettings['rand_seed']) || mt_rand(1, 250) == 69)

smf_seed_generator();

 

// Determine if this is using WAP, WAP2, or imode.  Technically, we should check that wap comes before application/xhtml or text/html, but this doesn't work in practice as much as it should.

if (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/vnd.wap.xhtml+xml') !== false)

$_REQUEST['wap2'] = 1;

elseif (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'text/vnd.wap.wml') !== false)

{

if (strpos($_SERVER['HTTP_USER_AGENT'], 'DoCoMo/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'portalmmm/') !== false)

$_REQUEST['imode'] = 1;

else

$_REQUEST['wap'] = 1;

}

 

if (!defined('WIRELESS'))

define('WIRELESS', isset($_REQUEST['wap']) || isset($_REQUEST['wap2']) || isset($_REQUEST['imode']));

 

// Some settings and headers are different for wireless protocols.

if (WIRELESS)

{

define('WIRELESS_PROTOCOL', isset($_REQUEST['wap']) ? 'wap' : (isset($_REQUEST['wap2']) ? 'wap2' : (isset($_REQUEST['imode']) ? 'imode' : '')));

 

// Some cellphones can't handle output compression...

$modSettings['enableCompressedOutput'] = '0';

// !!! Do we want these hard coded?

$modSettings['defaultMaxMessages'] = 5;

$modSettings['defaultMaxTopics'] = 9;

 

// Wireless protocol header.

if (WIRELESS_PROTOCOL == 'wap')

header('Content-Type: text/vnd.wap.wml');

}

 

// Check if compressed output is enabled, supported, and not already being done.

if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)

{

// If zlib is being used, turn off output compression.

if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler' || @version_compare(PHP_VERSION, '4.2.0') == -1)

$modSettings['enableCompressedOutput'] = '0';

else

ob_start('ob_gzhandler');

}

// This makes it so headers can be sent!

if (empty($modSettings['enableCompressedOutput']))

ob_start();

 

// Register an error handler.

set_error_handler('error_handler');

 

// Start the session. (assuming it hasn't already been.)

loadSession();

 

// What function shall we execute? (done like this for memory's sake.)

call_user_func(smf_main());

 

// Call obExit specially; we're coming from the main area ;).

obExit(null, null, true);

 

// The main controlling function.

function smf_main()

{

global $modSettings, $settings, $user_info, $board, $topic, $maintenance, $sourcedir;

 

// Special case: session keep-alive.

if (isset($_GET['action']) && $_GET['action'] == 'keepalive')

die;

 

// Load the user's cookie (or set as guest) and load their settings.

loadUserSettings();

 

// Load the current board's information.

loadBoard();

 

// Load the current theme.  (note that ?theme=1 will also work, may be used for guest theming.)

loadTheme();

 

// Check if the user should be disallowed access.

is_not_banned();

 

// Load the current user's permissions.

loadPermissions();

 

// Do some logging, unless this is an attachment, avatar, theme option or XML feed.

if (empty($_REQUEST['action']) || !in_array($_REQUEST['action'], array('dlattach', 'jsoption', '.xml')))

{

// Log this user as online.

writeLog();

 

// Track forum statistics and hits...?

if (!empty($modSettings['hitStats']))

trackStats(array('hits' => '+'));

}

 

// Is the forum in maintenance mode? (doesn't apply to administrators.)

if (!empty($maintenance) && !allowedTo('admin_forum'))

{

// You can only login.... otherwise, you're getting the "maintenance mode" display.

if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'login2' || $_REQUEST['action'] == 'logout'))

{

require_once($sourcedir . '/LogInOut.php');

return $_REQUEST['action'] == 'login2' ? 'Login2' : 'Logout';

}

// Don't even try it, sonny.

else

{

require_once($sourcedir . '/Subs-Auth.php');

return 'InMaintenance';

}

}

// If guest access is off, a guest can only do one of the very few following actions.

elseif (empty($modSettings['allow_guestAccess']) && $user_info['is_guest'] && (!isset($_REQUEST['action']) || !in_array($_REQUEST['action'], array('coppa', 'login', 'login2', 'register', 'register2', 'reminder', 'activate', 'smstats', 'help', 'verificationcode'))))

{

require_once($sourcedir . '/Subs-Auth.php');

return 'KickGuest';

}

elseif (empty($_REQUEST['action']))

{

// Action and board are both empty... BoardIndex!

if (empty($board) && empty($topic))

{

require_once($sourcedir . '/BoardIndex.php');

return 'BoardIndex';

}

// Topic is empty, and action is empty.... MessageIndex!

elseif (empty($topic))

{

require_once($sourcedir . '/MessageIndex.php');

return 'MessageIndex';

}

// Board is not empty... topic is not empty... action is empty.. Display!

else

{

require_once($sourcedir . '/Display.php');

return 'Display';

}

}

 

// Here's the monstrous $_REQUEST['action'] array - $_REQUEST['action'] => array($file, $function).

$actionArray = array(

'activate' => array('Register.php', 'Activate'),

'admin' => array('Admin.php', 'Admin'),

'announce' => array('Post.php', 'AnnounceTopic'),

'ban' => array('ManageBans.php', 'Ban'),

'boardrecount' => array('Admin.php', 'AdminBoardRecount'),

'buddy' => array('Subs-Members.php', 'BuddyListToggle'),

'calendar' => array('Calendar.php', 'CalendarMain'),

'cleanperms' => array('Admin.php', 'CleanupPermissions'),

'collapse' => array('Subs-Boards.php', 'CollapseCategory'),

'convertentities' => array('Admin.php', 'ConvertEntities'),

'convertutf8' => array('Admin.php', 'ConvertUtf8'),

'coppa' => array('Register.php', 'CoppaForm'),

'deletemsg' => array('RemoveTopic.php', 'DeleteMessage'),

'detailedversion' => array('Admin.php', 'VersionDetail'),

'display' => array('Display.php', 'Display'),

'dlattach' => array('Display.php', 'Download'),

'dumpdb' => array('DumpDatabase.php', 'DumpDatabase2'),

'editpoll' => array('Poll.php', 'EditPoll'),

'editpoll2' => array('Poll.php', 'EditPoll2'),

'featuresettings' => array('ModSettings.php', 'ModifyFeatureSettings'),

'featuresettings2' => array('ModSettings.php', 'ModifyFeatureSettings2'),

'findmember' => array('Subs-Auth.php', 'JSMembers'),

'help' => array('Help.php', 'ShowHelp'),

'helpadmin' => array('Help.php', 'ShowAdminHelp'),

'im' => array('PersonalMessage.php', 'MessageMain'),

'jsoption' => array('Themes.php', 'SetJavaScript'),

'jsmodify' => array('Post.php', 'JavaScriptModify'),

'lock' => array('LockTopic.php', 'LockTopic'),

'lockVoting' => array('Poll.php', 'LockVoting'),

'login' => array('LogInOut.php', 'Login'),

'login2' => array('LogInOut.php', 'Login2'),

'logout' => array('LogInOut.php', 'Logout'),

'maintain' => array('Admin.php', 'Maintenance'),

'manageattachments' => array('ManageAttachments.php', 'ManageAttachments'),

'manageboards' => array('ManageBoards.php', 'ManageBoards'),

'managecalendar' => array('ManageCalendar.php', 'ManageCalendar'),

'managesearch' => array('ManageSearch.php', 'ManageSearch'),

'markasread' => array('Subs-Boards.php', 'MarkRead'),

'membergroups' => array('ManageMembergroups.php', 'ModifyMembergroups'),

'mergetopics' => array('SplitTopics.php', 'MergeTopics'),

'mlist' => array('Memberlist.php', 'Memberlist'),

'modifycat' => array('ManageBoards.php', 'ModifyCat'),

'modifykarma' => array('Karma.php', 'ModifyKarma'),

'modlog' => array('Modlog.php', 'ViewModlog'),

'movetopic' => array('MoveTopic.php', 'MoveTopic'),

'movetopic2' => array('MoveTopic.php', 'MoveTopic2'),

'news' => array('ManageNews.php', 'ManageNews'),

'notify' => array('Notify.php', 'Notify'),

'notifyboard' => array('Notify.php', 'BoardNotify'),

'optimizetables' => array('Admin.php', 'OptimizeTables'),

'packageget' => array('PackageGet.php', 'PackageGet'),

'packages' => array('Packages.php', 'Packages'),

'permissions' => array('ManagePermissions.php', 'ModifyPermissions'),

'pgdownload' => array('PackageGet.php', 'PackageGet'),

'pm' => array('PersonalMessage.php', 'MessageMain'),

'post' => array('Post.php', 'Post'),

'post2' => array('Post.php', 'Post2'),

'postsettings' => array('ManagePosts.php', 'ManagePostSettings'),

'printpage' => array('Printpage.php', 'PrintTopic'),

'profile' => array('Profile.php', 'ModifyProfile'),

'profile2' => array('Profile.php', 'ModifyProfile2'),

'quotefast' => array('Post.php', 'QuoteFast'),

'quickmod' => array('Subs-Boards.php', 'QuickModeration'),

'quickmod2' => array('Subs-Boards.php', 'QuickModeration2'),

'recent' => array('Recent.php', 'RecentPosts'),

'regcenter' => array('ManageRegistration.php', 'RegCenter'),

'register' => array('Register.php', 'Register'),

'register2' => array('Register.php', 'Register2'),

'reminder' => array('Reminder.php', 'RemindMe'),

'removetopic2' => array('RemoveTopic.php', 'RemoveTopic2'),

'removeoldtopics2' => array('RemoveTopic.php', 'RemoveOldTopics2'),

'removepoll' => array('Poll.php', 'RemovePoll'),

'repairboards' => array('RepairBoards.php', 'RepairBoards'),

'reporttm' => array('SendTopic.php', 'ReportToModerator'),

'reports' => array('Reports.php', 'ReportsMain'),

'requestmembers' => array('Subs-Auth.php', 'RequestMembers'),

'search' => array('Search.php', 'PlushSearch1'),

'search2' => array('Search.php', 'PlushSearch2'),

'sendtopic' => array('SendTopic.php', 'SendTopic'),

'serversettings' => array('ManageServer.php', 'ModifySettings'),

'serversettings2' => array('ManageServer.php', 'ModifySettings2'),

'smileys' => array('ManageSmileys.php', 'ManageSmileys'),

'smstats' => array('Stats.php', 'SMStats'),

'spellcheck' => array('Subs-Post.php', 'SpellCheck'),

'splittopics' => array('SplitTopics.php', 'SplitTopics'),

'stats' => array('Stats.php', 'DisplayStats'),

'sticky' => array('LockTopic.php', 'Sticky'),

'theme' => array('Themes.php', 'ThemesMain'),

'trackip' => array('Profile.php', 'trackIP'),

'about:mozilla' => array('Karma.php', 'BookOfUnknown'),

'about:unknown' => array('Karma.php', 'BookOfUnknown'),

'unread' => array('Recent.php', 'UnreadTopics'),

'unreadreplies' => array('Recent.php', 'UnreadTopics'),

'viewErrorLog' => array('ManageErrors.php', 'ViewErrorLog'),

'viewmembers' => array('ManageMembers.php', 'ViewMembers'),

'viewprofile' => array('Profile.php', 'ModifyProfile'),

'verificationcode' => array('Register.php', 'VerificationCode'),

'vote' => array('Poll.php', 'Vote'),

'viewquery' => array('ViewQuery.php', 'ViewQuery'),

'who' => array('Who.php', 'Who'),

'.xml' => array('News.php', 'ShowXmlFeed'),

);

 

// Get the function and file to include - if it's not there, do the board index.

if (!isset($_REQUEST['action']) || !isset($actionArray[$_REQUEST['action']]))

{

// Catch the action with the theme?

if (!empty($settings['catch_action']))

{

require_once($sourcedir . '/Themes.php');

return 'WrapAction';

}

 

// Fall through to the board index then...

require_once($sourcedir . '/BoardIndex.php');

return 'BoardIndex';

}

 

// Otherwise, it was set - so let's go to that action.

require_once($sourcedir . '/' . $actionArray[$_REQUEST['action']][0]);

return $actionArray[$_REQUEST['action']][1];

}

 

?>

  </blockquote>

</head><body>

 

<table class="yelmarble" border="0" cellpadding="0" cellspacing="0" width="100%">

 

    <tbody><tr>

      <td><div><strong><a href="../About_me.html">About Me</a></strong></div></td>

      <td><div><strong><a href="../Site_Map.html">Site Map</a></strong></div></td>

      <td><div><strong><a href="../Contact_me.html" target="_blank">Contact Me</a></strong></div></td>

    </tr>

  </tbody>

</table>

 

 

</body></html>

</code>

Link to comment
Share on other sites

The current contrast is hard on the eyes, and I have good eyes, so that means do something about it. A HTML table is only really meant to hold data, like a spreadsheet. You have used it for page structure, which is bad. Is that what they teach you in this class? I see you said that the professor said this is beyond the scope of his class. I'd say you should start over, and look at some CSS templates that validate. Learn how to use relative vs. absolute positioning. You really just have a simple two column layout with a header and a footer, so do it again.... but better.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.