[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: По оптимизации или вопросы новичка
Rimlen
Вываливаю на обозрение местного населения кусок даже не знаю как еще назвать... Хотелось бы получить оптимизация и защиту от повторного POST.
Понятно что лучше закомитить: print_r ($client->__getFunctions ());
Но интересуют какой кусок лучше за каким построить и что убрать в функции, а что оставить просто как вывод?
В общем как говориться: учиться, учиться, еще раз учиться, а то что накодили лучше удалить и сделать заново.

<?php 

function
send($mobile) {

// Все данные возвращаются в кодировке UTF-8
header ('Content-type: text/html; charset=utf-8');

// Подключаемся к серверу
$client = new SoapClient ('http://turbosms.in.ua/api/wsdl.html');

// Можно просмотреть список доступных функций сервера
echo '<pre>';
print_r ($client->__getFunctions ());
echo '</pre>';

// Данные авторизации
$auth = Array (
'login' => 'Meanxk',
'password' => '76317'
);

// Авторизируемся на сервере
$result = $client->Auth ($auth);

// Результат авторизации
echo $result->AuthResult . '<br />';

// Получаем количество доступных кредитов
$result = $client->GetCreditBalance ();
echo $result->GetCreditBalanceResult . '<br />';

// Текст сообщения ОБЯЗАТЕЛЬНО отправлять в кодировке UTF-8
$text = "Проверка работы системы";

// Данные для отправки
$sms = Array (
'sender' => 'Roet',
'destination' => "$mobile",
'text' => $text
);

// Отправляем сообщение на один номер.
// Подпись отправителя может содержать английские буквы и цифры. Максимальная длина - 11 символов.
// Номер указывается в полном формате, включая плюс и код страны

$result = $client->SendSMS ($sms);

echo "<br />Резутат:<br />";

function ObjectToArray ($object) {
if(!is_object($object) && !is_array($object)) {
return $object;
}
if( is_object( $object )) {
$object = get_object_vars( $object );
}
return array_map( 'objectToArray', $object );
}

$array = objectToArray( $result );


echo "<br />Post_CONVERT<br />";

$result_send=($array[SendSMSResult][ResultArray][0]);
$result_id=($array[SendSMSResult][ResultArray][1]);

#### А тут проблема... данные в POST не обнуляются
// Конечно, с какого хрена обни обнуляться если вверху уже вывалили кучу данных

header('Refresh: 3; URL=http://www.tigir.com/php.htm');
echo 'Сообщение успешно отправленно<br />';
echo 'Через 3 сек. вы будете перенаправлены на новую страницу.';
echo "<br />".$result_send;
echo "<br />".$result_id;
exit;
}

$form = <<< OEFORM
Укажите мобильный:
<
form action="" method="POST">
<
input type="text" name="mobile" />
<
input type="submit" name="send" value="Send" />
</
form>
OEFORM;

// Проверяем наличие нажатой кнопки SEND
if (isset($_POST['send'])) {

// Проверяем переданный мобильный телефон
if (isset($_POST['mobile']) && !empty($_POST['mobile'])) {
$mobile = $_POST['mobile'];
// Проверяем что введенный телефон соответствует нашим условиям
if (!preg_match("/[+][380]{3}[0-9]{9}$/i", $mobile)) {
echo "<font color=red>Введенный номер не корректен, номер должен быть в формате: +380501125233</font><br />";
print($form);
exit;
} else {
// Если проверка прошла успешно и условия соответсвуют, отправляем смс
send($mobile);
}
}
else {
if (empty($_POST['mobile'])) {
echo "<font color=red>Вы не указали мобильный номер</font><br />";
}
print($form);
exit;
}
}
else {
print($form);
}

?>




Спустя 3 минуты, 28 секунд (26.01.2012 - 10:18) inpost написал(а):
Rimlen
Смысла кода не понимаю и вопроса.
Хотя если посмотреть, то просто убери до переадреации любой вывод!!!
И вывод кодировки надо до функции делать, а не внутри!

Спустя 7 минут, 38 секунд (26.01.2012 - 10:26) Rimlen написал(а):
Да эт простая формочка для отправки смс через soap

Спустя 11 минут, 13 секунд (26.01.2012 - 10:37) alexbel2404 написал(а):
пароль бы лучше затер smile.gif

Спустя 5 минут, 7 секунд (26.01.2012 - 10:42) Rimlen написал(а):
А кто сказал что он там настоящий?

Спустя 40 минут, 31 секунда (26.01.2012 - 11:23) Rimlen написал(а):
Усе, больше не могу, прошу все таки помощи

http://turbosms.ua/soap.html

На сколько вижу, даже после
echo $result->AuthResult . '<br />'; 

возращается строка, а как можно проверить все это через условие "if" чтобы действовать дальше по обстоятельствам?

Спустя 1 час, 14 минут, 23 секунды (26.01.2012 - 12:37) bob marley написал(а):
Rimlen
echo "<br />Post_CONVERT<br />";

$result_send=($array[SendSMSResult][ResultArray][0]);
$result_id=($array[SendSMSResult][ResultArray][1]);

#### А тут проблема... данные в POST не обнуляются
// Конечно, с какого хрена обни обнуляться если вверху уже вывалили кучу данных

header('Refresh: 3; URL=http://www.tigir.com/php.htm');


до рифреша не должно быть echo,начнем с того!

Спустя 1 минута, 41 секунда (26.01.2012 - 12:39) bob marley написал(а):
Rimlen
Цитата (Rimlen @ 26.01.2012 - 08:23)
возращается строка, а как можно проверить все это через условие "if" чтобы действовать дальше по обстоятельствам?

Что конкретно требуется тебе проверить через конструкцию if - else?

Спустя 4 минуты, 32 секунды (26.01.2012 - 12:43) bob marley написал(а):
Я ещё прочитал,что тебе что-то надо обнулять..Я так понимаю удалить переменные,да?Если да,то подходит оператор unset() !

Почитай про unset() если это подходит!

Спустя 3 минуты, 39 секунд (26.01.2012 - 12:47) bob marley написал(а):
Цитата (Rimlen @ 26.01.2012 - 07:15)
$form = <<< OEFORM
Укажите мобильный:
<form action="" method="POST">
<input type="text" name="mobile" />
<input type="submit" name="send" value="Send" />
</form>
OEFORM;

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

обработчик делайте в отдельном файле!!!Ты пишешь в раздел для новичков,значит ты новичок!:)
Так не усложняй себе жизнь!Делай в отдельном файле проверку!Да,понимаю,больше работы,ну так правильней будет!Ладно если ты нев***нный мастер,делаешь все в одном потому,что знаешь что и как будет!

Спустя 3 минуты, 52 секунды (26.01.2012 - 12:51) bob marley написал(а):
Что конкретно требуется тебе проверить через конструкцию if - else?

Напишешь в личку если зайдешь сюда ещё!Помогу.И про unset почитай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.