Jump to content

malltaf

Newbie
  • Posts

    13
  • Joined

  • Last visited

malltaf's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Увы, нельзя. Вернее можно, но смысла нет. Пробовал делать $headers вообще пустым, пробовал оставлять только "$headers = 'From: Birthday Reminder <birthday@example.com>' . "\r\n";". Пробовал и вариант, предложенный Вами. Т.е. независимо от структуры заголовка это всё происходит. P.S. Пробовал, соответственно, также убрать convert_cyr_string...
  2. Доброго всем дня. Есть 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;}}Заранее спасибо.
  3. можно опустить offset и передавать 2 параметра через запятую для limit Вот оба варианты сделают одно и тоже: LIMIT offset, rowsLIMIT rows OFFSET offsetПробовал именно так (limit offset, rows) и почему-то не работала функция, т.е. информация для вывода в принципе исчезала. Согласен, странно.
  4. Проблему решил, исправил добавив в второй запрос строку вида "limit '.$coltov.' offset '.$limitstart". Спасибо.
  5. Не совсем понятно что откуда. В частности комментарий 6-й строки: где должен быть этот запрос? Полностью переделывать код не хотелось бы, есть желание найти ошибку в своем коде, но сам уже не справляюсь. Или я совсем все не верно понял? P.S. Попробовал Ваш код заюзать, вышло... не очень хорошо) Спасибо.
  6. Добрый день, уважаемые знатоки. Есть код функции вывода новостей, необходимо этот вывод сделать постранично. // выведем новости//$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 там для себя, для проверки.
  7. Спасибо, справился с Вашей помощью, все работает... *запоздалый ответ* P.S. не знаю, как на этом форуме поблагодарить ("лайкнуть"), но все равно спасибо
  8. На данный момент обошелся инпутами: 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>"; Осталось разобраться с счетчиком количества страниц.
  9. Если я пользуюсь скрытыми инпутами, то все становится лучше, но лишь при определенных условиях, а точнее пока что это выглядит таким образом: $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. Вот об атрибуте action и думал, но не знаю, как правильно реализовать. К примеру, $_SERVER['QUERY_STRING']; возвращает в адресную строку как раз http://localhost/cid=catac&id=27880&pid=27847?usrstrcol=50, но страницу отобразить не удается... ну и, если присмотреться, то в адресе пропадает знак вопроса после localhost/ . Возможно, использую не тот атрибут(индекс) $_SERVER, но другие вообще ничего похожего не выдавали. Очевидно, сервер не знает, как обрабатывать такую ссылку. А что Вы имели ввиду, говоря о вырезании usrstrcol?
  11. Перенёс и почти все нормально. Проблема теперь заключается в следующем: Есть код 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 и выводит нужное количество товаров на странице.
  12. Да, спасибо большое, все работает + исправил немного код на следующее: <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>Все замечательно, теперь надо впихнуть это на сайт
  13. Добрый день, прошу вашей помощи, знатоки. Необходимо передать 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);} ?>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy