![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Такая вот проблема, через форму получаю в скрипт обработчик - адрес сайта ($_POST), юзер может написать адрес сайта по разному, ну например:
http://www.test.com или https://www.test.com или www.test.com или просто test.com ну вообшем надо проверить что именно ввёл юзер и если адрес введён таким образом: test.com, то надо впереди подставить - http://www. чтобы получился полный адрес сайта - http://www.test.com! Как такое можно реализовать, может кто сталкивался!!! Желательно на примере Буду очень благодарен за любую помошь! |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Нашёл решение, может и не самое корректное, но до другого пока не додумался, может кто знает как правильнее и лучше сделать можно, то пожалуйста дайте хоть намёк, конечно же с небольшим примером.
Так решил задачу: $web_site - переменная хранит адрес полученный их формы
Может кому пригодится! |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Решение конечно не самое лучшее, вот если например юзер захочет мне послать ссылку на свой сайт уже сразу на страницу с контактной инфой (например www.test.ru/blcoks/contact.php), то всё равно попадаешь на индексную страницу а то есть на - http://www.test.ru
Подправте скрипт кто может, что бы было всё как надо, то есть в концовке ничего не обрезалось, а только в начале строки при отсутствие "http://www." подставлялось что нужно, ну например - http://www. или же только http:// если юзер уже ввёл www |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
А почему бы просто не проверить, являются ли первые 7 символов строкой "http://"?
Это сообщение отредактировал(а) Ипатьев - 22.2.2010, 02:00 |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Ипатьев
Ну тогда уж надо проверять первые 11 символов, юзер же может ввести адрес и без www. А какой функцией можно сделать проверку первых n символов??? А вообще вариант на мой взгляд не совсем лучший, допусти что юзер вводит адрес без всяких http://www., тогда по логике надо в начале просто подставить необходимый текст, в нашем случаии http://www., а что если юзер вместо этого внчале введёт какую-нибудь абракадабру например - kjhjjh.test.ru, скажем забыл переключить раскладку клавы, ну или спецом так сделал то тогда наша проверка обнаружит что вначале нету необходимых символов и просто спереди их подставит и мы в итоге получим адресс - http://www. kjhjjh.test.ru |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
substr
а что, если "юзер введет" вообще не существующий адрес сайта? каким образом можно по введенному "fake.org" получить необходимый "test.com"? |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
skyboy
нет я в смысле что если вместо http://www. будет введён kjhjjh. то тогда вся проверка была скажем так не еффективной, то есть юзер хотел ввести http://www.test.ru а ввёл по ошибке kjhjjh.test.ru, тогда проверка проверит строку и не обнаружит таким http://www. и просто спереди подставит Например мой вариант решения этой задачи справится с этим, и точно определит адресс, даже если было введено kjhjjh.test.ru получу в итоге http://www.test.ru Проблема ы моём решении заключается в том что, если вдруг юзер введёт адрес test.ru/contackts.php, скажем так чтобы я сразу мог посмотреть контактную инфу, то я в итого получу следующий адрес http://www.test.ru, то есть уже без ссылки на нужную страницу, а сразу на индексную Это сообщение отредактировал(а) TWoVKP - 22.2.2010, 09:46 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
а если сайт как раз на поддомене и находится? получить вместо "somtesite.ucoz.net" сайт платформы "ucoz.net" - это то, что и ожидается? о_0 т.е. maps.google.com и google.com - одно и то же? неожиданно. |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Решил проблему ещё проще, сначала проверяю полученный адрес до первой встречающейся точки в строке, будь то www. или http://www. или вообще будь там абракадабра и кладу результат в переменную, потом переменную проверяю совпадает ли она с www или http://www и если нет то просто подставляю в начало.
Вообшем вот пример:
Считаю что тема исчерпана!!! Добавлено @ 11:23 skyboy А как с этим примером??? Так покатит??? И рефссылка остаётся неизменной!!! Хотелось бы критику услышать на на этот способ решения! Это сообщение отредактировал(а) TWoVKP - 22.2.2010, 11:24 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
не понимаю, зачем насильно подставлять www
|
|||
|
||||
| IgorIV |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 7.9.2009 Репутация: нет Всего: 8 |
||||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Ипатьев
Да я могу коротко объяснить, вот например юзер послал мне письмо и ввёл мне свой адрес сайта через форму, письма я получаю пргогой The BAT, всем наверное известная, ну так вот если адрес сайта присылается как test.ru, без всяких www или http:// то прога выдаёт ошибку и даже браузер не стартует, а вот если пришло как http://www.test.ru то всё пучком, вот только и для этого я и старался. Не знаю на счёт других почтовых клиентов, но с The BAT v.4.1.11 такая вот история. Просто хотел чтобы уж если письмо приходило и я его открывал с этой прогой - то чтобы уж всё пучком работало! Вот в принципе и весь смысл! Добавлено через 2 минуты и 55 секунд IgorIV ХМ..., интересно, об этом и не подумал, придётся кое-что подправить Спасибо за подсказку |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
Вы очень невнимательны.
Прочтите мое сообщение, на которое вы потрудились ответить, еще раз. Подсказка: про http:// там ничего нет. там написано другое слово |
|||
|
||||
| TWoVKP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 29.4.2009 Репутация: нет Всего: 1 |
Ипатьев
Да внимательный я, заметил что речб ведётся о www а не о http:// ну просто как то хочется чтобы уже было всё в идеале! |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
Для того, чтобы сделать идеально, надо понимать, что такое идеал.
А если познания в предмете не очень велики, стремление к идеалу приведет к прямо противоположным результатам Что мы наглядно можем наблюдать в данном топике |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |