PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (3): « 1 [2] 3 »
Найдено сообщений: 44
petr
Отправлено: 20 Апреля, 2013 - 15:13:35 • Тема: Действия с загруженными данными ajax • Форум: JavaScript & VBScript
Ответов: 1 Просмотров: 562
Здравствуйте.
На странице подгружаются данные с помощью ajax в виде списка
После этого я хочу с ними работать, т.е. чтоб при клике на эл-т списка происходили какие-то действия.
Пока что не получается вывести даже обычный alert при клике на элемент
CODE (
javascript ):
скопировать код в буфер обмена
<script type = "text/javascript" >
$( document) .ready ( function ( ) {
$( 'li' ) .on ( 'click' , function ( ) {
alert ( 'hi' ) ;
} ) ;
$( "#search" ) .keyup ( function ( ) {
var search = $( "#search" ) .val ( ) ;
$.ajax ( {
type : "POST" ,
url: "http://framework/dir/all_news" ,
data: { "search" : search} ,
cache: false ,
success: function ( response) {
$( "#resSearch" ) .html ( response) ;
}
} ) ;
return false ;
} ) ;
} ) ;
</script>
Если вместо on ставлю live, то даже данные аяксом не подгружаются.
В frontend новичек
Помогите плз.
Заранее спасибо.
petr
Отправлено: 12 Апреля, 2013 - 15:20:29 • Тема: Помогите с выборкой • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 29
-peoples
id
email
password
-ganre_books
id
ganre
-hobbies
id
name
-hobbies_peoples
people_id
hobbie_id
-ganre_books_peoples
people_id
ganre_books_id
petr
Отправлено: 12 Апреля, 2013 - 14:31:09 • Тема: Помогите с выборкой • Форум: SQL и Архитектура БД
Ответов: 2 Просмотров: 29
Здравствуйте.
Есть таблички в БД:
1. С людьми(peoples)
2. С увлечениями(hobbies)
3. С жанрами книг(ganre_books)
4. Связующая между peoples и hobbies(многие-ко-многим)
5. Связующая между peoples и ganre_books(многие-ко-многим)
Какой необходимо сделать sql-запрос
Чтоб можно было вывести потом чрез php список такого вида:
-Имя человека1
-Увлечение1 -Жанр 2
-Увлечение23 -Жанр 5
-Имя человека2
-Увлечение11 -Жанр 2
-Увлечение3 -Жанр 4
и т.д.
Т.е. имя человека и его увлечения и любимые жанры книг?
Реально одним запросом этого добится?
petr
Отправлено: 07 Апреля, 2013 - 13:55:01 • Тема: Отправка письма MVC • Форум: Объектно-ориентированное программирование
Ответов: 7 Просмотров: 2139
Всем здравствуйте.
Подскажите. Такая ситуация:
При регистрации юзера, данные email и пароль попадают в контроллер.
Далее контроллер отдает их модели, модель их обрабатывает и добавляет юзера.
Далее необходимо отправить письмо с кодом активации.
Отправка письма в парадигме MVC где должна происходить?
Если в модели то очень удобно получается, сразу все данные под рукой, вызываю класс для работы с почтой и отправляю.
А в контроллере даже не предстовляю как сделать, наверное дополнительный метод надо писать, не очень красиво получается.
Заранее спасибо.
petr
Отправлено: 01 Апреля, 2013 - 12:18:48 • Тема: Объединить несколько css файлов • Форум: Вопросы новичков
Ответов: 4 Просмотров: 290
Добрый день.
Есть 4 файла css с пересекающимися стилями.
В каждом файле есть свои селекторы и есть повторяющиеся, которые присутствуют и в других файлах.
Вот такой бардак.
Необходимо все это объединить в один css-файл.
Может кто подскажет сталкивались с софтом для таких задач?
Заранее спасибо.
petr
Отправлено: 27 Февраля, 2013 - 11:37:37 • Тема: Правильная работа с mail • Форум: Вопросы новичков
Ответов: 4 Просмотров: 140
Добрый день.
Хотелось бы узнать, как сделать почтовую рассылку чтоб она не попадала в спам.
Вообще есть какие то методы? или это никак не контролируется, зависит от внутренних механизмов почтового сервера?
Ничего нелегального нет, просто рассылка информация зарег-м пользователям, отправки письма с активацией.
И если несколько человек поставит письмо в спам, как это в целом повлияет на рассылку?
Делаю все как в этой статье, по сути тоже самое, только обернуто еще в функцию
http://www.php.su/functions/?mail
Интересуют, только механизмы php, а не сторонние сервисы.
Спасибо
petr
Отправлено: 21 Февраля, 2013 - 00:37:53 • Тема: Рассылка писем, не получается с html • Форум: Вопросы новичков
Ответов: 0 Просмотров: 72
Здравствуйте.
Есть скрипты для отправки почты клиентам.
Почта отправляется с их согласия.
Письма обычным текстом отправляются отлично, но с html не отправляются.
Если допустим вставляю картинку img приходит только текст, в исходном коде сообщения пустой тег <img> без единого атрибута.
Подскажите в чем проблема?
Спасибо.
PHP:
скопировать код в буфер обмена
<?PHP
define ( 'MSG_LIST' , '1;Рассылка звершена;' ) ;
define ( 'MAIL_CONTENT_TEXT' , 1
) ; define ( 'MAIL_CONTENT_HTML' , 2
) ; define ( 'MAIL_CONTENT_LIST' , '1;TEXT;2;HTML;' ) ; define ( 'MAIL_KIND_MANUAL' , 1
) ; //адреса вводятся вручную define ( 'MAIL_KIND_TXT' , 2
) ; //список адресов из файла define ( 'MAIL_KIND_LIST' , '1;вводятся вручную;2;из файла emails.txt;' ) ;
define ( 'MAIL_PASSWORD' , 'password' ) ; //пароль
define ( 'MAIL_LOG' , 1
) ; // 1 - лог включен, иначе выключен define ( 'MAIL_FILE_LOG' , 'mails_log.txt' ) ; //файл, в который помещаются адреса куда письма были успешно отправлены define ( 'MAIL_FILE_LIST' , 'emails.txt' ) ; //файл, со списком адресов
define ( 'WAIT_TIME' , 0
. 2
) ; //интервал между рассылками писем, зависит от почтового сервера
//define('MAIL_SENDER', '1;mail1@yandex.ru;2;mail2@yandex.ru;');
define ( 'MAIL_SENDER' , '1;test@yandex.ru;' ) ; define ( 'MAIL_SENDER_NAME' , '1;Name1;' ) ;
//формируем тело списка, где $tpl шаблон пар <код;значение>, $code - выбранный коды, через delim
function GetListItems( $code , $delim , $tpl ) {
$buf = '' ;
for ( $i = 0 ; $i < $size ; $i ++ ) {
$tmp = ( in_array ( $aItems [ $i * 2
] , $aCodes ) ) ?
" selected" : "" ; $buf .= "<option value=\" " . $aItems [ $i * 2 ] . "\" " . $tmp . ">" . $aItems [ $i * 2 + 1 ] . "</option>" ;
}
return $buf ;
}
//получаем элемент списка с заданным кодов (см. выше)
function GetListValue( $code , $delim , $tpl ) {
if ( ( ( $i = array_search ( $code , $aItems ) ) !== false ) && ( $i < count
( $aItems ) - 1
) ) { return $aItems [ $i + 1] ;
}
return '' ;
}
class TMails{
var $buf ;
var $Password ;
var $From ;
var $Content ;
var $MailKind ;
var $EMailList ;
var $Title ;
var $MailText ;
function TMails( ) {
$this -> buf = '' ;
}
//выводим сообщение
function ShowMsg( $msg ) {
$this -> buf .= '<div align=center><h4>' . $msg . '</h4></div>' ;
}
function ShowHeader( ) {
$this -> buf = <<< HEAD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<title>Рассылка писем</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<META NAME="Copy Right" CONTENT="Сайт">
<META NAME="AUTHOR" CONTENT="content">
</HEAD>
<BODY>
HEAD ;
}
function ShowFooter( ) {
$this -> buf .= '</BODY></HTML>' ;
}
function ShowMainForm( ) {
$FromList = GetListItems( $this -> From , ';' , MAIL_SENDER) ;
$ContentList = GetListItems( $this -> Content , ';' , MAIL_CONTENT_LIST) ;
$KindList = GetListItems( $this -> MailKind , ';' , MAIL_KIND_LIST) ;
$this -> buf .= <<< MAIL_PREVIEW
<form action="{$_SERVER['PHP_SELF']}" method=POST>
<table cellspacing="1" cellpadding="0">
<tr><td width=150>Пароль:</td><td><input type="password" name="Password"></td></tr>
<tr><td width=150>От:</td><td><select size=1 name="From">{$FromList}</select></td></tr>
<tr><td width=150>Тип письма:</td><td><select size=1 name="Content">{$ContentList}</select></td></tr>
<tr><td width=150>Источник адресов:</td><td><select size=1 name="MailKind">{$KindList}</select></td></tr>
<tr><td width=150>Список получателей (для ручного ввода - на строке один адрес):</td><td><textarea cols=40 rows=10 name="EMailList">{$this->EMailList}</textarea></td></tr>
<tr><td>Заголовок:</td><td><input type=text name="Title" size=100 value="{$this->Title}"></td></tr>
<tr><td>Текст письма:</td><td><textarea cols=80 rows=20 name="MailText">{$this->MailText}</textarea></td>
</tr>
<tr><td></td><td><input name="Submit" type=submit value="Отправить"></td></tr>
</table>
</form>
MAIL _PREVIEW;
}
function SendTxt( ) {
if ( $this -> Password != MAIL_PASSWORD) {
$this -> buf .= 'Введен неверный пароль' ;
return false ;
}
if ( ( trim ( $this -> Title ) == '' ) || ( trim ( $this -> MailText ) == '' ) ) { $this -> buf .= 'Не задан заголовок или тело письма' ;
return false ;
}
//заголовки
$from = GetListValue( $this -> From , ';' , MAIL_SENDER_NAME) . ' <' . GetListValue( $this -> From , ';' , MAIL_SENDER) . '>' ;
$headers = '' ;
if ( $this -> Content == MAIL_CONTENT_TEXT) {
$headers = "Content-Type: text/plain; charset=windows-1251\r \n " ;
} else {
$headers = "MIME-Version: 1.0\r \n " . "Content-Type: text/html; charset=windows-1251\r \n " ;
}
$headers .= "From: " . $from . "\r \n " . "Reply-To: " . $from . "\r \n " . "X-Mailer: PHP\r \n " ;
//текст
if ( $this -> Content == MAIL_CONTENT_HTML) {
$this -> MailText = '<html><head><title>' . htmlspecialchars ( $this -> Title ) . '</title></head><body>' . $this -> MailText . '</body></html>' ;
}
$send_count = $error_count = 0 ;
$f_mail = ( $this -> MailKind == MAIL_KIND_TXT
) ?
file ( MAIL_FILE_LIST
) : explode ( "\r \n " , $this -> EMailList ) ; for ( $i = 0 ; $i < $lines ; $i ++ ) {
$email = trim ( $f_mail [ $i ] ) ; if ( $email != '' ) {
$this -> buf .= $email . '<br>' ;
if ( !@ mail ( $email , $this -> Title , $this -> MailText , $headers ) ) { $this -> buf .= ' - ошибка<br>' ;
$error_count ++;
} else {
$send_count ++;
if ( ( MAIL_LOG
== 1
) && ( $f_stat = @ fopen ( MAIL_FILE_LOG
, 'a+' ) ) ) { @ fwrite ( $f_stat , $email . "\n " ) ; }
}
}
//задержка перед отправкой
}
$this -> buf .= 'Отправлено: ' . $send_count . '<br>Всего ошибок: ' . $error_count . '<br>' ;
return true ;
}
function ProcessEvents( ) {
$is_send = isset ( $_POST [ 'Submit' ] ) ; $this -> Password = isset ( $_POST [ 'Password' ] ) ?
$_POST [ 'Password' ] : '' ; $this -> From = isset ( $_POST [ 'From' ] ) ?
$_POST [ 'From' ] : '' ; $this -> Content = isset ( $_POST [ 'Content' ] ) ?
$_POST [ 'Content' ] : '' ; $this -> MailKind = isset ( $_POST [ 'MailKind' ] ) ?
$_POST [ 'MailKind' ] : '' ; $this -> EMailList = isset ( $_POST [ 'EMailList' ] ) ?
$_POST [ 'EMailList' ] : '' ; $this -> Title = isset ( $_POST [ 'Title' ] ) ?
$_POST [ 'Title' ] : '' ; $this -> MailText = isset ( $_POST [ 'MailText' ] ) ?
$_POST [ 'MailText' ] : '' ;
$this -> ShowHeader ( ) ;
if ( $is_send ) {
switch ( $this -> MailKind ) {
case MAIL_KIND_MANUAL:
case MAIL_KIND_TXT:
if ( ! $this -> SendTxt ( ) ) $this -> ShowMainForm ( ) ;
break ;
}
} else {
$this -> ShowMainForm ( ) ;
}
$this -> ShowFooter ( ) ;
return $this -> buf ;
}
}
$m = new TMails( ) ;
echo $m -> ProcessEvents ( ) ;
?>
petr
Отправлено: 12 Февраля, 2013 - 12:14:38 • Тема: Архитектура приложения MVC • Форум: Вопросы новичков
Ответов: 4 Просмотров: 269
Здравствуйте.
Пишу приложение на php, используя ооп и mvc.
Правильно ли использовать следеющую архитектуру?
Если не правильно, то что и как сделать лучше?
Расскажу на примере вывода меню.
Модель:
PHP:
скопировать код в буфер обмена
<?PHP
require_once '../config/db.php' ;
class Mmenu extends Db{
public function return_menu( ) {
$sql = "SELECT id, menu_name FROM pages" ;
$res = $this -> sql ( $sql ) ;
return $res ;
}
}
Контроллер:
PHP:
скопировать код в буфер обмена
<?PHP
require_once '../models/mmenu.php' ;
class Cmenu extends Mmenu{
public function print_menu( ) {
$res = $this -> return_menu ( ) ;
$mname [ $row [ 'id' ] ] = $row [ 'menu_name' ] ;
}
return $mname ;
}
}
$aux_vmenu = new Cmenu( ) ;
$vmenu = $aux_vmenu -> print_menu ( ) ;
Вид:
PHP:
скопировать код в буфер обмена
<?PHP
require_once '../controllers/cmenu.php' ;
echo "<ul>" ;
foreach ( $vmenu as $uri => $link ) {
echo "<li><a href='?id=" . $uri . "'>" . $link . "</a></li>" ;
}
echo "</ul>" ;
Спасибо
petr
Отправлено: 10 Февраля, 2013 - 22:26:46 • Тема: Как сохранить целостность в бд • Форум: Вопросы новичков
Ответов: 2 Просмотров: 94
Всем здравствуйте.
Такая ситуация, есть таблица с категориями, есть таблица со статьями, у которых внешний ключ категория стать.
Есть пользовательский интерфейс, где можно добавлять/удалять/изменять категории.
И интерфейс с добавлением статьи, где можно выбрать категорию.
Но допустим такая ситуация, если пользователь захочет удалить категорию, к которой привязаны существующие статьи.
Как сохранить целостность и реализовать это?
Заранее спасибо
Страниц (3): « 1 [2] 3 »
Powered by ExBB FM 1.0 RC1. InvisionExBB