Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2016, 14:27   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье strip tags ругается на строку

Подскажите, пожалуйста, почему strip_tags ругается вот на такую ссылку?:
Формирования ссылки:
PHP код:
<?php
  $result 
mysql_query("SELECT * FROM clothing_size",$link);
  if (
mysql_num_rows($result) > 0)
    {
        
$row mysql_fetch_array($result);
        do
          {
          echo 
'
          <li><input type="checkbox" name="size[]" value="'
.$row["id"].'" id="checksize'.$row["id"].'" /><label for="checksize'.$row["id"].'">'.$row["size"].'</label> </li>
          
          '
;      
          }while(
$row mysql_fetch_array($result));
    };
 
 
?>
В адресной строке вот так выводится:
_https://localhost/shop/search_filtr.php?start_price=0&end_ price=5000&size%5B%5D=7&button=+

Хотя, должно вот так выводиться: _https://localhost/shop/search_filtr.php?start_price=0&end_ price=5000&size=7&button=+

Пишет вот такую ошибку:
Warning: strip_tags() expects parameter 1 to be string, array given in C:\Programming\xampp\htdocs\shop\fu nctions\functions.php on line 5

functions.php:
PHP код:
<?php
 
function clear_string($cl_str)
  {
    
$cl_str strip_tags($cl_str);
    
$cl_str mysql_real_escape_string($cl_str);
    
$cl_str trim($cl_str);  
    
    return 
$cl_str;
     
  }
 
?>
Женя32 вне форума Ответить с цитированием
Старый 08.11.2016, 14:37   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так всё же написано в сообщении.

Цитата:
Warning: strip_tags() expects parameter 1 to be string, array given in C:\Programming\xampp\htdocs\shop\fu nctions\functions.php on line 5
strip_tags ожидает в качестве параметра строку, но на вход приходит массив.
т.е. $cl_str - это массив.

я не увидел, где у Вас вызов clear_string,
но там, где Вы вызываете эту функцию, Вы в неё передаёте массив.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.11.2016, 15:01   #3
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так всё же написано в сообщении.


strip_tags ожидает в качестве параметра строку, но на вход приходит массив.
т.е. $cl_str - это массив.

я не увидел, где у Вас вызов clear_string,
но там, где Вы вызываете эту функцию, Вы в неё передаёте массив.
Все, спасибо, с массивом ясно....
Но, почему в строку передается size вот так:
&size%5B%5D=1&
а не так: &size=1& ?
Женя32 вне форума Ответить с цитированием
Старый 08.11.2016, 15:11   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Но, почему в строку передается size вот так:
Потому что вы так написали:
Цитата:
<li><input type="checkbox" name="size[]" value="
p51x вне форума Ответить с цитированием
Старый 08.11.2016, 15:15   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
size%5B%5D=1&
ну, это означает size[]=1& (символ [ - это код %5B, ]-это код %5D
а почему у Вас size с квадратными скобками (т.е. массив) я не знаю...

упс. опоздал.

p51x уже объяснил!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.11.2016, 15:15   #6
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Подмигивание

Цитата:
Сообщение от p51x Посмотреть сообщение
Потому что вы так написали:
А как нужно писать?
Женя32 вне форума Ответить с цитированием
Старый 08.11.2016, 15:25   #7
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Подмигивание

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, это означает size[]=1& (символ [ - это код %5B, ]-это код %5D
а почему у Вас size с квадратными скобками (т.е. массив) я не знаю...

упс. опоздал.

p51x уже объяснил!
Как на видео показано, так я и делаю(с 10-й минуты):
https://www.youtube.com/watch?v=CUOr...3kR3bRdQh6rY04
Женя32 вне форума Ответить с цитированием
Старый 08.11.2016, 18:56   #8
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Такое можно делать, почему нет !

PHP код:
<?php  

if( isset($_POST['send_data'])){

    echo(
'$_POST["_array_"][0] : ['.$_POST['_array_'][0].']<br>'); // [data_0]
    
echo('$_POST["_array_"][1] : ['.$_POST['_array_'][1].']<br>'); // [data_1]
    
echo('$_POST["_array_"][2] : ['.$_POST['_array_'][2].']<br>'); // [data_2]
    
echo('$_POST["_array_"][3] : ['.$_POST['_array_'][3].']<br>'); // [data_3]

    
echo('<hr>');

}

?>
Код:

<form accept="" method="post">

    <span>$_POST["_array_"][0]:</span>
    <input type='checkbox' name='_array_[]' value='data_0' /><br/>
    
    <span>$_POST["_array_"][1]:</span>
    <input type='checkbox' name='_array_[]' value='data_1' /><br/>
    
    <span>$_POST["_array_"][2]:</span>
    <input type='checkbox' name='_array_[]' value='data_2' /><br/>

    <span>$_POST["_array_"][3]:</span>
    <input type='checkbox' name='_array_[]' value='data_3' /><br/>

    <br/>
    <input type="submit" name="send_data" value="Send"></input>

</form>
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] IDE ругается на строку с вызовом функции вычисления тангенса Maray Помощь студентам 4 23.01.2016 16:48
Ругается Oduvanchi C# (си шарп) 3 09.05.2014 03:13
JS ругается на события Ale}{ander JavaScript, Ajax 10 16.04.2014 09:13
Ругается на $this CeHTuJI PHP 7 15.10.2013 18:42
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27