Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853

Возвращается пустой POST если русская строка

26.02.2015, 18:42. Показов 1435. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если в пост передавать русские символы то возращается string(0) - пустая строка, если латинские то всё норм. Как победить это?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2015, 18:42
Ответы с готовыми решениями:

PHP и русская строка
В общем проблема такая - считываю из базы массив с брендами и сравниваю его в цикле со строкой из csv файла. Это вкратце. На локальном...

unset если POST пустой - как написать условие
Получаем значения из формы и заносим в переменные $datep = trim($_POST); //получаем класс авто $carclass = "Class:...

Пустой POST
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"...

7
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
26.02.2015, 19:10
Цитата Сообщение от da1z Посмотреть сообщение
Если в пост передавать русские символы то возращается string(0) - пустая строка, если латинские то всё норм. Как победить это?
Предъявите форму и ее обработчик.
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
26.02.2015, 19:15  [ТС]
там очень много кода, но если вырезать всё ненужно то
PHP
1
2
3
4
5
<form action='' method=post name=registr>
...
        <input type=submit class=input value='Зарегестрироваться' name=reg>
...
    </form>";
обработка
PHP
1
2
3
4
    if(@$_POST['reg'])
    {
....
}
если поменять Зарегестрироваться, на чтонибудь латинское то прокатывает, если кирилицца то if не проходит
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
26.02.2015, 19:22
Да все "проходит":
PHP/HTML
1
2
3
4
5
6
<form method='post' name='registr'>
    <input type='submit' class='input' value='Зарегистрироваться' name='reg'>
</form>
<?php
if ($_POST['reg'])
    echo "true";
результат после отправки формы:
Code
1
true
0
26.02.2015, 19:24

Не по теме:

Цитата Сообщение от da1z Посмотреть сообщение
@$_POST['reg']
собаку уберите и забудьте о ее существовании. если конечно хотите успешно развиваться и перейти со временем на семерку

0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
26.02.2015, 19:25  [ТС]
да я понимаю)) просто у меня именно на моей машине не передаётся, хотя на другой всё ок, например у вас. я так думаю гдето трабла с настройками сервера или ещё чего. есть идеи где собака зарыта?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
26.02.2015, 19:33
Цитата Сообщение от da1z Посмотреть сообщение
да я понимаю)) просто у меня именно на моей машине не передаётся, хотя на другой всё ок, например у вас. я так думаю гдето трабла с настройками сервера или ещё чего. есть идеи где собака зарыта?
Не понял. Возьмите тот сервер который, по Вашему, неверно настроен. Создайте на нем файл со следующим содержанием (НИЧЕГО КРОМЕ ЭТОГО):
PHP/HTML
1
2
3
4
5
6
7
8
<form method='post'>
    <input type='submit' value='Зарегистрироваться' name='reg'>
</form>
<?php
if (isset($_POST['reg']))
    echo "true";
else
    echo "false";
Выполните этот скрипт, отправьте форму и скажите результат. Никаких зарытых собак там нет и быть не может.
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
27.02.2015, 12:36  [ТС]
я нашёл где ошибка. вообщем если у меня добавлена строчка
PHP
1
include('inc/db_connect.php');
то всё происходит как я говарил
содержимоей файла
db_connect
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
 
$img_server="НОУНЕЙМ";
$now = time();
 
 
$link=mysql_pconnect("****","***","***");
mysql_select_db("a132516_lifw",$link) or die ("Работа игры временно приостановлена.");
mysql_query("SET CHARSET cp1251");
mysql_query("SET NAMES cp1251");
mysql_query("set character_set_client='cp1251'");
mysql_query("set character_set_results='cp1251'");
mysql_query("set collation_connection='cp1251_general_ci'"); 
date_default_timezone_set('Europe/Minsk');
error_reporting(0);
 
$uri=GetEnv("REQUEST_URI");
$uri=explode("ins",$uri);
##################### Класс борьбы с SQL атаками ################
include_once("sql.php");
 
$stop_injection = new InitVars();
$stop_injection->checkVars();
##################### Класс борьбы с SQL атаками ################
 
require_once('class.inputfilter.php');
 
 
$if = new InputFilter();
 
//xss фильтрация
 
$_POST = $if->process($_POST);
$_GET = $if->process($_GET);
$_ENV = $if->process($_ENV);
$_REQUEST = $if->process($_REQUEST);
$_SESSION = $if->process($_SESSION);
 
//sql иньекция
$_POST = $if->safeSQL($_POST, $link);
$_GET = $if->safeSQL($_GET, $link);
$_ENV = $if->safeSQL($_ENV, $link);
$_REQUEST = $if->safeSQL($_REQUEST, $link);
$_SESSION = $if->safeSQL($_SESSION, $link);
?>
Добавлено через 10 минут
код формы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<? 
error_reporting(-1);
include('inc/db_connect.php');
?>
<form action='' method=post name=registr>
    <input type='submit' value='Зарегистрироваться' name='reg'>
</form>
<?
var_dump($_POST['reg']); 
if ($_POST['reg'])
    echo "true";
else
    echo "false"; ?>
и сама страница с формой на сервере где не пашет доступна тут: http://lifw.mcdir(ТОЧКА)ru/test.php

Добавлено через 1 час 9 минут
Нашёл конкретно где ломается:
после вызова вот этой функции
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Метод проверяет $_GET и $_POST переменные на наличие опасных данных и SQL инъекций
function checkVars() {
        //Проверка опасных данных.
        foreach($_GET as $_ind => $_val) {
                        $_GET[$_ind] = htmlspecialchars(stripslashes($_val));
 
                        $exp = explode(" ",$_GET[$_ind]);
                        foreach($exp as $ind => $val) {
                                if(in_array($val,$this->deny_words)) $this->antihack("Доступ закрыт");
                        }
        }
 
        foreach($_POST as $_ind => $_val) {
                        $_POST[$_ind] = htmlspecialchars(stripslashes($_val));
 
                        $exp = explode(" ",$_POST[$_ind]);
                        foreach($exp as $ind => $val) {
                                if(in_array($val,$this->deny_words)) $this->antihack("Доступ закрыт");
                        }
        }
 
}
Добавлено через 15 минут
исправил. если кому интересно, то наверно н аразных серверах использовалась разная кодирвока по умолчанию и htmlspecialchars возвращал пустую строку если кирилцца. указал кодировки явно и всё заработало
PHP
1
htmlspecialchars(stripslashes($_val),ENT_COMPAT | ENT_HTML401,'cp1251');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.02.2015, 12:36
Помогаю со студенческими работами здесь

Пустой POST запрос
Прошу помощи у высших умов) Есть такой скрипт, который принимает POST запрос и отсылает сообщение на почту yandex. &lt;?php ...

Пустой POST-запрос
Всем доброго времени суток! Пытаюсь прикрутить мерчант к своему сайту. Все просто. Отправляется форма - пользователь платит - данные...

Если возвращается переменная ссылочного типа, то возвращается объект или просто ссылка
Почему-то авторы всегда акцентируют внимание на передачу параметров в функцию, а на возврат не очень: using System; using...

Если строка является допустимым именем файла, то создать пустой файл с этим именем
Помогите решить Дана строка S. Если S является допустимым именем файла, то создать пустой файл с этим именем и вывести TRUE. Если файл...

Synapse, не возвращается location при post-запросе на https
Делаю пост запрос с synapce на https сайта результат такой: HTTP/1.1 200 OK Date: Wed, 10 Sep 2014 17:30:00 GMT Server: Apache ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru