HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.06.2009, 14:11
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


По умолчанию

m0Hze спасибо! То что нужно.
 
Ответить с цитированием

  #2  
Старый 02.06.2009, 14:36
Avastor
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами: 9391536

Репутация: 21
Post

Ну вот как обычно на всех форумах, много лиреческих вопросов "зачем" и "почему"?

Модель которой придерживаюсь я:
Модель (файл залит на upload.com.ua)
У меня такая структура
index_view.php
PHP код:
<?php
    
class index_view
    
{
      function 
__construct()
      {
        
index_view::showpage();
      } 
//_construct
    
      
function showpage()
      {
        require_once(
"index_controllers.php");
        
$controllers = new index_controllers("SELECT * FROM news");
        while(
$table=mysql_fetch_object($controllers->query_db))
              echo 
$table->data.'<br>'.$table->message.'<br><br>';
      } 
//showpage
    
}
?>
index_controllers.php
PHP код:
<?php
    
class index_controllers
    
{
      public 
$query_db
      function 
__construct($query_in_controlls="")   {
        
# Берем из конфига настройки к БД
        
require_once("config_suit.php"); 
        
$config = new config_suit;
        
# Передаем их в модель
        
require_once("index_module.php");      
        
$model = new  index_module($config->databaselocalhost,
                                                   
$config->databaseusername,
                                                   
$config->databaseuserpass,
                                                   
$config->databaseuserdb,
                                                   
$query_in_controlls);
        
$this->get_query_db($model->query);
     } 
//__construct
    
function get_query_db($obj)
    {
      
// Если ошибки записываем их в "Лог" файл взаимодейстия на схеме
      
$this->query_db=$obj;
    } 
//get_query_db
    
//index_controllers
?>
index_module.php
PHP код:
<?php
    
class index_module
    
{
       public 
$query
       function 
__construct ($databaselocalhost,
                                             
$databaseusername,
                                             
$databaseuserpass,
                                             
$databaseuserdb,
                                             
$query_in_model)
      {
       
$connect=mysql_connect($databaselocalhost,
                                                      
$databaseusername,
                                                      
$databaseuserpass);
       
$connect_db =mysql_select_db($databaseuserdb,$connect);
       
$this->query mysql_query($query_in_model);
      } 
//__construct
    
//index_module
?>
и config_suit.php
PHP код:
<?php
    
class config_suit
    

      
# Настройки к БД
      
var $databaselocalhost "localhost";
      var 
$databaseusername  "username";
      var 
$databaseuserpass  "userpass";
      var 
$databaseuserdb    "userdb";
    } 
//config_suit.php
?>
Как вы уже видете с представления "вид" передаетса в "контроллер" сам запрос на выборку из БД, притом в "контроллере" подключаетса файл "конфигурации" и предаютса запрос и настройки из конфига для БД в "модель" после всех операций с "модели" данный для проверки отдаютса "контроллеру" а тот уже проверенные данные передает в "вид".
Я думаю модель (MCV) ясна, по коду возможны опечатки, так как не тестировалось и убраны всё возвожные проверки данных для облегчения кода.

Вот сообственно вопрос, повторюсь по уже сказанному
.... считаетса ли хорошим стилем программирования большой список аргументов передаваемые в класс при его инициализации?
PHP код:
<?php
   
class TSymbol
   
{
     protected 
$var1;
     protected 
$var2;
     
#  .....
     
protected $varN;
     function 
TSymbol($var1="",$var2="",...,$varN="")
     {
       
$this->var1 $var1;
       
$this->var2 $var2;
       
# ......
       
$this->varN$varN;
     }
   } 
//TSymbol
?>
# В другом скрипте
<?php 
require_once("TSymbol.inc");
symbol = new TSymbol($new_var1,$new_var2,...,$new_varN);
?>
Хотел спросить если количество переменны будет к примеру 10, являетса ли это эфективно при передачи такого количества идентификаторов в класс?
 
Ответить с цитированием

  #3  
Старый 02.06.2009, 15:13
1NtR0
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами: 10039659

Репутация: 209
По умолчанию

Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
 
Ответить с цитированием

  #4  
Старый 02.06.2009, 15:22
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

Цитата:
Сообщение от 1NtR0  
Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
Регулярные выражения.

Цитата:
Сообщение от Avastor  
Самый самый самый простой вариант
Код HTML:
<a href="mailto:support@mysite.ru?subject=трабли на сайте">сообщить об ошибки</a>
Тут вообще открывается компоннент браузера, чтобы отправить...
 
Ответить с цитированием

  #5  
Старый 02.06.2009, 22:06
Avastor
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами: 9391536

Репутация: 21
По умолчанию

Цитата:
Сообщение от mailbrush  
Тут вообще открывается компоннент браузера, чтобы отправить...
Правильно, а зачем изобретать колесо для простейшей функции отправки мыла?
 
Ответить с цитированием

  #6  
Старый 02.06.2009, 22:29
Avastor
Новичок
Регистрация: 07.07.2008
Сообщений: 9
С нами: 9391536

Репутация: 21
По умолчанию

Цитата:
Сообщение от mailbrush  
Тут вообще открывается компоннент браузера, чтобы отправить...
Mailbrush, вы говорите "компоненнт браузера??" вам не смешно? мне да ;-) к примеру OC Windows браузер FireFox, при переходи на ссылку mailto открываетса OutLock Express, либо другой мейловый агент который выставлен по дефолу, возмем ОС Linux при переходе с браузреа Opera открываетса почтовый клиент Evolution, возникает вопрос? как может Outlock express быть компонентов браузер FireFox, и Evolution компонентов Opara странно?
 
Ответить с цитированием

  #7  
Старый 02.06.2009, 15:29
1NtR0
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
С нами: 10039659

Репутация: 209
По умолчанию

Ну так сначала же заходишь и выдираешь кей из страницы а потом уже опять заходишь и передаешь параметер и он уже меняеться..
 
Ответить с цитированием

  #8  
Старый 02.06.2009, 15:33
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами: 9574565

Репутация: 712


По умолчанию

del

Последний раз редактировалось geforse; 02.06.2009 в 16:48..
 
Ответить с цитированием

  #9  
Старый 02.06.2009, 16:38
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Вот,работает,только кодировку сменить придеться похоже ри передаче сообщения.А иначе можеш посмотреть что получаеться у себя в шб.
Код:
PHP код:
<?php

/**
 * @author m0hze
 * @copyright 2009
 */
 
if(!isset($_GET['name'])){
$exec curl_init('http://geforse.my1.ru/gb/');
curl_setopt($execCURLOPT_RETURNTRANSFER1);
curl_setopt($execCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($execCURLOPT_REFERER'http://geforse.my1.ru/gb/');
curl_setopt($execCURLOPT_HEADER1);
$page curl_exec($exec);
preg_match('#name="seckey" value="([0-9]+)"#'$page$key);
$seckey $key[1];
preg_match('#src="http://geforse.my1.ru/secure/\?k=' $seckey .
    
';s=gb;tm=(.*)"#'$page$url_key);
$url 'http://geforse.my1.ru/secure/?k=' $seckey ';s=gb;tm=' $url_key[1];
echo 
'<form action="" method="GET">
    Введите имя: <input type="text" name="name"><br>
    Введите Email: <input type="text" name="email"><br>
    Введите WWW: <input type="text" name="url"><br>
    Введите сообщение: <input type="text" name="message"><br>
    Введите Icon: <input type="text" name="key"><img src="' 
$url '"><br>
    <input type="hidden" name="seckey" value="' 
$seckey '">
    <input type="submit">'
;
}elseif(isset(
$_GET['name'])) {
    
$curl curl_init('http://geforse.my1.ru/gb/');
   echo 
$post 'name=' $_GET['name'] . '&email=' $_GET['email'] . '&url=' $_GET['url'] .
        
'&message=' $_GET['message'] . '&code=' $_GET['key'] . '&seckey=' $_GET['seckey'] .
        
'&a=8&sos=752002698';
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
    
curl_setopt($curlCURLOPT_USERAGENT'Opera/9.25 (Windows NT 5.1; U; ru)');
    
curl_setopt($curlCURLOPT_REFERER'http://geforse.my1.ru/gb/');
    
curl_setopt($curlCURLOPT_HEADER1);
    
curl_setopt($curlCURLOPT_POSTFIELDS$post);
    
$send curl_exec($curl);
    echo 
$send;
}
?>
 
Ответить с цитированием

  #10  
Старый 02.06.2009, 17:00
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Лучше гнаписать самому.А так,в гугле вбей: набор движков файлообменников 15.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.