За последние 24 часа нас посетили 21772 программиста и 1068 роботов. Сейчас ищут 768 программистов ...

+ исчезает при записи в БД

Тема в разделе "PHP для новичков", создана пользователем Владимирvvp, 22 июн 2019.

  1. Владимирvvp

    Владимирvvp Новичок

    С нами с:
    31 май 2019
    Сообщения:
    21
    Симпатии:
    0
    Увожаемы дамы и господа помогите разобраться - почему при записи в БД в начале номера телефона пропадает +..
    в программе проверил телефон передается в php с + ...
    сам же код рабочий
    PHP:
    1. <?php
    2. $response = array();
    3. require 'rb/rb-mysql.php'; // загрузка redbeanphp
    4. require 'db_connect.php';// загрузка параметров подключения
    5. require 'passwor_autorisation.php';//загрузка паролей авторизации
    6. if ($ssdatain == $_POST['passwor']){//проверка пороля авторизации
    7.  
    8.     $data = $_POST;
    9.     //если данные заполнены
    10.    if (isset($data['login'])&& isset($data['pass']) && isset($data['sservice'])&& isset($data['idapp'])&& isset($data['firstnameapp']) && isset($data['lastnameapp'])&& isset($data['telephonapp']) && isset($data['dateapp']) && isset($data['timeapp']) && isset($data['descriptionapp'])){
    11.    
    12.         $errors = array();
    13.         // поиск  ID сервиса
    14.         $iduser = R::findOne('user', 'login= ? AND password = ? AND idservice = ? ' , array($data['login'],$data['pass'],$data['sservice']));
    15.          // если такой пользователь сервиса есть
    16.          if ( $iduser ){
    17.            
    18.               $idsr=R::findOne('user', 'idservice = ?', array($data['sservice']));//присваеваем поле таблицы для создания связи с ним
    19.               $sidappin = $data['sservice'];//присваиваем id сервиса
    20.               $sidapp = $data['idapp'];//присваиваем id клиента
    21.               $sfirstnameapp = $data['firstnameapp'];//присваиваем имя клиента
    22.               $slastnameapp = $data['lastnameapp'];//присваиваем фамилию клиента
    23.               $stelephonapp = $data['telephonapp'];//присваиваем телефон клиента
    24.               $sdateapp = $data['dateapp'];//присваиваем дату ожидания клиента
    25.               $stimeapp = $data['timeapp'];//присваиваем время ожидания клиента
    26.               $sdescriptionapp = $data['descriptionapp'];//присваиваем описание проблемы
    27.               $iduserin=R::exec("SELECT id FROM user WHERE idservice='$sidappin'");//получаем id сервиса
    28.            
    29.                  /*
    30.                  выполняем поиск идинаковых записей.. Это нужно для того, если в предыдущий раз запись данных бала корректной
    31.                  но ответ небыл получен..
    32.                  */
    33.                  $idone = R::findOne('client', 'idapp= ? AND firstnameapp = ? AND lastnameapp = ? AND user_id = ?' ,array($sidapp,$sfirstnameapp, $slastnameapp,$iduserin));
    34.                  //если такая запись уже есть
    35.                  if($idone) {
    36.                   //то вернуть верный ответ. так же здесь можно обновить запись
    37.                   $response["success"] = $sidapp;
    38.                   echo json_encode($response);
    39.               }else
    40.               {// иначе создать запись
    41.               /*
    42.               если в базе данных нет таких таблиц, полей или связей они будут созданы автомотически
    43.               внимательно следите за правельностью написания названий
    44.               */
    45.               $client = R::Dispense('client');//если нет такой таблицы, то создать..
    46.               $client->idapp = $sidapp;
    47.               $client->firstnameapp = $sfirstnameapp;
    48.               $client->lastnameapp = $slastnameapp;
    49.               $client->telephonapp = $stelephonapp;
    50.               $client->dateapp = $sdateapp;
    51.               $client->timeapp = $stimeapp;
    52.               $client->workapp = '';
    53.               $client->statusapp = '';
    54.               $client->updateapp = '0';
    55.               $client->descriptionapp = $sdescriptionapp;
    56.               $client->user = $idsr;//создаем связь с таблицей user поле idservice
    57.               if ( $id = R::store( $client)){ // если новая запись в базе данных создана
    58.  
    59.              // возвращем ответ
    60.              $response["success"] = $sidapp;
    61.              echo json_encode($response);
    62.            
    63.             }else
    64.             // если запись не создана
    65.             {
    66.             $response["success"] = "-1";
    67.            echo json_encode($response);
    68.             }
    69.            }
    70.           }else
    71.           //если такого пользователя нет
    72.           {
    73.            $response["success"] = "-2";
    74.            echo json_encode($response);
    75.  
    76.           }
    77.     }else
    78.     // если данные не получены
    79.     {
    80.     $response["success"] = "-3";
    81.     echo json_encode($response);
    82.     }
    83. }else
    84.     // если парольстраницы не совпал
    85. {
    86. $response["success"] =" 0";
    87. echo json_encode($response);
    88. }
    89. ?>
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    как проверял ? какой тип данных ?
     
    miketomlin нравится это.
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    @Владимирvvp, как выше написали, тип поля проверь.
    --- Добавлено ---
    А вообще если все значения приводить к формату +код_страны, то + избыточный.
     
  4. Владимирvvp

    Владимирvvp Новичок

    С нами с:
    31 май 2019
    Сообщения:
    21
    Симпатии:
    0
    пробовал varchar и техт..
    просмаривал через showmessage то что отправляю
    в общем проверил в других полях... то же самое происходит, без разницы где находится + он просто изчезает все остальные знаки присутствуют... только + пропадает
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    Вопрос прочти.
    --- Добавлено ---
    я не знаю что за анонимная функция, которая находится вне документации php
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. error_reporting ( E_ALL );
    4.  
    5. use Aero\Supports\Lerma;
    6.  
    7. require 'autoload.php';
    8.  
    9. if ( filter_input ( INPUT_SERVER, 'REQUEST_METHOD' ) == 'POST' )
    10. {
    11.    
    12.     $t = filter_input ( INPUT_POST, 'tel', FILTER_DEFAULT );
    13.    
    14.     if ( !empty ( $t ) )
    15.     {
    16.         Lerma :: prepare( 'INSERT INTO `test_77465`( `tel` ) VALUES ( ? )', [ $t ] );
    17.     }
    18. }
    19.  
    20. echo Lerma :: query ( 'SELECT tel FROM test_77465 ORDER BY id DESC LIMIT 1' ) -> fetch( Lerma :: FETCH_COLUMN );
    21.  
    22. ?>
    23.  
    24. <form action = "/77465/" method = "post">
    25.     <input type = "tel" name = "tel">
    26.     <input type = "submit">
    27. </form>
    У меня все нормально - есть +
     
  7. Владимирvvp

    Владимирvvp Новичок

    С нами с:
    31 май 2019
    Сообщения:
    21
    Симпатии:
    0
    о общем сделал отдельную страницу для теста , я отправил запрос и получил ответ c тогоже $_POST['telephonapp']; в который отправлял
    там уже нет плюса.. странно а программа показывает, что передает запрос с плюсом ..
    головоломка и где теперь виновного искать (((...
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.750
    Симпатии:
    1.322
    Адрес:
    Лень
    Что ?