Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Админка для любого сайта


Рекомендуемые сообщения

ВНИМАНИЕ ПЕРВАЯ ЧАСТЬ СООБЩЕНИЯ ЭТО ТОЛЬКО САМА АДМИН ПАНЕЛЬ БЕЗ РЕДАКТОРА!!!

Часть 1 СОЗДАЁМ АДМИНКУ - точнее её конструкцию

если у вас есть сайт(именно свой, который вы делали не посильным трудом) то вам навернуе нужна админка для управлениями конфигурациями !

Так вот же она: ))

Приступим

Первое, что нам надо сделать — это создать отдельную подпапку. Назовём её дефолтно — «admin». Наша админ-панель в будущем будет располагаться по адресу http://ваш_сайт.ru/папка_где_лежит_скрипт/admin/. Вообще, называть папку именно «admin» вовсе не обязательно, можно назвать её как угодно.

Второе, что нам надо сделать — это создать файл конфигурации админки. Для этого создаём в папке с дефолтным названием «admin» файл с не менее дефолтным именем — «config.php». Вписываем в него следующее содержимое:

<?php$adminlogin = 'admin';$adminpassw = '12345';?>

Значения переменных adminlogin и adminpassw заменяем логином и паролем — реквизитами доступа в будущую админку. В вышеуказанном примере логин — «admin», пароль — «12345».

Теперь создаём файл входа в админку. Создаём новый файл в папке admin под названием index.php, и заполняем его кодом следующего содержания:

<?phpsession_start ();if (!empty ($_SESSION['admin'])){if ($_SESSION['admin']){?><html><head><title>Административная панель</title><style type= text/css>#wrap{width: 100%;height: 100%;}.loginbox1{width: 300px;padding: 4px;border: 1px solid #777;background-color: #777;color: white;font-weight: bold;}.loginbox2{width: 300px;padding: 4px;border: 1px solid #777;color: #777;}</style></head><body><center><table cellpadding=0 cellspacing= «0» id= «wrap»><tr><td align=center><table cellpadding=0 cellspacing= «0»><tr><td class=loginbox1 align=center>Вход выполнен</td></tr><tr><td class=loginbox2 align=center><a href=admin_main.php>Перейти к административной панели</a></td></tr></table></td></tr></table></center></body></html><?exit;}}$_SESSION['admin'] = false;include ('config.php');function not_logged_in (){echo '<html><head><title>Административная панель</title><style type=text/css>#wrap{width: 100%;height: 100%;}#wraptd{padding: 20px;}.loginbox1{width: 300px;padding: 4px;border: 1px solid #777;background-color: #777;color: white;font-weight: bold;}.loginbox2{width: 300px;padding: 4px;border: 1px solid #777;color: #777;}.loginbox2 input{width: 200px;margin: 3px 0;border-color: #888;color: #777;}</style></head><body><center><table cellpadding=0 cellspacing=0 id=wrap><tr><td align=center id=wraptd><table cellpadding=0 cellspacing=0><tr><td class=loginbox1 align=center>Вход в административную панель</td></tr><tr><td class=loginbox2 align=center><form action=index.php method=post><input type=text name=login value=Логин><br><input type=text name=password value=Пароль><br><input type=submit value=Войти></form></td></tr></table></td></tr></table></center></body></html>';exit;}if (!$_POST) not_logged_in ();if (!$_POST['login']) not_logged_in ();if (!$_POST['password']) not_logged_in ();if ($_POST['login']!= $adminlogin) not_logged_in ();if ($_POST['password']!= $adminpassw) not_logged_in ();$_SESSION['admin'] = true;?><html><head><title>Административная панель</title><style type=text/css>#wrap{width: 100%;height: 100%;}.loginbox1{width: 300px;padding: 4px;border: 1px solid #777;background-color: #777;color: white;font-weight: bold;}.loginbox2{width: 300px;padding: 4px;border: 1px solid #777;color: #777;}</style></head><body><center><table cellpadding=0 cellspacing=0 id=wrap><tr><td align=center><table cellpadding=0 cellspacing=0><tr><td class=loginbox1 align=center>Вход выполнен</td></tr><tr><td class=loginbox2 align=center><a href=admin_main.php>Перейти к административной панели</a></td></tr></table></td></tr></table></center></body></html>

Теперь нужно написать скрипт выхода из админки. Скрипт проверяет, выполнен ли вход и, если вход выполнен, производится выход. Создаём файл admin_logout.php и впихиваем в него следующий код:

<?phpsession_start ();if (!$_SESSION['admin']) die ( Запрещено );session_destroy ();?><html><head><title>Административная панель</title><style type= «text/css»>#wrap{width: 100%;height: 100%;}.loginbox1{width: 300px;padding: 4px;border: 1px solid #777;background-color: #777;color: white;font-weight: bold;}.loginbox2{width: 300px;padding: 4px;border: 1px solid #777;color: #777;}</style></head><body><center><table cellpadding= «0» cellspacing= «0» id= «wrap»><tr><td align= «center»><table cellpadding= «0» cellspacing= «0»><tr><td class= «loginbox1» align= «center»>Выход выполнен</td></tr><tr><td class= «loginbox2» align= «center»><a href=[color=#33CC00]../index.php[/color]>Вернуться на главную страницу</a></td></tr></table></td></tr></table></center></body></html>

Админка уже есть) можно в неё зайти и выйти))) проверять это не надо) т.к. ещё файла админки нету

Создаем файл admin_main.php

вот теперь она есть)) вставляем туда код:

<?phpsession_start ();if (!$_SESSION['admin']) die ( Запрещено );?>ТУТ МОЖНО ЧТОТО НАПИСАТЬ ДЛЯ ТЕСТА))))И попытатся зайти в админку ))))Если всё вышло знач для вас 2-й раздел))

<?php

session_start ();

if (!$_SESSION['admin']) die ( Запрещено );

?>

этот код мы жолжны вставить в самом верху, и если вы надумаете подключать ещё файлы к админке он тоже должен быть там (это код защиты)

Часть 2 СОЗДАЁМ АДМИНКУ - точнее её ВНУТРЕННОСТЬ!!

наверняка на вашем сайте всегда есть файлик config.php или dbconfig.php ну чтото всегда есть и надо ним как-то управлять! Вот выход!

У нас уже есть админка и главным файлом является admin_main.php (там де всё должно быть) надо нагружать его:

Я нашёл в нете чудо скрипт для редактирования INI файлов он отлично подошёл

Вот он:

Создаём фалик например "configedit.php" или можно сразу в admin_main.php пишем туда:

<?phpsession_start ();if (!$_SESSION['admin']) die ( Запрещено ); ?> <?php/*************************************************************************\ iniread - php ini file generator Copyright © 2001 - Paul Gareau This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\*************************************************************************/// edit these values//////////////////////$app_name = ' Описания конфигов ';$ary_file_name[0] = ' путь к конфигам/config.php ';//$ary_file_name[0] = ' не имеет значенияяяя)) ';// ill take it from here//////////////////////////$num_files = count($ary_file_name);if($num_files==1 && ! $file_name)header("Location: $PHP_SELF?file_name=$ary_file_name[0]");// save variables to file////////////////////////////if($form_submit) {$fp = @fopen($file_name, 'w')      or die("Could not open <b>$file_name</b> for writing!");fwrite($fp, "<?php\n\n");if($other)	fwrite($fp, stripslashes($other)."\n");$num_vars = count($var_name);for($line=0; $line<$num_vars; $line++) {	fwrite($fp, $var_name[$line]."\t= ");	$var_val[$line] = ereg_replace("\r\n", " ", $var_val[$line]);	// if variable value is not numeric and it doesnt start with a quote or if its an empty string	// put quotes around it, otherwise just write string to file	if(! is_numeric($var_val[$line]) && ereg("^[^\"\']{1,1}|^$", $var_val[$line]))		fwrite($fp, "\"".stripslashes($var_val[$line])."\";");	else		fwrite($fp, stripslashes($var_val[$line]).";");	if($var_cmt[$line])		fwrite($fp, "\t// ".str_replace(";", ",", stripslashes($var_cmt[$line])));	fwrite($fp, "\n");}fwrite($fp, "\n?>");fclose($fp);$msg = "Конфигурационный файл <b>$file_name</b> Записан)!\n";}// print form page////////////////////echo "<html>\n";echo "<head><title>$app_name</title></head>\n";echo "<style>\n";echo "h1    {font-family: verdana; font-size: 20pt}\n";echo "h3    {font-family: verdana; font-size: 13pt}\n";echo "th    {font-family: verdana; font-size: 10pt; font-weight: bold}\n";echo "td    {font-family: tahoma; font-size: 10pt}\n";echo "body  {font-family: tahoma}\n";echo "input {font-family: 'lucida console', courier; font-size: 10pt}\n";echo "</style>\n";echo "<body><h3>$app_name</h3>\n";echo $msg;if($file_name) {// read variables + data into arrays///////////////////////////////////////$ary_file = file($file_name);$num_lines = count($ary_file);$var_line = 0;for($file_line=0; $file_line<$num_lines; $file_line++) {	$line_content = $ary_file[$file_line];	if(ereg('^[\$#].+;', $line_content)) {		$eq_pos = strpos($line_content, '=');		$sc_pos = strrpos($line_content, ';');		$cmt_pos = strpos($line_content, '//', $sc_pos);		$ary_parsed[$var_line][0] = trim(substr($line_content, 0, $eq_pos));		$ary_parsed[$var_line][1] = trim(substr($line_content, $eq_pos+1, $sc_pos-$eq_pos-1));		if($cmt_pos)			$ary_parsed[$var_line][2] = trim(substr($line_content, $cmt_pos+2, strlen($line_content)-$cmt_pos));		$var_line++;	}	elseif(ereg("[^(\n|<\?php|\?>)]", $line_content))		$ary_other[] = $line_content;}// print edit form/////////////////////$num_vars = count($ary_parsed);$num_xtra = count($ary_other);echo "<form action='$PHP_SELF' method='POST'>\n";echo "<input type='hidden' name='file_name' value='$file_name'>\n";echo "<table border=0 cellpadding=2 cellspacing=1>\n";if(in_array('iniread_spacer', $ary_file)) {	echo "<tr bgcolor='#BBCCDD'>\n";	echo "<th><b>Variable</b></th>\n";	echo "<th><b>Value</b></th>\n";	echo "<th><b>Comment</b></th>\n";	echo "</tr>\n";}for($row=0; $row<$num_vars; $row++) {	$var_orig = $ary_parsed[$row][0];	$var_name = $ary_parsed[$row][0];	$var_name = str_replace("_", " ", ucfirst(str_replace("\$", "", $ary_parsed[$row][0])));	$var_val = $ary_parsed[$row][1];	$var_cmt = $ary_parsed[$row][2];	$bgcolor = ($row % 2) ? '#EEEEEE' : '#DDDDDD';	if($var_orig=='#iniread_spacer') {		$var_show = ereg_replace("^[\"\'](.+)[\"\']", '\\1', $var_val);		$var_val  = ereg_replace("^[\"\'](.+)[\"\']", '\\1', $var_val);		echo "<input type='hidden' name='var_name[]' value='$var_orig'>\n";		echo "<input type='hidden' name='var_val[]' value='$var_val'>\n";		echo "<input type='hidden' name='var_cmt[]' value=''>\n"; //need to hold this space!		echo "<tr bgcolor='#CCCCCC'><td colspan=3><h3>$var_show</h3></td></tr>\n";		echo "<tr bgcolor='#BBCCDD'>\n";		echo "<th><b>Variable</b></th>\n";		echo "<th><b>Value</b></th>\n";		echo "<th><b>Comment</b></th></tr>\n";	} elseif($var_orig=='#iniread_comment') {		$var_show = ereg_replace("^[\"\'](.+)[\"\']", '\\1', $var_val);		$var_val  = ereg_replace("^[\"\'](.+)[\"\']", '\\1', $var_val);		echo "<tr bgcolor='#CCCCCC'>\n";		echo "<td colspan=3> <b>»</b> $var_show\n";		echo "<input type='hidden' name='var_name[]' value='$var_orig'>\n";		echo "<input type='hidden' name='var_val[]' value='$var_val'>\n";		echo "<input type='hidden' name='var_cmt[]' value=''>\n"; //need to hold this space!		echo "</td>\n";		echo "</tr>\n";	} else {		echo "<tr bgcolor='$bgcolor'>\n";		echo "<td valign='top'>$var_name<input type='hidden' name='var_name[]' value='$var_orig'></td>\n";		echo "<td valign='top'>";		if(is_numeric($var_val)) {			echo "<input type='text' size=30 name='var_val[]' value='$var_val'>";		} else {			$rows = (strlen($var_val)>30) ? 4 : 1;			echo "<textarea rows=$rows cols=30 name='var_val[]' wrap='virtual'>$var_val</textarea>";		}		echo "</td>\n";		echo "<td valign='top'><input type='text' size=45 name='var_cmt[]' value='$var_cmt'></td>\n";		echo "</tr>\n";	}}// print non variables in a text area////////////////////////////////////////echo "<tr bgcolor='#CCCCCC'><td colspan=3><h3>Non variables</h3></td></tr>\n";echo "<tr bgcolor='#DDDDDD'><td colspan=3>\n";echo "<textarea rows=5 cols=80 name='other'  style='width: 100%' wrap='virtual'>";for($row=0; $row<$num_xtra; $row++)	echo $ary_other[$row];echo "</textarea></td>\n";echo "</tr>\n";echo "<tr bgcolor='#CCCCCC' colspan=3>\n";echo "<td colspan=3>\n";echo "<input type='submit' name='form_submit' value='   Сохранить   '>\n";echo "<input type='reset' value='  Reset  '>\n";echo "</td>\n";echo "</tr>\n";echo "</table>\n";echo "</form>\n";}// print drop down file list///////////////////////////////echo "<form action='$PHP_SELF' method='POST'>\n<select name='file_name'>\n";for($file=0; $file<$num_files; $file++)echo "<option value='$ary_file_name[$file]'>$ary_file_name[$file]\n";echo "</select>\n";echo "<input type='submit' value='Открыть'>\n";echo "</form>\n";echo "<br>\n";echo "</body>\n";echo "</html>\n";?>

Если вы сделали это в отдельном файлике вам надо сделать в admin_main.php ссылку на это творение или чтото своё придумать ))

Ссылка на комментарий
Поделиться на другие сайты

хоть бы чтото написали) не шоб сказать работает или нет ) вы молчите) хотяб плюсек возле аватарки поставьте))

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
  • 1 год спустя...

хоть бы чтото написали) не шоб сказать работает или нет ) вы молчите) хотяб плюсек возле аватарки поставьте))

как я понимаю для Incomedia WebSite X5 эта админка не подходит?

i

Уведомление:

Поскольку автор темы последний раз являлся миру аж 21 Ноября 2008 - резонно предположить, что вряд ли он ответит...

Изменено пользователем Yezhishe
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...