Отправка данных с формы через json в php скрипт

132
22 декабря 2019, 07:50

Есть скрипт, он регистрирует человека в системе. Есть лендинг, где человек пишет данные, пытаюсь передать эти данные в скрипт чтобы человек автоматом регистрировался и переносился уже на вход в систему, но не получается.

Вот сам код формы

        <div class="field-block" style="font-size:14px">
            <input id="LASTNAME" class="field" name="LASTNAME" required type="text" placeholder="Иванов">
        </div>
                <div class="field-block" style="font-size:14px">
            <input id="FIRSTNAME" class="field" name="FIRSTNAME" required type="text" placeholder="Иван">
        </div>
                <div class="field-block" style="font-size:14px">
            <input id="PARENTNAME" class="field" name="PARENTNAME" required type="text" placeholder="Иванич">
        </div>
            <div class="field-block" style="font-size:14px">
                        <input id="PHONE" class="field" name="PHONE" type="text" placeholder="9620000000">
        </div>
            <div class="field-block" style="font-size:14px">
                        <input id="BIRTHDAY" class="field" name="BIRTHDAY" required type="text" placeholder="23.06.1989">
        </div>
            <div class="field-block" style="font-size:14px">
            <input id="check" name="check" checked type="checkbox">
            <span class="check-text">Я добровольно отправляю свои данные</span>
        </div>
        <button id="button1" class="t-btn" type="submit" style="color:#ffffff;background-color:#df2322;border-radius:30px; -moz-border-radius:30px; -webkit-border-radius:30px;"><table style="width:100%; height:100%;"><tbody><tr><td>Оформить онлайн</td></tr></tbody></table></button>
<script>
jQuery(window).on('load',  function() { 
    jQuery('#button1').on('click',function () {
        jQuery.ajax({
        method: "POST",
        url: "register.php",
        data: { LASTNAME: jQuery('#LASTNAME').val() };
              { FIRSTNAME: jQuery('#FIRSTNAME').val() };
              { PARENTNAME: jQuery('#PARENTNAME').val() };
              { PHONE: jQuery('#PHONE').val() };
              { BIRTHDAY: jQuery('#BIRTHDAY').val() };
        })
        .done(function( msg ) {
           var jsonResult = JSON.parse(msg);
           var resultOut="asdasda";
           if(jsonResult.error ==false) {
              resultOut="фывфыв" +jsonResult.data.date;
              jQuery('.result').html('<div class="panel panel-default"><div class="panel-body">'+ resultOut +'</div></div>'); 
           }

        });
    });
});
</script>

Вот сам файл register.php

    <?php
$myCurl = curl_init();
$rawdata = file_get_contents("php://input");
$params =json_decode($rawdata);  
$LASTNAME =$params->LASTNAME; 
$FIRSTNAME =$params->FIRSTNAME; 
$PARENTNAME =$params->PARENTNAME; 
$BIRTHDAY =$params->BIRTHDAY; 
$PHONE =$params->PHONE; 
$data_string='';
$data_string = $data_string . '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins="сайт.ru/">';
$data_string = $data_string . '<x:Header/>';
$data_string = $data_string . '<x:Body>';
$data_string = $data_string . '<ins:ExecProc>';
$data_string = $data_string . '<ins:pData>';
$data_string = $data_string . '<![CDATA[';
$data_string = $data_string . '<data>';
$data_string = $data_string . '<request>';
    $data_string = $data_string . '<RequestIp>тут айпи</RequestIp>';
    $data_string = $data_string . '<AppId>а тут айди</AppId>';
    $data_string = $data_string . '<reqName>WC_USERREGISTRATION</reqName>';
    $data_string = $data_string . '<params>';
        $data_string = $data_string . ' <LASTNAME>' . $LASTNAME .'</LASTNAME>';
        $data_string = $data_string . ' <FIRSTNAME>' . $FIRSTNAME .'</FIRSTNAME>';
        $data_string = $data_string . ' <PARENTNAME>' . $PARENTNAME .'</PARENTNAME>';
        $data_string = $data_string . ' <BIRTHDAY>' . $BIRTHDAY .'</BIRTHDAY>';
        $data_string = $data_string . ' <PHONE>' . $PHONE .'</PHONE>';
    $data_string = $data_string . '</params>';
$data_string = $data_string . '</request>';
$data_string = $data_string . '</data>';
$data_string = $data_string . ']]>';
$data_string = $data_string . '</ins:pData>';
$data_string = $data_string . '</ins:ExecProc>';
$data_string = $data_string . '</x:Body>';
$data_string = $data_string . '</x:Envelope>';
//echo $data_string;

//echo "\n\n";
curl_setopt_array($myCurl, array(
    CURLOPT_URL => 'сайт/webservice/файлик.asmx',
    CURLOPT_CUSTOMREQUEST=> "POST",  
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array(                                                                          
    'Content-Type: text/xml; charset=utf-8',                                                                                
    'SOAPAction: сайт.ru/ExecProc',                                                                                
    'Content-Length: ' . strlen($data_string)),
    CURLOPT_POSTFIELDS => $data_string,
    CURLOPT_POST => true
));
$response = curl_exec($myCurl);
curl_close($myCurl);
$xml=simplexml_load_string ($response, NULL, NULL, "сайт);
$xml->registerXPathNamespace("md", "сайт"); 
$xml->registerXPathNamespace("soap", "http://schemas.xmlsoap.org/soap/envelope/"); 
$xml->registerXPathNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); 
$xml->registerXPathNamespace("xsd", "http://www.w3.org/2001/XMLSchema");
$soapResult =$xml->xpath('//md:ExecProcResult//data');
//var_dump($soapResult);
//echo "\n\n";
if(count($soapResult)>0){
    if(!isset($soapResult[0]->error)){
        echo json_encode(array("message"=>$soapResult[0]->result->msg->__toString()));
    }else{
        echo json_encode(array("error"=>$soapResult[0]->error->fulltext->__toString()));
    }
}else{
    echo json_encode(array("error"=>"Не понятная ошибка"));
}
?>
Answer 1

поставил data: JSON.stringify(formData) заработал

READ ALSO
Как добавить противоположную анимацию

Как добавить противоположную анимацию

Хочу сделать вот такую анимацию: https://dribbblecom/shots/3633228-Avanti-e-indietro-loader

144
Как обернуть текст внутри label в тег?

Как обернуть текст внутри label в тег?

Всем привет! Хочу попросить советИмеется такой код HTML:

128
Фильтр вывода записей в WordPress

Фильтр вывода записей в WordPress

Сделал AJAX фильтр записей WordPressДля простоты включил в него только чекбокс, который включает сортировку записей по порядку (ASC)

165