ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

03.07.2008, 01:36
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме: 1301036
Репутация:
1334
|
|
Сообщение от ChaaK
Вопрос такой:
у меня есть файл с настройками. Пишу админку. Нужна функция изменения параметров.
Файл настроек:
PHP код:
//*************DataBase********************/
$dbhost = 'localhost'; // DataBase host
$dbuser = 'root'; // DataBase user
$dbpass = ''; // DataBase pass
$db = 'aaa'; // DataBase name
/*****************************************/
Еще много чего...
Как реализвать чтобы у меня файл не перезаписывался, а изменялись только те строки, где было применено измменение?
Спасибо.
Скажу двумя словами ИМХО, можно использовать ссылку (чтобы изменение переменной внутри функции влияло на неё вне функции: function tst(&$secreload), аналог function tst(var secreload); в Pascal) или обычный параметр функции (тогда в теле функции вы работает с копией первоначальной переменной: function tst($secreload)). Ниже подробнее. Вот пример постой функции с одним параметром и с вызовом функции:
PHP код:
<I> <?php function tst($str) // описание функции { echo $str; // эти три строки являются телом функции $str="OK, done"; return $str; } $str="Привет Вам, это сказал я <BR>"; tst($str); echo $str."<BR>"; ?> </I>
|
|
|

02.07.2008, 18:04
|
|
Постоянный
Регистрация: 08.01.2006
Сообщений: 865
Провел на форуме: 3279330
Репутация:
343
|
|
что то я не понял толком что ты хочешь, ну реализуй класс и используй нужные методы потом
|
|
|

02.07.2008, 18:16
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
ChaaK
у меня есть файл с настройками. Пишу админку. Нужна функция изменения параметров.
Вынеси настройки в конфиг типа
'dbhost ':'localhost',
'dbuser':'root',
...
А к файлу конфига обращайся, через методы класса "конфиг"
пс файл конфиг может и так выглядеть
$settings = array(
'dbhost '=>'localhost',
'dbuser'=>'root',
...
);
Тогда проще находить определенный элемент(а также изменять его)
Можно и сеарилизовывать массив, но это уже имхо перебор(правда так легко изменять данные)
А вообще такие все настройки должны храниться в файле формата .xml, это почти идеальный вариант, так ими легко манипулировать
А изменять и получать значения, как я уже говорил нужно через методы класса "конфиг"
Последний раз редактировалось Naydav; 02.07.2008 в 18:19..
|
|
|

02.07.2008, 18:26
|
|
Участник форума
Регистрация: 26.02.2007
Сообщений: 259
Провел на форуме: 302951
Репутация:
67
|
|
вот наглядный пример из моей админки, файл site.config
PHP код:
<?
class object { };
$CFG = new object();
$CFG->siterootid=1;
$CFG->encoding = "windows-1251";
$CFG->use_cache = false;
$CFG->cache_expire_time = 3600;
$CFG->dir_perms = 0755;
$CFG->file_perms = 0644;
$CFG->moduleUploadDir = '/module_upload/';
?>
правда я щас только читаю о классах но помоему этого достаточно чтобы его создать
|
|
|

02.07.2008, 20:47
|
|
Познающий
Регистрация: 10.04.2008
Сообщений: 51
Провел на форуме: 78866
Репутация:
0
|
|
Здравствуйте! Суть проблемы состоит в этом:
Допустим у нас есть скрипт:
Код:
<html>
<head>
<title> Проверка формуляра </title>
</head>
<body>
<center>
<?php
echo "Вас зовут ".$_POST['Name'];
if (!$_POST['Name']) { echo "<br>Заполните форму!"; } ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" size="10" name="Name">
<input type="submit" value="запрос!">
</form>
</center>
</body>
</html>
Из него видно, что при вводе в форму вашего имени скрипт пишет "Вас зовут, ИМЯ".
Так же стоит проверка формы на заполнение, т.е. если форма пуста скрипт отвечает нам "Заполните форму!".
Проблема состоит в том, что сразу после открытия скрипта он уже упрекает пользователя в том, что он не заполнил форму, да и в добавок выполняет первую строку скрипта (короче вообще весь php код выполняет).
Как сделать так чтобы вся работа скрипта отображалась после нажатия кнопки? 
|
|
|

02.07.2008, 20:51
|
|
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме: 1595333
Репутация:
291
|
|
PHP код:
<?php
if (!$_POST['Name']) {
echo "<br>Заполните форму!";
} else {
echo "Вас зовут ".$_POST['Name'];
};
?>
так вроде?
|
|
|

02.07.2008, 20:57
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
Код:
<?php
$NAME = isset($_POST['Name']) ? $_POST['Name'] : "";
if($_POST['act'])
{
if($NAME){
echo "Вас зовут, $NAME";
}else{
?>
<html>
<head>
<title> Проверка формуляра </title>
</head>
<body>
<center>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" size="10" name="Name">
<input type="submit" name="act" value="запрос!">
</form>
</center>
</body>
</html>
<?php
}
}
?>
Последний раз редактировалось PHPoozy; 03.07.2008 в 15:57..
|
|
|

02.07.2008, 21:05
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Кто нибудь может предложить чтонибудь попроще, или привести конкретный, работающий пример?
|
|
|

02.07.2008, 21:09
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
Кто нибудь может предложить чтонибудь попроще, или привести конкретный, работающий пример?
смотрим вверх =|
|
|
|

02.07.2008, 21:21
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
ChaaK через инклуд проще
include("./class.admin.php");
после ссылаемся на нужный обжект
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|