Home Webboard ArticlesKnowledges  

ผู้เขียน หัวข้อ: login เข้าสู่หน้าแรกของบอร์ด smf จากหน้า Homepage ของ website  (อ่าน 33467 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ bomb

  • Just Staff
  • *
  • กระทู้: 400
  • เห็นด้วย&ขอบคุณ: 27
  • เพศ: ชาย
    • IT-CLUB เว็บไซต์เพื่อการเรียนรู้
ใครเ่ก่งด้าน smf ช่วยผมแก้หน่อยคับ
คือต้องการให้ผู้ใช้ป้อน username และ password ที่สมัครไว้จากหน้า homepage และเมื่อผู้ใช้กดปุ่ม login ก็จะเข้าสู่บอร์ด smf พร้อมใช้งานบอร์ด (login ชื่อสมาชิกให้โดยอัตโนมัติ)

โค้ดที่ผมแก้นะคับ index.php
โค๊ด: [Select]
<?php
/**********************************************************************************
* index.php                                                                       *
***********************************************************************************
* SMF: Simple Machines Forum                                                      *
* Open-Source Project Inspired by Zef Hemel (zef[แอท]zefhemel.com)                    *
* =============================================================================== *
* Software Version:           SMF 1.1.5                                           *
* Software by:                Simple Machines (http://www.simplemachines.org)     *
* Copyright 2006-2007 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.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]);

########## Maintenance ##########
# Note: If $maintenance is set to 2, the forum will be unusable!  Change it to 0 to fix it.
$maintenance 0; # Set to 1 to enable Maintenance Mode, 2 to make the forum untouchable. (you'll have to make it 0 again manually!)
$mtitle 'Maintenance Mode'; # Title for the Maintenance Mode message.
$mmessage 'Okay faithful users...we\'re attempting to restore an older backup of the database...news will be posted once we\'re back!'; # Description of why the forum is in maintenance mode.

########## Forum Info ##########
$mbname '-== Mororwor Board ==-'; # The name of your forum.
$language 'thai'; # The default language file set for the forum.
$boardurl 'http://localhost/board'; # URL to your forum's folder. (without the trailing /!)
$webmaster_email 'bomb_006[แอท]hotmail.com'; # Email address to send emails from. (like noreply[แอท]yourdomain.com.)
$cookiename 'SMFCookie956'; # Name of the cookie to set for authentication.

########## Database Info ##########
$db_server 'localhost';
$db_name 'smf';
$db_user 'root';
$db_passwd '12345';
$db_prefix 'smf_';
$db_persist 0;
$db_error_send 1;

########## Directories/Files ##########
# Note: These directories do not have to be changed unless you move things.
$boarddir 'C:\\AppServ\\www\\board'; # The absolute path to the forum's folder. (not just '.'!)
$sourcedir 'C:\\AppServ\\www\\board/Sources'; # Path to the Sources directory.

########## Error-Catching ##########
# Note: You shouldn't touch these settings.
$db_last_error 0;


# Make sure the paths are correct... at least try to fix them.
if (!file_exists($boarddir) && file_exists(dirname(__FILE__) . '/agreement.txt'))
$boarddir dirname(__FILE__);
if (!
file_exists($sourcedir) && file_exists($boarddir '/Sources'))
$sourcedir $boarddir '/Sources';

// And important includes.
require_once($sourcedir '/QueryString.php');
require_once(
$sourcedir '/Subs.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 for PHP < 4.2.0.
if ([แอท]version_compare(PHP_VERSION'4.2.0') == -1)
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(nullnulltrue);

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


// 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';
}
}



// 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];
}

?>

ปัญหาที่ผมตอนนี้คือโค้ดข้างบนเป็นโค้ดที่ผม copy มาจากหน้า index.php แล้วต้องการนำมาดัดแปลงให้เหลือ  แค่ช่องกรอก username และ password  แล้วก็สามารถตรวจสอบได้ว่าชื่อผู้ใช้งานมีใน database ของ board smf หรือไม่รวมทั้ง password ถ้ากรอกผิดก็ให้แสดง error message ขึ้นมาอ่ะคับ  ควรตัดตรงไหนออกอีกดีคับ

ปัญหาที่ทำให้ลบหลายๆอันออกไม่ได้  เพราะว่าหน้า index.php จะเรียกใช้งานโค้ดจาก template อีกทีทำให้มันต้องอ้างถึงมากมาย  รวมทั้งมันจะมีเกี่ยวกับการตรวจสอบหัวข้อ topic มาเกี่ยวข้องทำให้ผมสับสนไปหมดแล้วคับ  55+  ใครเก่งๆช่วยทีคับ  อ่าน code php จนลายตาไปหมดแล้วคับ  :firstaid: :firstaid:

 :huh: :undecided:

ฝากด้วยนะคับ  :help: :help: :help:  :dev: :dev: :grin:  ขอบคุณล่วงหน้างับ  :adore:


-= ประเทศไทย ไม่ได้ขึ้นอยู่กับใครสองคน =-
สังคมไทยจะดีขึ้นถ้าคนไทย  รู้จักแบ่งปันสิ่งดีๆให้แก่กัน

Single

  • บุคคลทั่วไป
โธ่..ถัง..กระละมัง..!!

ทำไมยุ่งยากขนาดนั้น..

เอาไปไว้ก่อน ?> ไฟล์ SSI.php

แล้วเข้าไปคึงฟอร์มโลจิ้นมาจาก.. ssi_examples.php

ใสหน้าแรกด้วย iframe

โค๊ด: [Select]
// Show a form for guests to register.
function ssi_register($output_method = 'echo')
{
global $scripturl, $db_prefix, $txt, $settings, $modSettings, $context;

loadLanguage('Login');

// Generate a visual verification code to make sure the user is no bot.
$context['visual_verification'] = empty($modSettings['disable_visual_verification']) || $modSettings['disable_visual_verification'] != 1;
if ($context['visual_verification'])
{
$context['use_graphic_library'] = in_array('gd', get_loaded_extensions());
$context['verificiation_image_href'] = $scripturl . '?action=verificationcode;rand=' . md5(rand());

// Only generate a new code if one hasn't been set yet
if (!isset($_SESSION['visual_verification_code']))
{
// Skip I, J, L, O and Q.
$character_range = array_merge(range('A', 'H'), array('K', 'M', 'N', 'P'), range('R', 'Z'));

// Generate a new code.
$_SESSION['visual_verification_code'] = '';
for ($i = 0; $i < 5; $i++)
$_SESSION['visual_verification_code'] .= $character_range[array_rand($character_range)];
}
}

    // If we have GD, try the nice code.
    elseif (empty($_REQUEST['format']))
    {
        require_once($sourcedir . '/Subs-Graphics.php');

        if (in_array('gd', get_loaded_extensions()) && !showCodeImage($_SESSION['visual_verification_code'])) {
            header('HTTP/1.1 400 Bad Request');
die();
}
        // Otherwise just show a pre-defined letter.
        elseif (isset($_REQUEST['letter']))
        {
            $_REQUEST['letter'] = (int) $_REQUEST['letter'];
            if ($_REQUEST['letter'] > 0 && $_REQUEST['letter'] <= strlen($_SESSION['visual_verification_code']) && !showLetterImage(strtolower($_SESSION['visual_verification_code']{$_REQUEST['letter'] - 1}))) {
                header('HTTP/1.1 400 Bad Request');
die();
}
        }
        // You must be up to no good.
        else {
            header('HTTP/1.1 400 Bad Request');
die();
}
    }
    elseif ($_REQUEST['format'] === '.wav')
    {
        require_once($sourcedir . '/Subs-Sound.php');

        if (!createWaveFile($_SESSION['visual_verification_code'])) {
            header('HTTP/1.1 400 Bad Request');
die();
}
    }

if($output_method = 'echo' && $context['user']['is_guest']) {
echo '
    <div>
        <form action="'. $scripturl. '?action=register2" method="post" style="margin: 0px 1px 1px 0; text-align:left;" name="creator" id="creator">
                <table class="ssi_table">
                    <tr>
                        <td>', $txt[98], ':</td>
                        <td><input type="text" name="user" size="10"  maxlength="30" /></td>
</tr>
<tr>
                        <td>', $txt[81], ':</td>
                        <td><input type="password" name="passwrd1" size="10" /></td>
</tr>
<tr>
                        <td>', $txt[82], ': </td>
<td><input type="password" name="passwrd2" size="10" /></td>
</tr>
<tr>
<td>', $txt[69], ':</td>
                        <td><input name="email" type="text" size="10" /><input name="regagree" type="hidden" value="checked" /></td>
                    </tr>';
    if ($context['visual_verification'])
    {
        echo '
                    <tr>
                        <td>
                            ', $txt['visual_verification_label'], ':
                        </td>
                            <td><input type="text" name="visual_verification_code" size="10" /></td>
</tr>
<tr>';
        if ($context['use_graphic_library'])
            echo '
                            <td colspan="2"><img src="', $context['verificiation_image_href'], '" alt="', $txt['visual_verification_description'], '" id="verificiation_image" /></td>';
        else
            echo '
                            <td colspan="2"><img src="', $context['verificiation_image_href'], ';letter=1" alt="', $txt['visual_verification_description'], '" id="verificiation_image_1" />
                            <img src="', $context['verificiation_image_href'], ';letter=2" alt="', $txt['visual_verification_description'], '" id="verificiation_image_2" />
                            <img src="', $context['verificiation_image_href'], ';letter=3" alt="', $txt['visual_verification_description'], '" id="verificiation_image_3" />
                            <img src="', $context['verificiation_image_href'], ';letter=4" alt="', $txt['visual_verification_description'], '" id="verificiation_image_4" />
                            <img src="', $context['verificiation_image_href'], ';letter=5" alt="', $txt['visual_verification_description'], '" id="verificiation_image_5" /></td>';
        echo '
</tr>
<tr>
                            <td class="smalltext" colspan="2">
<a href="', $context['verificiation_image_href'], ';sound" onclick="return reqWin(this.href, 400, 120);">', $txt['visual_verification_sound'], '</a>
</td>
</tr>';
    }
echo'
                    <tr>
                        <td colspan="2" align="center"><input type="submit" value="', $txt[97], '" /></td>
                    </tr>
                </table>
        </form>
    </div>';
}
else
return false;
}

ออฟไลน์ bomb

  • Just Staff
  • *
  • กระทู้: 400
  • เห็นด้วย&ขอบคุณ: 27
  • เพศ: ชาย
    • IT-CLUB เว็บไซต์เพื่อการเรียนรู้

แล้วเข้าไปคึงฟอร์มโลจิ้นมาจาก.. ssi_examples.php

ใสหน้าแรกด้วย iframe


iframe ที่ว่าคืออะไรคับ

แล้วเข้าไปคึงฟอร์มโลจิ้นมาจาก.. ssi_examples.php  อันนี้ต้องทำไงให้ไปอยู่หน้า homepage เราคับ

แบบนี้ป่ะคับ

<HTML>
<TITLE>การแบ่งจอภาพ ( FRAME )</TITLE>
<FRAMESET ROWS="20%,*">
<FRAME src="board/ssi_examples.php" >
<FRAME src="main.html">
</FRAMESET>
</HTML>

http://kruwan.school.in.th/html/chapter8.htm
« แก้ไขครั้งสุดท้าย: 05, พฤษภาคม 2008, 11:40:53 PM โดย bomb »
-= ประเทศไทย ไม่ได้ขึ้นอยู่กับใครสองคน =-
สังคมไทยจะดีขึ้นถ้าคนไทย  รู้จักแบ่งปันสิ่งดีๆให้แก่กัน

Single

  • บุคคลทั่วไป

ออฟไลน์ bomb

  • Just Staff
  • *
  • กระทู้: 400
  • เห็นด้วย&ขอบคุณ: 27
  • เพศ: ชาย
    • IT-CLUB เว็บไซต์เพื่อการเรียนรู้
ผมแก้แล้วมันเป็นแบบนี้อ่ะคับ



ส่วน โค้ด Log in ที่ให้เอาไปใส่จะมาอยู่ด้านล่างคับ


Login Function: <?php ssi_login(); ?>
ชื่อผู้ใช้งาน: ตรงนี้จะมี input box    
รหัสผ่าน: ตรงนี้จะมี input box    

ไม่ทราบว่า ssi_examples.php และก็ SSI.php ของ board กับของ homepage  ต้องสร้างแยกกันปะคับ  อันนี้ผมลิ้งไปยัง board/ssi_examples.php
   
-= ประเทศไทย ไม่ได้ขึ้นอยู่กับใครสองคน =-
สังคมไทยจะดีขึ้นถ้าคนไทย  รู้จักแบ่งปันสิ่งดีๆให้แก่กัน

ออฟไลน์ bomb

  • Just Staff
  • *
  • กระทู้: 400
  • เห็นด้วย&ขอบคุณ: 27
  • เพศ: ชาย
    • IT-CLUB เว็บไซต์เพื่อการเรียนรู้
ได้แล้วคับ  ขอบคุณมากคับพี่ฟิล์ม  :dev: :dev:  :smitten-1: :smitten-1:  :adore:
-= ประเทศไทย ไม่ได้ขึ้นอยู่กับใครสองคน =-
สังคมไทยจะดีขึ้นถ้าคนไทย  รู้จักแบ่งปันสิ่งดีๆให้แก่กัน

ray

  • บุคคลทั่วไป
   
ต้องแก้อย่างไรครับ

Name   Last modified   Size   Description
   Parent Directory        -
   SSI.php   27-May-2010 12:26    57K
   Settings.php   27-May-2010 16:49   3.7K
   Settings_bak.php   27-May-2010 16:49   3.7K
   Smileys/   27-May-2010 12:24    -
   Sources/   27-May-2010 12:24    -
   Themes/   27-May-2010 12:56    -
   agreement.txt   27-May-2010 12:22   3.3K
   avatars/   27-May-2010 12:23    -
   install_1-1.sql   27-May-2010 12:23    40K
   license.txt   27-May-2010 12:23   4.0K
   news_readme.html   27-May-2010 12:23   2.6K
   readme.html   27-May-2010 12:23   8.5K
   ssi_examples.php   27-May-2010 12:26   5.6K
   ssi_examples.shtml   27-May-2010 12:26   5.3K

NoName

  • บุคคลทั่วไป
แล้ว index.php ไปใหนซะหล่ะครับ..

 

Sitemap 1 2 3 4 5 6 7 8 9 10 
Back to top