|Web Учебник | Самоучитель по HTML |Самоучитель по CSS | Самоучитель по PHP + MySql |Основы PhotoShop |Контакты. |

Кодирование и декодирование строковых переменных.

На предыдущих страницах мы рассматривали способы передачи данных из формы или просто по ссылке, в тех примерах мы передавали по одной цифре или одному слову в качестве значений переменных. За исключением того случая когда в мы передавали значение переменной с помощью тега textarea. При помощи данного тега можно передать как 1 слово или цифру, так и целый набор слов или любых других символов. Перед отправкой механизм HTML-формы кодирует все данные не зависимо сколько символов или пробелов содержит значение переменных, а у уже PHP-скрипт декодирует такие данные автоматически.

Кодирование и декодирование строковых переменных выполняется для того чтобы не было потери данных при передаче через ссылку или в базу данных. Например у нас есть переменная, которая состоит из символов содержащих между собой пробелы, нам нужно ее передать по ссылке, при этом у нас есть три варианта:
1)передать как есть:
<a href="index.php?stroka=данные с пробелом">link</a>
2)заменить пробелы символами плюс:
<a href="index.php?stroka=данные+с+пробелом">link</a>
3)обработать функцией urlencode :
$stroka="данные с пробелом";
$stroka = urlencode($stroka);
<a href="index.php?stroka=$stroka">link</a>

В первом случае данные передадутся не полностью, потому что любой пробел в url обозначает конец url, т.е. передастся только: index.php?stroka=данные , а остальное потеряется, т.е. первый способ абсолютно не правильный!!!
Второй способ правильный, но трудоемкий, потому что переменная может содержать не 2-3 слова разделенные пробелами, а десятки или сотни.
А вот третий способ как раз то что нам нужно, при его использовании данные не теряются и приходят в нужной кодировке. А уже в скрипте который получает такие данные нужно сначала раскодировать функцией
$stroka = urldecode ($_GET['stroka']);

Синтаксис функций urlencode и urldecode
функции urlencode и urldecode

 

                   Перейти к выбору следующей страницы
 

Добавить в закладки
Добиться абсолютной межбраузерности для механизма добавления в закладки не существует ни на каких языках!!! А для браузера "Chrome" не работают вообще ни какие механизмы!!!
Потому это лучше всего делать в ручную при помощи одновременого нажатия клавиш Ctrl и D , после чего нужно нажать готово(добавить). Такой "механизм работает всегда и везде!!!