Добрый день.
Подскажите как можно определить стартовую страницу (index.html, index.php, ...) стороннего сайта. На пример входные данные http://yandex[dot]ru на выходе http://yandex.ru/index.html
Доброе всем утро.
Знатокам прошу поделить опытом в создании всплывающего меню. Но от обычных окон и методов отличие в том, что окно может отображаться даже при свернутом родительском окне браузера. В качестве примера можно привести веб версию почтового клиента outlook, то есть окно свернуто, но при поступлении почты из трея в нижнем правом углу возле часов выходит сообщение в виде поднимающегося окна ~400х200px с уведомлением. Как такое можно реализовать? (Добавление)
Решение найдено. Тема закрыта.
Ну это костыль, к тому же не красивый, хотя как вариант...
Так же вариант получать URL страницы и сравнивать его в условии, он тоже будет уникальный, но тоже не красивое решение
Добрый день.
Помогите пожалуйста с кодом получения имени html страницы (php скрипта) который вызвал метод onload и ему подобные методы.
То есть есть допустим 4 страницы к каждой из них подключен файл main.js, в этом файле есть функция onload (либо $(function(e)....), как в теле этой функции определить какая из этих 4х страниц его вызвала?
Добрый всем день.
Имеется проблема с отправкой почты с сервера smtp.timeweb.ru. Перебрал кучу скриптов найденных в Интернет. Все сваливаются с ошибкой на этом куске кода:
fputs($socket, "AUTH LOGIN\r\n");
if (!server_parse($socket, "334", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>';
fclose($socket);
return false;
}
Логин, пароль перепроверял, в почту с веб-клиента вхожу, с других почтовых серверов почта доставляется, переадресация так же работает.
Что не так делаю?
Весь скрипт вот:
<?php
$config['smtp_username'] = 'пользователь@домен.ru'; //Смените на имя своего почтового ящика.
$config['smtp_port'] = '25'; // Порт работы. Не меняйте, если не уверены.
$config['smtp_host'] = 'smtp.timeweb.ru'; //сервер для отправки почты(для наших клиентов менять не требуется)
$config['smtp_password'] = '12345678'; //Измените пароль
$config['smtp_debug'] = true; //Если Вы хотите видеть сообщения ошибок, укажите true вместо false
$config['smtp_charset'] = 'Windows-1251'; //кодировка сообщений. (или UTF-8, итд)
$config['smtp_from'] = 'Your Name'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"
if (!server_parse($socket, "220", __LINE__)) return false;
fputs($socket, "HELO " . $config['smtp_host'] . "\r\n");
if (!server_parse($socket, "250", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу отправить HELO!</p>';
fclose($socket);
return false;
}
fputs($socket, "AUTH LOGIN\r\n");
if (!server_parse($socket, "334", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>';
fclose($socket);
return false;
}
fputs($socket, base64_encode($config['smtp_username']) . "\r\n");
if (!server_parse($socket, "334", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
fclose($socket);
return false;
}
fputs($socket, base64_encode($config['smtp_password']) . "\r\n");
if (!server_parse($socket, "235", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
fclose($socket);
return false;
}
fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n");
if (!server_parse($socket, "250", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу отправить комманду MAIL FROM: </p>';
fclose($socket);
return false;
}
fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n");
if (!server_parse($socket, "250", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу отправить комманду RCPT TO: </p>';
fclose($socket);
return false;
}
fputs($socket, "DATA\r\n");
if (!server_parse($socket, "354", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не могу отправить комманду DATA</p>';
fclose($socket);
return false;
}
fputs($socket, $SEND."\r\n.\r\n");
if (!server_parse($socket, "250", __LINE__)) {
if ($config['smtp_debug']) echo '<p>Не смог отправить тело письма. Письмо не было отправленно!</p>';
fclose($socket);
return false;
}
fputs($socket, "QUIT\r\n");
fclose($socket);
return TRUE;
}
function server_parse($socket, $response, $line = __LINE__) {
global $config;
while (substr($server_response, 3, 1) != ' ') {
if (!($server_response = fgets($socket, 256))) {
if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
return false;
}
}
if (!(substr($server_response, 0, 3) == $response)) {
if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
return false;
}
return true;
}
Добрый день.
Столкнулся с такой проблемой. На странице имеется несколько элементов ввода которые не входят в размер экрана в результате отображается прокрутка, так же на этой странице есть блок с чекбоксами, у блока свойство overflow также auto. Все отображается корректно, но когда отмечаю чекбоксы которые в центре блока срабатывает автоматическая прокрутка сначала в блоке, а если выделяемый чекбокс в блоке последний, то срабатывает прокрутка самой страницы. То есть выделенный чекбокс фокусируется и я так понимаю выравнивается по верху родительского окна. Ни какого кода выполняющего подобные действия на странице не реализовано. Возможно это сделано в библиотеке jQuery по умолчанию. Вопрос: можно ли как-то контролировать такое поведение элементов формы, или вовсе отключить? Кстати, пробовал ставить как всем, так и отдельным элементам страницы overflow: hidden, при этом бегунок прокрутки исчезает, но сама прокрутка отрабатывает (Добавление)
Вопрос решен отключением /* position: absolute; */ у свойств чекбокса.
Всем кто задумался спасибо!
Sem2001, как сказал DeepVarvar можно рсазу подменять ссылку дял стилей, или как варинат - делать 1 общий класс на html отвечающий за цветовую и его сразу отдавать вместе с html с сервера, без участия JS.
в крайнем случае если нет контроля над сервером: общий класс вешать на html и в блоке скриптов в head менять этот класс
DeepVarvar пишет:
Во, советчики...
ТС -- подменяй стилевую ссылку в хедере страницы, а не классы у тысячи элементов.
Спасибо! Буду пробовать с подменой в head.
Думаю гугл подскажет как
Потому что скрипт ждет, пока страница загрузится полностью ($(document).ready), а потом уже меняет.
Если Вы хотите, что бы не было видно - при генерации страницы ставьте требуемый класс, не меняйте его js.
Дело в том, что смена схемы идет динамически в зависимости от выбора ее пользователем в настройках страницы. Думаю скрыть элементы а после замены класса отобразить на экране. Вот думаю есть ли другие варианты без изобретения костылей?
Добрый день.
Столкнулся со следующей проблемой.
Имеется страница с множеством элементов, у каждого элемента один и тот же класс со цветовыми настройками. По умолчанию элементы имеют синий или его оттенки цвет.
В обработчике $(document).ready идет смена стиля (замена класса) одного на другой (скажем зеленую схему). Все отлично работает, НО происходит быстрое мелькание синей схемы и ее замены на зеленую. То есть сперва отрисовывается схема по умолчанию, потом та на которую меняем. Вопрос можно заменить схему (один класс на другой) до его отрисовки?
Убрал везде.
Команда "print_r($_SESSION);" во втором файле выводит: Array ( )
А если из третьего во второй (где авторизация), то: Array ( [username] => ИМЯ. [organization] => ОРГАНИЗАЦИЯ) (Добавление)
еще интересный момент, если вначале сделать переход из файла 3 в файл 2 (работающий вариант), то потом при переходе из файла 1 в файл 2 (не работающий вариант) тоже работает и дает результат: Array ( [username] => Гость [organization] => Демо ) (Добавление)
Не знаю уже на что грешить. Все перепробовал, истина где-то на поверхности...
Значения в переменные сессии заносятся в обоих случаях одиково $_SESSION['username']="Гость", переход на эти страницы так же одинаковый location.href = "2 файл". Единственное отличие работающего кода, от не работающего это в одном случае идет проверка введенных данных пользователем, а в не рабочем эти данные уже жестко прописаны в скрипте. (Добавление)
вот функция перехода к файлу №2
function StartTest(obj)
{
num = obj.getAttribute('data-testid');
if (obj.getAttribute('data-demo')!=='true')
{
//ЗДЕСЬ ПРОВЕРКА ВВЕДЕННЫХ ДАННЫХ С ДАННЫМИ В БАЗЕ
$.ajax({
type: 'POST',
url: 'command.php',
data: {
'command': 'starttest',
'testid': num
},
success: function(data) {
var test_id = sessionStorage.getItem('test_id');
if ( (test_id == null) || (test_id != num) )
sessionStorage.removeItem('remaining');
sessionStorage.setItem('restart', 1);
location.href = 'test.php?id=' + num+'&h='+data+'&public='+obj.getAttribute('data-public'); 1ый вариант перехода к файлу2
}
});
}
else
{
//ЗДЕСЬ НЕТ ПРОВЕРКИ А ДАННЫЕ ЖЕСТКО ПРОПИСАНЫ
sessionStorage.removeItem('remaining');
sessionStorage.setItem('restart', 1);
location.href = 'test.php?id=' + num+'&demo='+obj.getAttribute('data-demo'); 2ый вариант перехода к файлу2
}
}
в файле command.php нет никаких манипуляций с сессией, только сверяет данные
Во втором файле измените if(session_id() == '') session_start(); на session_start();
Убрал. Тоже самое.
Должен ли создаваться файл со вторым session_id? Как вообще возможно создать второй session_id не закрывая первый, и если я правильно понимаю при закрытии сессии файл должен удалиться. Получается что сайт работает с двумя сессиями?
Почему вы сессию стартуете, только если SID'а пустой?
Пробовал без if(session_id() == ''), результат тот же.
Что самое интересное есть 3й файл с аналогичным кодом, но с проверкой введенных данных и в случае совпадения присваивания значения тем же самым переменным значения и переход опять же на файл 2. и он работает!
пример 3го файла
Добрый день. Подскажите что не так.
Переменные в одном случае видны из разных скриптов, в другом нет.
вот вырезка
1. файл
<?php
if(session_id() == '') session_start();
в итоге
Notice: Undefined index: username in ..../test.php on line 13
Notice: Undefined index: organization in ..../test.php on line 14
Смотрел папку куда сохраняется сессии (установил свой путь в обеих файлах), почему-то создаются 2! файла с ID сессией, в обоих есть переменные username и organization. Почему создается второй файл не понятно, или так должно быть? (Добавление)
Если что, то в файле functions.php не происходит уничтожения сессии, только набор функций.
Дело в том, что перенос автоматический в зависимости от ширины блока. Если делать списком записи которых так же не будут влазить в размеры блока то тоже перенесутся, ну или не влезут в экран.