Kijimoshi Опубликовано 24 марта, 2008 Жалоба Поделиться Опубликовано 24 марта, 2008 ВНИМАНИЕ ПЕРВАЯ ЧАСТЬ СООБЩЕНИЯ ЭТО ТОЛЬКО САМА АДМИН ПАНЕЛЬ БЕЗ РЕДАКТОРА!!! Часть 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 ссылку на это творение или чтото своё придумать )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kijimoshi Опубликовано 25 марта, 2008 Автор Жалоба Поделиться Опубликовано 25 марта, 2008 хоть бы чтото написали) не шоб сказать работает или нет ) вы молчите) хотяб плюсек возле аватарки поставьте)) Ссылка на комментарий Поделиться на другие сайты Поделиться
libertine Опубликовано 12 января, 2010 Жалоба Поделиться Опубликовано 12 января, 2010 не работает((( ошибка в строке if($form_submit) { что делать? Ссылка на комментарий Поделиться на другие сайты Поделиться
delmax Опубликовано 22 февраля, 2011 Жалоба Поделиться Опубликовано 22 февраля, 2011 (изменено) хоть бы чтото написали) не шоб сказать работает или нет ) вы молчите) хотяб плюсек возле аватарки поставьте)) как я понимаю для Incomedia WebSite X5 эта админка не подходит? i Уведомление: Поскольку автор темы последний раз являлся миру аж 21 Ноября 2008 - резонно предположить, что вряд ли он ответит... Изменено 25 февраля, 2011 пользователем Yezhishe Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения