Задать вопрос
@Flexinik

Как исправить ошибку при занесении платежных реквизитов на сайте?

На сайте в профиле пользователя имеется форма для добавления кошелька Payeer для дальнейших выплат. При добавлении кошелька выдается ошибка "Неверно указан кошелек. Будьте внимательны!".
Подскажите, пожалуйста, что исправить в коде:
Устанавливаем кошелек паеер
if ( $_GET['func'] == 'addpayeer' ) {
   
    if ( !isset( $_SESSION['iduser'] ) ) exit();
    
    if ( $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' ) exit();
    
	include_once ROOT_DIR . '/engine/classes/cpayeer.php';
	$accountNumber = $config_site['shetpayeer']; 
	$payer_user = $config_user['payeer'];
	$apiId = $config_site['apiIdpayeer'];         
	$apiKey = $config_site['maskeypayeer'];   
	$payeer = new CPayeer($accountNumber, $apiId, $apiKey);
	
	if($payeer->checkUser(array( 'user' => '' . check_text( $_POST['pursepayeer'] ) . '', ))) {
	  
	  if ( strlen(check_text( $_POST['pursepayeer'] )) < 6 OR strlen(check_text( $_POST['pursepayeer'] )) > 15 ) {
        echo 'Неверно указан кошелек. Будьте внимательны!';
        exit();
      } else
      if ( $config_user['payeer'] != '' ) {
        echo 'Вы уже указали кошелек Payeer!';
        exit();
      } else {
        $proverka_payeer_add = mysqli_query($db, "SELECT id FROM user WHERE payeer = '" . check_text( $_POST['pursepayeer'] ) . "'" );
        
		if ( mysqli_num_rows( $proverka_payeer_add ) > 0 ) {
          echo 'В системе уже используеться данный кошелек';
          exit();
        } else {
          mysqli_query($db, "UPDATE user SET payeer = '" . check_text( $_POST['pursepayeer'] ) . "' WHERE id = '" . $_SESSION['iduser'] . "'" );
          echo 1;
          exit();
        }
      }
	
	} else {  
	  echo 'Неверно указан кошелек. Будьте внимательны!';
      exit();
	}
}
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Средний 2 комментария
Решения вопроса 1
Davidaa_WoW
@Davidaa_WoW
У вас вот в этой строчке:
if ( strlen(check_text( $_POST['pursepayeer'] )) < 6 OR strlen(check_text( $_POST['pursepayeer'] )) > 15 ) {

Стоит ограничение на размер вводимой строки. Она должна быть от 6 до 15 символов.
Возможно вы обращаетесь не к тому ключу.
Попробуйте перед строкой с оповещением, временно добавить вывод этого параметра в консоль, чтобы проверить что в нём приходит:
echo $_POST['pursepayeer'];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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