Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как работает платежный скрипт?
 
 автор: Владимир55   (26.11.2008 в 19:57)   письмо автору
 
 

В типовом платежном скрипте есть такой код:
# Возвращаем результат и завершаем работу
return_result(
    "Здесь должен быть Ваш ответ клиенту"
);

# Функция передачи данных
function return_result($message, $is_error = false) {
    if ($is_error) exit("<SMSDERR>".stripslashes($message)."</SMSDERR>");
    exit("<SMSDOSTUP>".stripslashes($message)."</SMSDOSTUP>");
}

Больше нигде переменная $message не встречается.
Как она формируется и что вообще здесь передается?

  Ответить  
 
 автор: BinLaden   (26.11.2008 в 20:06)   письмо автору
 
   для: Владимир55   (26.11.2008 в 19:57)
 

Переменная $message будет иметь значение "Здесь должен быть Ваш ответ клиенту"

  Ответить  
 
 автор: Владимир55   (26.11.2008 в 23:49)   письмо автору
 
   для: BinLaden   (26.11.2008 в 20:06)
 

По идее, именно так и должно быть.

Но вот как это происходит, я понять не могу!!!

Не могли бы Вы разъяснить этот хитрый процесс?

  Ответить  
 
 автор: GeorgeIV   (27.11.2008 в 10:07)   письмо автору
 
   для: Владимир55   (26.11.2008 в 23:49)
 

The exit() function terminates execution of the script. It prints status just before exiting

У вас функция печатает $message с обрамлением соответствующим функцией exit() в теле самой функции.

  Ответить  
 
 автор: Владимир55   (27.11.2008 в 11:52)   письмо автору
 
   для: GeorgeIV   (27.11.2008 в 10:07)
 

Я вот чего не пойму.
Что делает
exit("<SMSDOSTUP>".stripslashes($message)."</SMSDOSTUP>");

Выходит из скрипта и выводит на печать "<SMSDOSTUP>".stripslashes($message)."</SMSDOSTUP>" ?

  Ответить  
 
 автор: Trianon   (27.11.2008 в 12:05)   письмо автору
 
   для: Владимир55   (27.11.2008 в 11:52)
 

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

  Ответить  
 
 автор: Владимир55   (27.11.2008 в 14:08)   письмо автору
 
   для: Trianon   (27.11.2008 в 12:05)
 

Если я правильно понимаю, то весь первоначальный код можно составить без использования функции. Например, так:
<?php
    $message 
"Здесь должен быть Ваш ответ клиенту";
    if (
$is_error) echo "<SMSDERR>".stripslashes($message)."</SMSDERR>";
    else echo 
"<SMSDOSTUP>".stripslashes($message)."</SMSDOSTUP>";
    exit();
?>


Верно?

  Ответить  
 
 автор: MIchail1982   (27.11.2008 в 14:18)   письмо автору
 
   для: Владимир55   (27.11.2008 в 14:08)
 

наверное нет, ведь ошибки возникают невсегда...
та функция, что возвращает $message должна чтото обрабатівать (желатеьлно :)) ) и в зависимости от результата ставить или не ставить флаг $is_error
сообщение тоже скорее всего будет разным при ошибке и правильной отработке :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования