• 14-01-2022, 10:24:08
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,

    Bir wp sitemiz var. Şu anda her şey aktif olarak çalışmaktadır. Bir müşteri formu doldurduğunda arka planda farklı bir sitede apilerle sorunsuz bir şekilde müşteri datasını oluşturmaktadır. Benim isteğim ise bu çalışan forma dosya yükleme seçeneklerinden seçilen dosyaların mail olarak gelmesi. Bu form doldurulduğunda normalde olduğu gibi yine arka planda farklı bir sitede müşteri kayıdını oluşturmaya devam edip aynı anda o formdaki bilgileri ve yüklenen dosyaları belirlediğimiz mail adresine göndermesi. Bunu wp_mail kodlarıyla yapılabileceğini gördüm ama pek anlamadım.




    Konuyla ilgili çok acil yardımcı olabilir misiniz? Form-controller.php aşağıdaki gibidir;

    <?php
    
    if(!isset($_SESSION))
    {
        session_start();
    }
    $formErr = null;
    
    function getToken($email,$password){
        $curl = curl_init();
        curl_setopt_array($curl, array(
            CURLOPT_URL => "https://***/api/getToken",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POSTFIELDS => array('email' => $email,'password' => $password),
        ));
    
        $response = curl_exec($curl);
    
        curl_close($curl);
        $response = json_decode($response,true);
        if($response["status"]=="incorrect"){
            return "token_error";
        }else if($response["status"]=="correct"){
            return $response["token"];
        }
    
    }
    
    
    
    function addLead($token,$name,$email,$phone,$phoneCode,$refer,$source,$campaign,$medium){
    
        $curl = curl_init();
    
        curl_setopt_array($curl, array(
            CURLOPT_URL => "https://***/api/customer/create",
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POSTFIELDS => array(
                'token' => $token,
                'name' => $name,
                'email' => $email,
                'phone' => $phone,
                'phone_code' => $phoneCode,
                'refer' => $refer,
                'utm_source' => $source,
                'utm_campaign' => $campaign,
                'utm_medium' => $medium
            ),
        ));
    
        $response = curl_exec($curl);
    
        curl_close($curl);
        return $response;
    }
    
    if (!empty($_POST['token']) and $_SESSION['token']!=null ) {
    
        if (hash_equals($_SESSION['token'], $_POST['token'])) {
            //print "token:ok\n";
            $_SESSION['token']=null;
            $refer = isset($_POST['refer']) ? $_POST['refer'] : "";
    
            $token = getToken('api@***','***');
            if ($token === "token_error") { //token hatalı mı ?
                $formErr = "Şu anda işleminizi gerçekleştiremiyoruz. Lütfen daha sonra tekrar deneyiniz.";
            } else {
                if (empty($_POST['name'])) {
                    $formErr = "Lütfen isim alanını doldurunuz";
                } else {
    
                    $name = $_POST['name']; //name atama
                    if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                        $formErr = "Lütfen geçerli bir email adresi giriniz";
                    } else {
    
                        $email = $_POST['email']; //email atama
                        if (empty($_POST['phone']) ) {
                            $formErr = "Lütfen telefon alanını doldurunuz";
                        } else {
    
                            $phone = "90".str_replace(' ', '', $_POST["phone"]);
                            $utm_source = isset($_SESSION["utm_source"]) ? $_SESSION["utm_source"] : "";
                            $utm_campaign = isset($_SESSION["utm_campaign"]) ? $_SESSION["utm_campaign"] : "";
                            $utm_medium = isset($_SESSION["utm_medium"]) ? $_SESSION["utm_medium"] : "";
                            if(addLead($token,$name,$email,$phone,"90",$refer,$utm_source,$utm_campaign,$utm_medium)){
                                //print_r($_POST);
                                print true;
                                //print header("Location: https://" . $_SERVER['HTTP_HOST'] . "/tesekkurler.html");
                            }else{
                                $formErr = "Şu anda işleminizi gerçekleştiremiyoruz. Lütfen daha sonra tekrar deneyiniz.";
    
                            }
    
                            //create_lead($token,$email,$name, $phone, $phoneCode,1,$refer,$refUrl,$utm_source ,$utm_campaign,$utm_medium);
                        }
                    }
                }
            }
        } else {
            $formErr = "Oturum süreniz dolmuş lütfen sayfayı yenileyip tekrar deneyiniz.";
        }
    }else {
        $formErr = "Oturum süreniz dolmuş lütfen sayfayı yenileyip tekrar deneyiniz.";
    }
    
    if($formErr){
        $_SESSION["formErr"] = $formErr;
        print($formErr);
        //header('Location: ' . $_SERVER['HTTP_REFERER']);
    }
    
    
    
    
    ?>
  • 14-01-2022, 11:51:21
    #2
    Şu konuyla ilgili kimsenin bilgisi yok mu ya?