malltaf
Newbie-
Posts
13 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by malltaf
-
Увы, нельзя. Вернее можно, но смысла нет. Пробовал делать $headers вообще пустым, пробовал оставлять только "$headers = 'From: Birthday Reminder <birthday@example.com>' . "\r\n";". Пробовал и вариант, предложенный Вами. Т.е. независимо от структуры заголовка это всё происходит. P.S. Пробовал, соответственно, также убрать convert_cyr_string...
-
Доброго всем дня. Есть postfix, есть сайт на openSUSE, на нем форма запроса (читай: обратная связь), которая должна отправлять письмецо посредством mail() на определенную почту. Проблема в следующем: при попытке отправки письма с заголовками, письмо уходит, но его блокирует шлюз (уходит точно, проверял). Если headers'ы отсутствуют, то письмо приходит куда надо, но, соответственно, без заголовков. Вопрос: почему заголовки могут не пропускаться? Также есть мысль, что почта уходит не через нужный почтовый сервер (192.168.15.1, к примеру), а через что попало. Или, например, на сайте/сервере прописаны неверные логин/пароль почты или неверный адрес почтового севера, через который нужно работать, поэтому и отсылается почта не оттуда, откуда нужно. Админ мог поменять пароль от почты, к примеру. Раньше все работало, поэтому и возникла мысль о проблеме с логопассом/сервером. Где эти данные могут быть прописаны для сайта и postfix'а? В main.cf (postfix) не нашел, в коде сайта тоже никакой информации по этому поводу нет. На сервере все настроено нормально, почта ходит. Вот, если что, код заголовков ($to,$subject,$text, $from заполняются предварительно в другой функции и на этот момент уже являются статичными): function MailTo($to,$subject,$text, $from) { $msg = $text; $headers = "From:".convert_cyr_string($from,'w','k')."\r\n"; $headers .= "Reply-To: ".convert_cyr_string($from,'w','k')." \r\n"; $headers .= "X-Priority: 3 (Normal)\r\n"; $headers .= "X-Mailer: SXMM V 1.0beta\r\n"; $headers .= "Organization: ".substr(md5(time()),0,7)."\r\n"; $headers .= "Return-path: ".convert_cyr_string($from,'w','k')." \r\n"; $subject="=?koi8-r?B?".base64_encode(convert_cyr_string($subject,'w','k'))."?="; $headers .= "Subject: ".$subject."\r\n"; $headers .= "Date: ".date("D, d M Y H:i:s O")."\r\n"; $headers .= "X-Spam: Not detected\r\n"; $headers .='Content-Type: text/plain; charset="koi8-r" \n\n'; if (@mail($to, $subject, $msg, $headers)){return true;} else { return false;}}Заранее спасибо.
-
можно опустить offset и передавать 2 параметра через запятую для limit Вот оба варианты сделают одно и тоже: LIMIT offset, rowsLIMIT rows OFFSET offsetПробовал именно так (limit offset, rows) и почему-то не работала функция, т.е. информация для вывода в принципе исчезала. Согласен, странно.
-
Проблему решил, исправил добавив в второй запрос строку вида "limit '.$coltov.' offset '.$limitstart". Спасибо.
-
Не совсем понятно что откуда. В частности комментарий 6-й строки: где должен быть этот запрос? Полностью переделывать код не хотелось бы, есть желание найти ошибку в своем коде, но сам уже не справляюсь. Или я совсем все не верно понял? P.S. Попробовал Ваш код заюзать, вышло... не очень хорошо) Спасибо.
-
Добрый день, уважаемые знатоки. Есть код функции вывода новостей, необходимо этот вывод сделать постранично. // выведем новости//$typ=0 кратко 1- полноfunction GetNews($typ=0){global $mysql;$tmpcont='';//////////////////////////////////////$coltov=15; //количество выводимых новостей на страницеecho ('coltov='.$coltov);if(isset($_GET['p'])){ $p=$_GET['p']; echo ('<br>'."isset: ".$p.'<br>');}else { $p=1; echo ('<br>'."nope: ".$p.'<br>');}$limitstart=($p-1)*$coltov;$query='select count(nw.nomer) as cn from neonnews as nw order by datas' ;$res = $mysql->sql_query($query) ;$list = $mysql->sql_fetchrow($res) ;$colvsego=$list['cn'];echo $colvsego;$det='<a href="?usrnews='.$coltov.'&cid=news&p=%s">%s</a>'; //ссылка на страницу$pages=ViewPage($colvsego,$det,$p,$coltov,5); //5 (default = 10) - количество одновременно выводимых страниц/////////////////////$query='select * from neonnews order by datas DESC';$res = $mysql->sql_query($query) ;if($coltov>0) { $tmpcont='fuck <div style="float:left; '._wdth.'">'.$pages.$listsortnw._templdetacs1; for($i=1; $i<=$coltov; $i++) { $listviv = $mysql->sql_fetchrow($res) ; if($typ) $tmpcont.= sprintf(_templnewsf,$listviv['datas'],$listviv['anons'],$listviv['news']); else $tmpcont.= sprintf(_templnews,$listviv['datas'],$listviv['anons'],$listviv['news']); } $tmpcont.='</div>'._templdetacs2; }$mysql->sql_freeresult($res);return $tmpcont;}Новости выводятся, номера страниц тоже (1, 2, 3, 4 и пр.), переход на них посредстом GET осуществляется (номер страницы отображается в адресной строке). Однако новости не меняются, т.е. на первой странице были новости, например, о новой породе собак 2014, на второй (третьей или любой другой), тоже новости о новой породе собак 2014, хотя должны быть о старой модели автомобиля 2013. Подозреваю, что дело в SQL-запросе. Вероятнее всего, не хватает "limit'.$limitstart.','.$coltov" в query, но как-то не выходит у меня лимитировать запрос (если лимитировать первый запрос, то не выводятся странички (1, 2, 3, 4 ...), если второй - не выводятся сами новости). Или, может, нужно сделать новый запрос к БД? Заранее благодарен и надеюсь на вашу помощь. P.S. Функция ViewPage формирует как раз эти 1, 2, 3, 4 странички, их количество, их внешний вид и т.п. P.S.S. В БД neonnews есть столбцы nomer (тот же id по сути), anons (короткая версия новости), datas (дата), news (полная версия новости). P.S.S.S. Всякие echo там для себя, для проверки.
-
Спасибо, справился с Вашей помощью, все работает... *запоздалый ответ* P.S. не знаю, как на этом форуме поблагодарить ("лайкнуть"), но все равно спасибо
- 10 replies
-
На данный момент обошелся инпутами: if ((isset($_GET['cid']))&(isset($_GET['id']))&(isset($_GET['pid']))) {$sortcid = $_GET['cid'];$sortid = $_GET['id'];$sortpid = $_GET['pid']; }if ((isset($_GET['p']))&(isset($_GET['srt']))) {$sortp = $_GET['p'];$sortsrt = $_GET['srt']; $sortp2 = "<input type='hidden' name='p' value=".$sortp.">"; //если $p (выбранная страница) существует, то добавить в селект $sortsrt2 = "<input type='hidden' name='srt' value=".$sortsrt.">"; //так же с $srt (выбранная сортировка), иначе не выводить } $listsort2="<form name='form' action='' method='get'><select id='usrstrcol' onchange='this.form.submit()' name='usrstrcol'><option value=''".$c0." disabled='disabled' style='display:none;' />25<option value='10'".$c10." />10<option value='25'".$c11." />25<option value='50'".$c12." />50<option value='100'".$c13." />100<input type='hidden' name='cid' value=".$sortcid."><input type='hidden' name='id' value=".$sortid."><input type='hidden' name='pid' value=".$sortpid.">".$sortp2." ".$sortsrt2."</select></form>"; Осталось разобраться с счетчиком количества страниц.
- 10 replies
-
Если я пользуюсь скрытыми инпутами, то все становится лучше, но лишь при определенных условиях, а точнее пока что это выглядит таким образом: $test=isset($_GET['cid']) ? $_GET['cid'] : ''; $test2=isset($_GET['pid']) ? $_GET['pid'] : ''; $test3=isset($_GET['id']) ? $_GET['id'] : ''; $test4=isset($_GET['p']) ? $_GET['p'] : ''; $test4=isset($_GET['srt']) ? $_GET['srt'] : '';$listsort2="<form name='form' action='' method='get'><select id='usrstrcol' onchange='this.form.submit()' name='usrstrcol'><option value=''".$c0." disabled='disabled' style='display:none;' />25<option value='10'".$c10." />10<option value='25'".$c11." />25<option value='50'".$c12." />50<option value='100'".$c13." />100<input type='hidden' name='cid' value='$test'><input type='hidden' name='id' value='$test3'><input type='hidden' name='pid' value='$test2'><input type='hidden' name='p' value='$test4'><input type='hidden' name='srt' value='$test5'></select></form>"; Однако, по умолчанию существуют только cid, id, pid, двух других переменных еще нет, и записывая в них пустоту, оно пытается перейти на страницу с этой пустотой в этих параметрах (http://localhost/?usrstrcol=10&cid=catac&id=27879&pid=27847&p=&srt= ), т.е. если убрать эти параметры из адресной строки, то всё хорошо (http://localhost/?usrstrcol=10&cid=catac&id=27879&pid=27847), пока не понял, как этого избежать. Также, при переходе на нужную страницу (с нужным количеством выведенного товара) не обрабатывается счетчик страниц (1 2 3 4 5 и т.д.), т.е. остается в исходном состоянии. И при переходе на другую страницу, например на вторую, выбранное количество выводимого товара сбрасывается на дефолтное. Вот думаю, как это исправить. К $_SERVER['QUERY_STRING'] строку 'index.php?'? добавить не могу, т.е. в этом случае оно отбрасывает по какой-то причине ['QUERY_STRING'] и переходит на http://localhost/?usrstrcol=10 без других параметров. Спасибо.
- 10 replies
-
Вот об атрибуте action и думал, но не знаю, как правильно реализовать. К примеру, $_SERVER['QUERY_STRING']; возвращает в адресную строку как раз http://localhost/cid=catac&id=27880&pid=27847?usrstrcol=50, но страницу отобразить не удается... ну и, если присмотреться, то в адресе пропадает знак вопроса после localhost/ . Возможно, использую не тот атрибут(индекс) $_SERVER, но другие вообще ничего похожего не выдавали. Очевидно, сервер не знает, как обрабатывать такую ссылку. А что Вы имели ввиду, говоря о вырезании usrstrcol?
- 10 replies
-
Перенёс и почти все нормально. Проблема теперь заключается в следующем: Есть код if(isset($_GET['usrstrcol'])) { $sortval = $_GET['usrstrcol']; switch($sortval) { case(10): $colstr='10'; $c10="selected='selected'"; break; case(25): $colstr='25'; $c11="selected='selected'"; break; case(50): $colstr='50'; $c12="selected='selected'"; break; case(100): $colstr='100'; $c13="selected='selected'"; break; }}else {$sortval = 25;$colstr = 25;$c0 = "selected='selected'"; }$listsort2="<form name='form' action='' method='get'><select id='usrstrcol' onchange='this.form.submit()' name='usrstrcol'><option value=''".$c0." disabled='disabled' style='display:none;' />25<option value='10'".$c10." />10<option value='25'".$c11." />25<option value='50'".$c12." />50<option value='100'".$c13." />100</select></form>"; , где $listsort2 затем выводится на странице с соответствующими шаблонами. Но при попытке выбрать какое-либо значение в комбо-боксе адрес страницы сбрасывается на дефолтный. Например, я нахожусь на странице http://localhost/?cid=catac&id=27880&pid=27847, где выбираю значение 50 и вместо того, чтобы оказаться на http://localhost/?cid=catac&id=27880&pid=27847?usrstrcol=50, происходит перенаправление на http://localhost/?usrstrcol=50. Как добавить корректный редирект, чтобы оставаться на той же странице, чтобы, собственно, видеть результат своего выбора? Заранее спасибо. P.S. переменная $colstr и выводит нужное количество товаров на странице.
- 10 replies
-
Да, спасибо большое, все работает + исправил немного код на следующее: <select id="usrstrcol" onchange="this.form.submit()" name='usrstrcol'> <option value="" <?php if (!isset($_GET['usrstrcol'])) : ?>selected="selected"<?php endif; ?> disabled="disabled" style="display:none;" />22 <option value="1" <?php if (isset($_GET['usrstrcol']) && $_GET['usrstrcol'] == 1) : ?>selected="selected"<?php endif; ?> />11 <option value="2" <?php if (isset($_GET['usrstrcol']) && $_GET['usrstrcol'] == 2) : ?>selected="selected"<?php endif; ?> />22 <option value="3" <?php if (isset($_GET['usrstrcol']) && $_GET['usrstrcol'] == 3) : ?>selected="selected"<?php endif; ?> />33 <option value="4" <?php if (isset($_GET['usrstrcol']) && $_GET['usrstrcol'] == 4) : ?>selected="selected"<?php endif; ?> />44 </select>Все замечательно, теперь надо впихнуть это на сайт
- 10 replies
-
Добрый день, прошу вашей помощи, знатоки. Необходимо передать value выбора в селекте в php переменную. И казалось бы всё хорошо, но при выборе значение в селекте, страница обновляется и в нём (селекте) остается значение по умолчанию, которое нельзя выбрать повторно соответственно. Значения не дефолтные передаются куда нужно. Что делаю не так? Спасибо. <html> <form name="form" action="" method="get"><select id="usrstrcol" onchange="this.form.submit()" name='usrstrcol'> <option value="" />Select combo <option value="1" />11 <option value="2" />22 <option value="3" />33</select></form></html><?phpif(isset($_GET['usrstrcol'])) { $res = $_GET['usrstrcol']; echo ('isset usrstrcol <br>'.$res);} ?>
- 10 replies