@WalkersRei

Warning: A non-numeric value encountered как исправить?

Вот сам код.
<?php
	$Customer_IDP	= $_POST["customerEmail"];
	$Subtotal_P 	= $_POST["result"];
	$Lifetime 		= "300";
	$Order_IDP		= $Customer_IDP;
	$IData			= "";
//--------------- Должно быть заполнено (кавычки не убирать!) --------------
// Пароль:
	$password = "1";  //Значение Password (80 символов) из Личного кабинета, раздел "Параметры авторизации"
// ID магазина:
	$Shop_IDP = "1";                                                                      //Значение Uniteller Point ID (как правило, 8 цифр) из Личного кабинета, раздел "Точки продажи"
// Адрес сайта:
	$url = "http://toster.ru/";                                                        // Формат адреса: http://mysite.com/
	$signature = strtoupper(md5(md5($Shop_IDP) + '&' + md5($Order_IDP) + '&' + md5($Subtotal_P) + '&' + md5("") + '&' + md5("") + '&' + md5($Lifetime) + '&' + md5($Customer_IDP) + '&' + md5("") + '&' + md5($IData) + '&' + md5("") + '&' + md5($password)));
	$redirect = "https://wpay.uniteller.ru/pay/?Shop_IDP=".$Shop_IDP."&URL_RETURN=".$url."&Lifetime=".$Lifetime."&Signature=".$signature."&Email=".$Customer_IDP."&Order_IDP=".$Customer_IDP."&Subtotal_P=".$Subtotal_P;
 	//echo "Вы будете переадресованы на страницу оплаты. Если ваш браузер не поддерживает передаресацию, нажмите вот <a href='".$redirect."'>сюда.</a>";
	header('Refresh: 5; '.$redirect.'');
	?>
	<center>Вы будете переадресованы на страницу оплаты. Если ваш браузер не поддерживает передаресацию, нажмите вот <a href="<?php echo $redirect; ?>">сюда.</a></center>


Кодировка UTF-8, выводить такую ошибку:
5dc512968c9bf981785671.png
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
@guruloz
А так?

// тут старый неизменённый код
$signature = strtoupper(md5(md5($Shop_IDP) . '&' . md5($Order_IDP) . '&' . md5($Subtotal_P) . '&' . md5("") . '&' . md5("") . '&' . md5($Lifetime) . '&' . md5($Customer_IDP) . '&' . md5("") . '&' . md5($IData) . '&' . md5("") . '&' . md5($password)));


То в JS конкатенация выполняется через +, а в PHP, через .
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
anton_reut
@anton_reut
Начинающий веб-разработчик
У тебя хэш strtoupper(md5(md5($Shop_IDP) возвращает строку не смотря на то что ты пытаешься захэшировать единицу, и ты пытаешься складывать строки а не числа через "+". От этого и ошибка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы