[PHP] inlog formulier op homepage

Status
Niet open voor verdere reacties.

piacevole

Nieuwe gebruiker
Lid geworden
23 mei 2008
Berichten
3
Hallo,

Op een site heb ik een SMF forum geïnstaleerd. Nu wil ik graag het log in formulier op de homepage. Dus: als de bezoeker op de homepage komt dat hij/zij dan daar een inlog formuliertje ziet staan en daar kan inloggen. En dat SMF die gebruiker dan als ingelogd beschouwd. Echt ik heb geen idee hoe het werkt.. Natuurlijk kan ik begrijpen dat jullie niet al het werk voor me willen doen maar als ik gewoon maar weet hoe ik kan beginnen zou het heel fijn zijn!

Het is de bedoeling dat aan de zijkant van de site iets als dit komt te staan:
inlog.jpg


Alvast bedankt, ruud
 
Hallo,

Als ik het goed begrijp:
1, een gebruiken moet kunnen inloggen op de homepage
2, een gebruiker moet zijn schermafbeelding en kunnen zien(op homepage?)
Voordat ik begin met scripten, zou ik graag iets preciezere uitleg willen:D

mvg Gijs Bruggeman
 
Kopieer het stuk tekst (code) van de login form die je wel hebt, en plak die op de plek waar je die wil hebben.

Let wel op dat de action ( bijv. login.php) wel de goede path bevat.

dus als je hem een map omhoog plaatst in bijvoorbeeld de httpdocs, doe dan bijvoorbeeld
HTML:
<form METHOD = "POST" action="pathnaarloginscript/login.php">
<!--uiteraard moeten de username en password input hier ook-->
<input type="Submit" value = "Login">
</form>
 
OK, ik zal het proberen beter uit te leggen. Als de gebruiker op de homepage komt moet hij een login formuliertje zien staan. Dat staat er nu al. Nu is het de bedoeling dat het formulier natuurlijk gaat werken. Dit staat er al:
PHP:
<tr>
<td><img src="img/account.jpg" width="200" height="29" alt="" /></td>
</tr>
<tr>
<td class="modulecontent" id="mod_account"><form name='login' action="?" onsubmit="submitform(this)"; method="post">

<table cellpadding="1" cellspacing="0" border="0">

<tr>
<td><label for="username">Username</label></td>
</tr>
<tr>
<td>
<input type="text" name="username" value="" class="inputtext" />
</td>
</tr>
<tr>
<td><label for="password">Password</label></td>
</tr>
<tr>
<td>
<input type="password" name="password" value="" class="inputpassword" />

</td>
</tr>
<tr>

<td><a href="javascript:document.login.submit();"><input type="image" src="img/buttons/sign_in.jpg" /></a><img class="imgbutton" src="img/register.jpg" onclick="alert('Unavailable!');" height="28" width="78" /></td>
</tr>
<tr>
<td><img class="imgbutton" src="img/buttons/lost_password.jpg" onclick="alert('Unavailable!');" height="28" width="156" /></td>
</tr>

</table>
</form>
</td>
</tr>

Met als resultaat:
inlog1.JPG


Nu moet het formuliertje dus iets doorsturen naar het loginbestand van het forum. Dat moet als resultaat geven dat de gebruiker zijn avatar en daaronder welcome 'naamgebruiker'. En daaronder de dingen zoals op het plaatje in de startpost aangegeven is. Al die dingen die zie je anders niet op de homepage maar WEL als op de homepage van het forum. Hopelijk is het nu wat duidelijker. :eek:

Alvast bedankt, Ruud
 
Laatst bewerkt:
`Volgens mij kan dat zo:
PHP:
<?php
include("waar het moet uitkomen");
?>
of gewoon
HTML:
<a href="waar het moet uitkomen">
 
Even een update:
Door de volgende code toe te voegen aan de index:
PHP:
<?php	
$forum_version = 'SMF 1.1.5';

// 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('/storage/mijndomein/users/052445/public/sites/www.b1mafketels.nl/bravesouls/forum/Settings.php');

// And important includes.
require_once('forum/Sources/QueryString.php');
require_once('forum/Sources/Subs.php');
require_once('forum/Sources/Errors.php');
require_once('forum/Sources/Load.php');
require_once('forum/Sources/Security.php');

// Using an old version of PHP?
if (@version_compare(PHP_VERSION, '4.2.3') != 1)
	require_once('/forum/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 for PHP < 4.2.0.
if (@version_compare(PHP_VERSION, '4.2.0') == -1)
	smf_seed_generator();


// 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();

		
// 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'),
		'feature' => array('ModSettings.php', 'ModifyFeatureSettings'),
		'feature2' => 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'),
		
	);
	
	// Set the login URL - will be used when the login process is done.
	if (isset($_SESSION['old_url']) && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0)
		$_SESSION['login_url'] = $_SESSION['old_url'];
	else
		unset($_SESSION['login_url']);
		
// Version: 1.1; Login

// This is just the basic "login" form.
function template_login()
{
	global $context, $settings, $options, $scripturl, $modSettings, $txt;

	echo ' 
<tr>
<td>
<img src="img/account.jpg" width="200" height="29" alt="" />
</td>
</tr>
<tr>
<td class="modulecontent" id="mod_account">
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/sha1.js"></script>

<form action="', $scripturl, '?action=login2" method="post" accept-charset="', $context['character_set'], '" name="frmLogin" id="frmLogin"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' . $context['session_id'] . '\');"' : '', '>

<table cellpadding="1" cellspacing="0" border="0">
<tr>
<td><label for="username">Username</label></td>
</tr>
<tr>
<td>
<input class="inputtext" type="text" name="user" value="', $context['default_username'], '" />
</td>
</tr>
<tr>
<td><label for="password">Password</label></td>
</tr>
<tr>
<td>
<input class="inputpassword" type="password" name="passwrd" value="', $context['default_password'], '"  />

</td>
</tr>
<tr>
<td><input type="image" src="img/buttons/sign_in.jpg" />
<img class="imgbutton" src="img/register.jpg" height="28" width="78" /></td>
</tr>
<tr>
<td><img class="imgbutton" src="img/buttons/lost_password.jpg" height="28" width="156" /></td>
</tr>
</table>
</form> 
</td>
</tr>
';
}
?>
En dan
PHP:
<?php
template_login();
?>
Op de plaats waar het inlogformulier moet komen plakt dan heeft het als resultaat dat het inlogformulier werkt. Althans, als ik dan naar het forum ga wordt ik herkend als 'gebruiker'. Alleen, nu wil ik nog dat LogInOut.php en daarvan de functie 'login2' er voor zorgt dat dat ook zichtbaar wordt op de homepage zoals hierboven aangegeven is. (avatar laten zien etc.)

Zou iemand me kunnen helpen?

Bedankt, ruud
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan