Написание скриптов что это

Написание скриптов что это

Здравствуйте! В этой статье мы расскажем про способы составления скрипта продаж.

Сегодня вы узнаете:

  • Зачем нужен скрипт продаж;
  • Как составить скрипт продаж;
  • Как выглядит готовый сценарий.

Содержание

Как правильно составить скрипт продаж

Телемаркетинг изо дня в день набирает большую популярность. Привлечение потребителей с помощью телефонных разговоров не требует больших затрат от компании и специфических знаний от сотрудников.

Как правило, телефонные продажи осуществляются при помощи специальных сценариев – скриптов продаж по телефону. Менеджеру в этом случае остается только заучить направляющие диалог фразы.

Таким образом практически вся ответственность за эффективность продаж ложится на скрипт. Кроме того, шпаргалками активно пользуются и менеджеры, работающие в личных продажах. И в телефонных и в личных продажах сценарий исключает человеческий фактор, что само по себе хорошо, но создает проблему создания хорошего скрипта.

Для начала разберемся, как должен выглядеть «хороший скрипт продаж»:

  1. Он должен отражать специфику деятельности вашего бизнеса. Сценарий должен быть написан с учетом характеристик целевой аудитории вашей компании. Лучше всего составить несколько скриптов для каждого сегмента отдельно, ведь именно от клиента будет зависеть пойдет все по сценарию или нет.
  2. Шпаргалка должна содержать несколько вариантов развития событий. Например, собеседник может согласиться или отказаться от вашего предложения. Оба исхода должны найти решение в скрипте.
  3. Скрипт не должен регламентировать весь диалог, менеджер должен иметь возможность персонализировать общение с потенциальным потребителем.

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

Виды скриптов

Существует достаточно большое количество классификаций скриптов, но мы разберем ту, которая представляет практическую ценность для его написания.

Будем различать скрипты:

  • Для розничных магазинов. Как правило, для продаж физических товаров в розницу достаточно всего одного скрипта, но он будет достаточно объемным: вам надо расписать все возможные варианты поведения потребителя. Проследите за тем, чтобы менеджер выучил шпаргалку, так как подглядывать у него не получится. Целью скрипта для розничных магазинов является продажа, причем здесь и сейчас.
  • Для сферы услуг и телефонных продаж. Этот скрипт предназначен для всех тех сфер бизнеса, где первая связь с клиентом происходит при телефонном разговоре. Например, в парикмахерскую необходимо сначала записаться. Это могут быть как водящие, так и исходящие звонки (сценарии будут отличаться только началом). Цель такого скрипта – привести клиента в компанию. Такие шпаргалки необходимо писать для каждого сегмента отдельно. Они не должны быть длинными, телефонный разговор не должен занимать более 3-х минут.

Структура скрипта продаж

Любой сценарий состоит из пяти основных информативных блоков. Это скелет нашего скрипта, на него будут ложиться направляющие фразы.

  1. Приветствие. Вне зависимости от того, лично вы разговариваете с клиентом или по телефону, вы должны поздороваться. Кроме того, не забудьте представиться и узнать имя клиента. Это расположит его к дальнейшей беседе. Пример: “Здравствуйте! Меня зовут “имя”, как я могу к вам обращаться?”.
  2. Определение потребностей. Здесь менеджер должен более глубоко изучить потребности и проблемы клиента. При этом продавец уже должен иметь представление о том, что нужно потенциальному покупателю. Вопросы для уточнения могут быть следующими: «Вы подбираете костюм для работы или торжественной встречи?», «Какого оттенка вы хотели бы рубашку?».
  3. Презентация товара. На данном этапе менеджеру предстоит рассказать о продукте. При этом в презентации следует учитывать потребности клиента, которые мы определили на предыдущем этапе. Это значит, что в скрипте должно быть прописано несколько вариантов презентации товара (для каждой потребности, которую он может удовлетворить). Например, кто-то покупает занавески как дополнение к дизайну интерьера, а кому-то необходимо просто оградить себя от солнечных лучей по утрам. Презентации одного и того же товара в первом и во втором случае будут разными. Скрипт для личных продаж должен предусматривать возможные вопросы собеседника во время презентации. Например, менеджер описывает брюки: “Это легкие льняные брюки для жаркой летней погоды…”, клиент тут же задает вопрос: “Они сильно мнутся при носке?”. Менеджер должен быть готов прервать свою речь и ответить на вопросы о продукте. При этом скрипт должен содержать варианты вопросов и ответы на них.
  4. Ответ на возражения. Возникновение вопросов и возражений у клиента – признак того, что он заинтересовался вашим предложением. При личных продажах этап ответов на возражения начинается еще во время презентации товара. Это наиболее объемная часть скрипта. Она должна содержать все возможные вопросы клиента и ответы на них.
  5. Заключение сделки.

Пошаговая инструкция по составлению скрипта

Шаг 1. Сбор и анализ информации для составления скрипта.

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

  • Определить цель разговора с клиентом. Это может быть продажа товара, получение контактных данных, приглашение на встречу;
  • Составить портрет потребителя. Скорее всего, вы выделяли сегменты внутри вашей целевой аудитории. Теперь опишите каждый сегмент: выделите потребности, интересы, проблемы, определите средний доход, социальный статус, семейное положение. Вы должны вынести всю ту информацию, которая так или иначе влияет на покупательское поведение сегмента. В дальнейшем именно на этой информации будет строиться вариативность нашего скрипта.
  • Изучите приемы конкурентов. Можно прийти к конкурентам в качестве покупателя и посмотреть, как они продают. Запишите процесс на диктофон. В дальнейшем это вам позволит не допустить ошибок ваших соперников и воспользоваться успешными приемами.
  • Заставьте менеджера изучить продукт, который он будет продавать. Помните, что скрипт дает лишь направление диалогу.
  • Определитесь с гибкостью сценария. В том случае, если цель диалога – продать один конкретный продукт, то скрипт не будет отличаться гибкостью. В остальных случаях, сценарий будет представлять собой “рыбу”, которая не позволит менеджеру забыть сказать о наиболее важных моментах.

Шаг 2. Составление скрипта.

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

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

Сами продавцы тоже могут составить скрипт для себя. Но этот вариант подходит только для телефонных продаж. Для этого создайте электронную таблицу в любой удобной для вас программе.

Таблица должна содержать следующие столбцы:

  • Порядковый номер;
  • Номер телефона клиента;
  • Потребности/интересующие группы товаров;
  • Предыдущие покупки;
  • Информация о клиенте: имя, фамилия, дополнительные контактные данные;
  • Возражения и вопросы;
  • Соответствующие варианты ответов на вопросы и возражения;
  • Соответствующий ответ клиента;
  • Итог предыдущего контакта.
Читайте также:  Как перевести pdf в excel для редактирования

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

Кстати, какой должна быть длина скрипта? Запомните, что средняя продолжительность разговора продавца и покупателя при личных продажах составляет в среднем 5-8 минут, что соответствует 1 печатной странице реплик менеджера (12 шрифт). Холодные продажи по телефону длятся не более 3-х минут, но в этом случае инициатива будет полностью у менеджера, реплики которого должны занимать не более ½ страницы. А вот теплые продажи по телефону подразумевают инициативность покупателя, поэтому объем выступления менеджера поместится на 1/3 части страницы.

Шаг 3. Оптимизация скрипта продаж.

После того как вы написали сценарий, его нужно протестировать. Совершите несколько десятков звонков, найдите пробелы и ошибки в вашем скрипте.

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

Обратите внимание не те фразы, которые несколько раз приводили к срыву переговоров. Их необходимо исключить из скрипта.

Поправки в скрипт могут вноситься на всем протяжении его использования, но основная часть правок приходится на первые 2 месяца эксплуатации. Обязательно обсуждайте с вашими менеджерами проблемы, возникшие во время разговора с клиентом. Это позволит вам оптимизировать сценарий.

Инструменты для создания скриптов

Как уже говорилось раньше, можно создавать скрипты продаж в приложениях, позволяющих создавать таблицы. Например, Excel. Но в том случае, если ваш скрипт достаточно объемный (как правило, это скрипты для личных продаж), табличный метод вам не подойдет.

Мы хотели бы предложить вам более удобную программу, которая создана специально для составления скриптов. Называется она HyperScript.

  • Позволяет создать объемный скрипт, при этом все варианты развития событий будут перед глазами менеджера;
  • Позволяет вносить коррективы в режиме реального времени;
  • В том случае, если вы сами внесли поправку в скрипт, об этом будут проинформированы все ваши менеджеры. Скрипт автоматически изменится на обновленный в их гаджетах;
  • Позволяет работать поэтапно. Менеджеру необходимо лишь вносить в специальное поле ответы/возражения/замечания клиента и программа сама будет выдавать ответы для менеджера (если они, конечно, внесены в скрипт);
  • Позволяет отслеживать конверсию в режиме реального времени. Вы будете видеть все удачные и неудачные переговоры ваших менеджеров;
  • Позволяет выявить, на каком именно этапе происходит срыв большинства переговоров.

Пример скрипта

Напоследок приведем шаблон скрипта. Вы можете использовать эти фразы в своем сценарии.

Этап

Фразы

Добрый день! Меня зовут “А”, я представитель компании “Б”. Как я могу к вам обращаться?

Здравствуйте! Я “А”, ваш личный менеджер из компании “Б”. “Имя клиента”, верно?

Здравствуйте! У нас новое поступление “товар, который интересует клиента”, давайте я вам покажу/расскажу”

Выявление потребностей. Варианты вопросов.

Перед тем как задать вопрос, обоснуйте его.

Пример: “Вас интересует “товар”, давайте я помогу вам подобрать”.

Что вы думаете по поводу….?

Что бы вы хотели получить от нашего сотрудничества?

Вас что-то смущает?

Структура презентации товара выглядит следующим образом: “Свойство продукта и выгода, которую дает это свойство клиенту”.

Пример: “Это брюки из натурального льна, благодаря чему, вам не будет жарко даже в московском офисе”

Ответ на возражения/вопросы

Структура: “Да, но”, то есть мы сначала соглашаемся с клиентом, а потом приводим довод, нейтрализующий недовольство собеседника.

Клиент: “Эти брюки быстро мнутся”;

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

“Осталось лишь заключить сделку?”

Доброго времени суток всем желающим приобщиться к миру пользовательских скриптов (они же userscript, userJS, юзерскрипты).

В этой статье я хочу поведать о том, что такое юзерскрипты, c чем их едят и, главное, как их готовят!

Внимание: предполагается минимальное знание javascript.
На практике доказано: юзерскрипты может писать человек, не знакомый с программированием, но обладающий усидчивостью и желанием изучить javascript!
О том, что такое javascript и как с ним обращаться, можно узнать на javascript.ru.

Что такое юзерскрипты?

Кратко: юзерскрипт — это программа, написанная на языке JavaScript, хранящаяся на компьютере пользователя и подключаемая браузером на определенных страницах. Юзерскрипт представляет собой файл с расширением .user.js (именно по расширению браузеры понимают, что файл является юзерскриптом), содержащий метаданные и непосредственно javascript-код.

При подключении к странице юзерскрипт выполняется так же, как и обычные javascript-сценарии.
У юзерскрипта есть доступ к DOM-дереву страницы, в контексте которой он выполняется.
В современных браузерах у юзерскрипта есть доступ к localStorage и прочим HTML5 API.

Юзерскрипты поддерживаются всеми основными современными браузерами (и даже кое-как поддерживаются IE7 и выше).

Самый известный портал юзерскриптов — userscripts.org. Тут можно найти хранилище скриптов, инструменты управления своими скриптами на портале и, что не маловажно, отзывчивый форум (всё на английском).

Немного общей теории

Самыми распространенными являются скрипты под расширение GreaseMonkey для браузера Firefox.
Подробную информацию по GreaseMonkey и написанию юзерскриптов под GreaseMonkey можно узнать на http://wiki.greasespot.net.
Так сложилось исторически, что данный браузер был (и остаётся по сей день) первым, в котором поддержка юзерскриптов была выполнена на высоком уровне.

Не все скрипты, написанные для GreaseMonkey, могут запускаться в других браузерах. Причина в криворукости том, что во многих скриптах используется GM API — набор javascript-функций, специфичных для GreaseMonkey.

Однако, проще всего писать юзерскрипты под браузер Google Chrome.
На это есть ряд причин:

  1. Простым скриптам не нужна поддержка GM API (библиотека, доступная в GreaseMonkey)
  2. Google Chrome, в отличие от Firefox+GreaseMonkey, имеет отличнейший дебаггер.
  3. Сообщения об ошибках юзерскрипта в Firefox ужасны! Если вы не обладаете даром телепатиитвердыми знаниями GreaseMonkey и javascript, написание юзерскрипта может превратится в муки!
  4. Google Chrome не требует расширений для поддержки юзерскриптов. Интерфейс для удаления/отключения юзерскриптов доступен «из коробки».

Очевидные минусы Google Chrome:

  1. Нет доступа к «родному» window.
  2. Не поддерживается директива @ include метаданных. Директива @ match глючит, можно сказать, что она тоже не поддерживается.

Особенности юзерскриптов

Код юзерскриптов может посмотреть любой желающий, вооруженный блокнотом.
Базовые знания javascript позволяют отсечь угрозу установки шпионских и вредоносных скриптов простым анализом кода скрипта (придётся задействовать мозг).

Важно:Если вы не доверяете автору скрипта, главное удостовериться, что скрипт не отсылает пользовательские данные (куки, вводимый текст) на сторонние сервисы!

Все юзерскрипты запускаются после того, как загрузились все основные элементы страницы, но ещё не загрузились картинки. Можно сказать, что юзерскрипты грузятся по событию DOMContentLoaded.
В любом случае, проверки на window.onload не нужны.

Читайте также:  Как войти в инстаграм через компьютер

Каждый браузер накладывает свои ограничения на исполнение юзерскриптов, но в целом юзерскрипты могут делать почти всё, что могут скрипты на странице.
Чаще всего юзерскрипты используются для изменения интерфейса страницы или для добавления плюшек, блекджека и шлюх(юзерскрипты для социальных сетей).
Бывают и продвинутые юзерскрипты, которые представляют собой самостоятельные программы (аукционные и игровые боты, плагины-помощники и т.д).

Анатомия юзерскриптов

Юзерскрипт — это текстовый файл с расширением user.js. В начале файла располагается блок метаданных — описание самого скрипта. После блока метаданных следует javascript-код, который и будет исполняться браузером.

Рассмотрим тестовый скрипт, который показывает alert с текстом на определенной странице.

Важно: данный скрипт представляет собой оболочку для кроссбраузерных юзерскриптов. Этот же скрипт, но с английскими комментариями, можно стянуть с pastebin.com и использовать безнаказанно.

В самом начале располагается блок метаданных (в виде комментария).

Этот блок состоит из директив описания юзерскрипта. Ниже в таблице представлены основные директивы и их назначение.

Важно:Все директивы, как и сам блок метаданных, могут отсутствовать.

Директива Назначение
@ name Название юзерскрипта.
Это название будет отображаться в интерфейсе управления
юзерскриптами. Если директива отсутствует, то название
юзерскрипта будет таким же, как и название файла.
@ description Описание юзерскрипта.
Это описание будет отображаться в интерфейсе управления
юзерскриптами.
@ namespace Пространство имён.
Определяет уникальность набора скриптов.
Сюда можно вписать имя домена, принадлежащего вам. Или любую другую строку.
Считайте, что это второе название скрипта. Обязательная директива для Trixie!
@ author Имя автора.
@ license Название лицензии, по которой распространяется юзерскрипт.
@ version Номер версии юзерскрипта.
К сожалению, механизма автообновления нету ни в одном браузере,
поэтому номер версии — это просто цифры, которые отображаются в интерфейсе.
@ include Директива описания url страницы,
на которой нужно запускать юзерскрипт.
Поддерживает вайлдкард *(применимо в GreaseMoneky, Opera, IE).
Для каждого отдельного url нужно использовать отдельную директиву @ include.
@ exclude Директива описания url страницы,
на которой не нужно запускать юзерскрипт.
Поддерживает вайлдкард *(применимо в GreaseMonkey, Opera, IE).
Для каждого отдельного url нужно использовать отдельную директиву @ exclude.
@ match Аналогично @ include, но с более жесткими ограничениями
(применимо в GreaseMonkey старше 0.9.8, Google Chrome).
Подробнее об ограничениях и формате директивы можно
прочитать на этой странице.
Для каждого отдельного url нужно использовать отдельную директиву @ match.

Важно: Как показала практика, полагаться на директиву @ match в юзерскриптах не стоит.
Google Chrome периодически отказывается учитывать @ match
и запускает юзерскрипты на всех страницах.
Для предотвращения такой ситуации в юзерскрипты,
которые будут запускаться не только в Firefox,
нужно добавлять код проверки адреса страницы (см. ссылку [4] в коде юзерскрипта) .

Важно: При отсутствии директив @ include или @ match, юзерскрипты будут запускаться на всех страницах.

В нашем юзерскрипте использован ряд хитростей:

  1. Для того, чтобы юзерскрипты имели одинаковое поведение и не загрязняли глобальную область видимости, код оборачивается в замыкание (см. [1] в коде скрипта) .
  2. Для правильного подключения библиотек внутри юзерскрипта и для обхода некоторых хитрых особеннойстей GreaseMonkey, необходимо «нормализовать» ссылку на глобальную область видимости window (см. [2] в коде скрипта) .
  3. Для того, чтобы юзерскрипт не запускался несколько раз на одной и той же странице, необходимо останавливать работу при запуске юзерскрипта во фреймах (см. [3] в коде скрипта) .
  4. Для того, чтобы юзерскрипт запускался только на нужных нам страницах, необходимо явно проверять url страницы (см. [4] в коде скрипта) .
  5. Благодаря такой структуре, юзерскрипт может быть относительно просто преобразован в букмарклет.

Результат

Наш юзерскрипт готов к использованию!
Нет, серьёзно, вы можете скопировать код юзерскрипта в файл, назвать его my.user.js, и закинуть полученный файл в браузер (используйте Chrome или Firefox с установленным GreaseMonkey).

Конечно, наш юзерскрипт не обладает серьезными функциями, код выглядит страшным и малопривлекательным (для непосвященного человека). Но в итоге мы получили заготовку для кроссбраузерных юзерскриптов.
Это значит, что юзерскрипт можно запустить практически в любом современном браузере!
И это замечательно!

Многие начинающие веб-программисты знакомятся с языком посредством книг. Книга бесспорно очень важна и нужна, но в ней приводятся примеры (для начинающих), которые по своей сути не являются правильными с точки зрения устойчивости и переносимости скрипта. Под устойчивостью понимается возможность возникновения ошибок различного вида, под переносимостью – тоже самое, но при переносе скрипта с домашней локальной машины на сервер хостнг-провайдера.

Ниже я бы хотел сразу показать начинающим веб-разработчикам как надо учиться сразу писать скрипты, чтобы затем не испытывать лишних проблем и не «ловить» непонятно откуда вылезающие ошибки.

Сразу скажу, что я сам с этим столкнулся, так что все это прошло через мои мучения….

Рассматривать я буду следующие моменты:

1. Настройка PHP для локальной машины и на сервере.
2. Где зарыта «@»?
3. register_globals = Off и никак иначе.
4. Основные аспекты синтаксиса. Литерал ор нот литерал…

1. Настройка PHP для локальной машины и на сервере.

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

Но сначала хочу сделать небольшое лирическое отступление по части того, как настраивать PHP, как Apache modul или fast-CGI.
Самый оптимальный вариант – настраивать, как модуль веб-сервера. Для этого в конфигурационном файле httpd.conf веб-сервера Apache пишем следующие строчки:

Отличие от FastCGI – следующие. Первое. При FastCGI php.ini будет подгружаться в память веб-сервера приблизительно каждый второй раз при запуске скрипта, при установке, как модуля Apache загрузка конфигурации PHP будет осуществляться только при загрузке или рестарте веб-севрера, само собой быстродействие и нагрузка на сервер будет меньше. Помимо этого, при установке как fastCGI недоступны определенные функции. Начинающему программисту они не понадобятся., но при разработке крупного Интернет-приложения вы можете столкнуться с проблемами. А проблемы лучше предотвращать.

Теперь перейдем к конфигурации самого PHP. В конфигурационном файле php.ini в обязательном порядке устанавливаем следующие директивы с ниже написанными значениями:

Писать или не писать ошибки в лог файлы – это уже на ваше усмотрение.
На сервере в хостиг-компании, обязательно, выключайте все эти директивы в целях безопасности, дабы потенциальный злоумышленник не мог узнать пути, где лежат ваши скрипты. Но по хорошему, когда вы уже публикуете свой скрипт в глобальной сети, он не должен выдавать никаких ошибок.
Помимо этого

Читайте также:  Как открыть внутреннюю память android на пк

По умолчанию директива max_execution_time имеет значение 30, но для быстроты работы, лучше ставить меньше. Если у вас что-то «зациклилось», то 10 секунд вполне достаточно чтобы понять это.

В 3 главе я расскажу более подробно об этом…

Очень часто начинающие веб-разработчики не понимают разницы между ‘ и “, поэтому выключаем директиву. В 4 главе данный момент будет показан на примере…

2. Где зарыта «@»?

Это, пожалуй, самая основная ошибка начинающих программистов – использование “@”. Этот символ, перед каким-либо оператором подавляет вывод ошибки и ее запись в лог. Он не позволяет на стадии отладки отследить ошибку, и вы судорожно пытаетесь понять, в чем дело.

Яркий пример. Предположим, мы поставили символ “@” перед строчкой $f = fopen( “fle.txt” , “w+” );. Если взять только самые распространенные ошибки, которые могут возникнуть при последующей fwrite к примеру, то это: а) нет прав доступа к файлу, б) файл не существует, в) fopen не может быть вызвана в безопасном режиме. Представляете, сколько вариантов ошибок может быть? Уйма. И как вы собираетесь узнавать, какая ошибка возникла именно у вас, ведь вы подавили их вывод символом «@».

Поэтому строго на строго запрещаем вам использовать @.

Вы спросите, а как же тогда сделать, чтобы не выводилась ошибка?
Чтобы не выводилась ошибка ее надо либо предотвращать, как в случае с файлами, то есть а) проверять файл на существование, б) проверять, а можно (есть права) в него что-то записать is_writeable();.

В других случаях, например при использовании mysql_connect(); надо проверять значение, которое вернет функция. Как правило, по нему можно определить, есть ошибка или нет. Обычно при ошибке возвращается значение FALSE, NULL или пустая строка.

Это позволит вам, выдавать пользователю не пустую страницу, если, к примеру, он попытался обратиться к информации (?n=14), а информация хранится у вас в файлах, и файла 14 не существует, а текст сообщение: «Информация не найдена».

«Ловля» ошибок является также очень важным аспектом безопасности при работе скрипта.

3. register_globals = Off и никак иначе.

Если в первых двух главах я делал акцент на тех моментах, с которыми начинающий программист столкнется уже сразу, то в этой главе я расскажу о таком моменте, который проявится уже позже… зачастую с ним все сталкиваются при переносе скрипта (уже готового) на сервер хостинг провайдера. Лично я долго привыкал к register_globals = Off, поэтому товарищи, начинающие программисты, сразу ставьте эту директиву выключенной. Помимо этого, данный момент ОЧЕНЬ ВАЖЕН в обеспечении безопасности скрипта.

Итак. В чем же вся загвостка. Сначала рассмотрим случай, когда у нас register_globals = On. Как вы уже, наверное, знаете, данные в скрипт могут передаваться тремя способами, сказал грубо, на самом деле их два. Первый это GET, т.е. данные передаются через адресную строку браузера после символа “?”, второй – POST, при его использовании данные предаются в неявном для пользователя виде. Метод POST используется, как правило, для отправки данных формы. Ну и третий – это Куки, переданные от пользователя скрипту.

Рассмотрим такой случай. У нас есть форма, которая находится по адресу index.php? form. В форме несколько текстовых полей полей. Пусть это будет family, name, phone. Форма отправляется на тот же index.php но методом POST. Проверив все данные, мы записали пользователю две Куки с именами family и form, во второй мы записали время доступа к форме, к примеру.

Представим, что у нас часть файла index.php состоит из следующего кода, т.е. в случае если пользователь уже ввел данные на форме, они ему показываются, если нет – выводится форма. И все это по адресу index.php?form.

А теперь задумайтесь.. Что будет в $form, ведь мы передаем переменную, как GET параметром, так и через Куки. Вот. Дальше вы судорожно будете искать ошибку в том, что, почему $form у вас пустое или наоборот.

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

Теперь о том, как это реализовать под register_globals = Off

В PHP существуют несколько глобальных массивов. $_GET, $_POST, $_COOKIE, $_REQUEST (объединение первых трех, не рекомендуется в целях безопасности), $_FILES (для аплода файлов), $_SESSIONS (сессии), $_SERVER (серверные переменные), $_ENV (переменные среды), $GLOBALS (объединяет все).

Что это значит. Ниже я просто перепишу скрипт, данные мною ранее для register_globals = Off..

Теперь никаких проблем не возникнет.
На всякий случай уточню, что в $_****[‘name’] вместо name надо написать имя текстового поля или Куки или параметра, переданного из адресной строки.

В этой же главе хочу рассмотреть следующий маленький пример. Опять же сначала рассмотрим пример с включенным register_globals.

Скрипт выведет значении $a равное 7. Т.е. по сути, мы имеем, что переменные доступные как внутри, так и вне функции. Это не есть хорошо, поскольку при большом скрипте таких переменных $a может быть уйма, а как следствие в любой функции значение переменно может быть изменено и результат выполнения скрипта будет непредсказуем.
Теперь, если тот же самый код выполнить при register_globals = Off, выведется 2. Поскольку изменения переменной $a внутри функции не затронут переменную $а в основном теле скрипта. Тут надо читать мануал про область видимости переменных.
Если же нам надо получить эту семерку, то надо возвращать из функции значение локальной $a и сохраняя это значение в глобальной $a.

4. Основные аспекты синтаксиса. Литерал ор но литерал…

1. Опять же многие начинающие программисты не понимают разницы между записью: $_POST[‘pole’] и $_POST[pole]. Первый вариант – синтаксически верен, а второй нет. PHP будет пытаться найти не элемент pole, а элемент с именем, которое хранится в константе pole, которой у вас – нет.

Кавычками обрамляются литералы, т.е. строки. Если у вас массив – индексный, то в нем не надо писать $_POST[‘1’], а надо $_POST[1].

Разницы между “ и ‘ нет.

2. Вывод переменных часто осуществляют таким образом:

Такая строка «разбирается» интерпретатором намного должен, чем

Первый вариант наиболее предпочтителен, да и с точки зрения редактирования программного кода – легче понять, где у тебя переменная, а где у тебя текст.

Ссылка на основную публикацию
На фейсбук видно кто заходил в гости
В этом обзоре мы поговорим, как узнать, кто заходил на мою страницу в Фейсбук – приведем все доступные способы, которые...
Можно ли писать в директ с компьютера
В одном из последних обновлений социальная сеть Instagram получила полезную функцию – Direct. Теперь в Инсте присутствует полноценная «личка». Мы...
Можно ли перепрошить майкрософт на андроид
Перепрошивка Windows Phone на Android хоть и сопряжена с определенными трудностями, но все же возможна. Для этого вам понадобится ROM-версия...
На что влияет dpi мыши в играх
Шел 2018 год. На рынке появляются новые и новые навороченные модели мышек с умопомрачительными DPI 3200, 6400, 12800 и выше....
Adblock detector