регулярки и нетолько)

scooterok

Новичок
Приветствую гуру!
Подскажите в preg_match чем можно разрешить специфические буквы, например такие как с точками сверху и им подобные?
Не перечислять же их все)

И второй вопрос, почему хедер не очищает пост, даже если указать в конце ?get=ok
С чем это может быть связано? Метатег рефреш аналогично.
Склоняюсь к кешу, но может пост запросы нужно насильно очищать? пых пых пых 5.3
Пробовал и ансет и присваивал пустой аррей - всё без толку.

Там банальная форма на сайте, который делал другой разработчик, но забыл установить проверки)
...и пропал
Клиент просит помочь, программированием давно не занимался, это скорее как хобби, либо что-то для себя, а тут вызвался помочь...
Решил вопрос, чтоб не копаться в коде перехватом пост запрсов и редиректом с алертом об ошибке.
Ну и соответственно exit; чтоб код дальше не выполнялся.
Но вот оставшийся пост напрягает, не люблю халявы, да и самому интересно почему он после редиректа на себя же остается в памяти браузера. Нажимая F5 предлагает повторно отправить запрос...

Буду рад любым советам по делу.
 

WMix

герр M:)ller
Партнер клуба
в preg_match чем можно разрешить специфические буквы, например такие как с точками сверху и им подобные?
что имеется в виду под словом "разрешить"
https://regex101.com/r/Wa5U0t/1

почему хедер не очищает пост, даже если указать в конце ?get=ok
С чем это может быть связано? Метатег рефреш аналогично.
Склоняюсь к кешу, но может пост запросы нужно насильно очищать? пых пых пых 5.3
Пробовал и ансет и присваивал пустой аррей - всё без толку.
это такой львивский диалект? я вообще ничего не понял.
 

WMix

герр M:)ller
Партнер клуба
я так понимаю пост = $_POST он появляется при HTTP-POST запросе
meta http-equiv="Refresh" это html-тэг <meta http-equiv="refresh" content="5; URL=https://google.com">
который перенаправляет на ресурс
я не могу связать это вместе. одно это client другое server.
 

scooterok

Новичок
я же писал функция header() ведет себя почему-то также.
Перенаправляет после пост запроса, но при нажатии F5 появляется окно мол отправить повторно, т.е. $_POST по какой-то причине не очищается.
Пробовал и unset($_POST) и $_POST = array(); - безтолку.

Теперь появилась другая проблема(
Как я и писал выше сайт разрабатывал другой человек, меня попросили исправить ошибки, а именно остановить спам который шел с формы.
Тот горе программист им не поставил проверок на стороне сервера, только через яваскрипт, соответственно и спамили.
Решил вопрос путем перехвата пост запроса, проверки и продолжением или остановкой сценария.
Ваш совет помог с \w но теперь выясняется, что письма приходят до специфической буквы, в данном случае отправитель Simon Fröter, а в письме начало Simon Fr и конец письма(
Чтоб не копаться в сотни тысячах файла в поиске и/или анализа кода mail() функции приходит на ум всё таки эти спецбуквы как-то кодировать, чтоб письмо доходило полностью.
Я когда делал перехват и проверку пост запросов еще создал возможность записи логов информации в файл, которые отправляются формой.
Там всё в порядке Simon Fröter и все остальные данные который вводил посетитель на сайте.
Но по факту приходит письмо до спецбуквы и на этом заканчивается...

Тут уже не так важен вопрос про очистку пост запроса после отправки как вылечить проблему с спецбуквами, может кодировать в base64?
Но не придет ли письмо в таком же виде, в закодированном? :)

Почтовики вроде распознают base64...

Помогите советом пожалуйста, итак делаю это бесплатно, а тут еще вылазят недоработки прошлого программиста...
Делаю для очень хорошего знакомого. Хотелось бы ему помочь в данном вопросе.
 

scooterok

Новичок
Реализован сайт на AVE.cms может кто подскажет где сама функция mail() в ней реализована, там уже будет легче наверное.
Правда не факт, что прошлый админ вносил какие-то изменения, ну не верю, что цмс не имеет проверок на стороне сервера...
 

WMix

герр M:)ller
Партнер клуба
я же писал функция header() ведет себя почему-то также.
Перенаправляет после пост запроса, но при нажатии F5 появляется окно мол отправить повторно, т.е. $_POST по какой-то причине не очищается.
Пробовал и unset($_POST) и $_POST = array(); - безтолку.
начни с самого начала пожалуй
http://phpfaq.ru/debug

меня попросили исправить ошибки
программированием давно не занимался, это скорее как хобби
а лучше откажись
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@WMix, там спецбуквы, горе программисты... и полное отсутствие юникода кмк.

@scooterok, потрудись, пожалуйста, посмотреть что такое ö - умлаут, и почему его нет в твой стандартной кодировке.
 

scooterok

Новичок
Еще раз...

1. Сайт разрабатывал не я.
2. Тот кто разрабатывал потерялся.
3. Я вызвался бесплатно помочь.
4. Проверки сделал, как и обещал, но возникла проблема с буквами такого вида только при получении письма, в созданный мной лог файл буква в данном кодировке вписывается корректно!

Есть решение другое, сделать свою отправку сообщений, и заканчивать сценарий через exit;
Чтоб пост не доходил до старой версии, и не заниматься изучением и поиском функции mail() и её отношения именно к этой форме запроса, с которой проблема.

С кодировкой проблем нет, проблема есть с кодировкой при получении письма, возможно перед функцией mail() стоит какой-то фильтр, или указано отправлять письма в windows-1251 кодировке.

Проще свою написать отправку писем, чем заниматься поиском...

В любом случае спасибо за помощь, я так понял, что-то подсказать по данной проблеме сложно.
 
Сверху