calirails
@calirails

Как вывести значение из базы данных, если есть cookie?

Есть форма, после заполнения которой происходит запись значений в БД.

Данные: IP адрес посетителя и уникальный ID посетителя.

Каким образом дать сайту понять, что зашел именно этот посетитель и вывести его ID (как его привязать к IP), соответствующий (привязанному IP адресу).

Для чего: чтобы без регистрации понимать, что на сайт зашел именно этот пользователь с конкретным, присвоенным с помощью cookie ID-пользователя.

Как сделано сейчас:

Форма и скрипт:
<!-- MultiStep Form -->
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <form id="msform">
            <!-- progressbar -->
            <ul id="progressbar">
                <li class="active">Информация о компании</li>
                <li>Личная информация</li>
                <li>Подготовка аккаунта</li>
            </ul>
            <!-- fieldsets -->
            <fieldset>
                <h2 class="fs-title" style="padding: 30px">Информация о компании</h2>

                <input type="text" name="fcompanyname" placeholder="Название компании"/>
                <input type="text" name="fproductname" placeholder="Ваш продукт"/>
                <input type="text" name="fsitelink" placeholder="Ссылка на сайт"/>
                 <input type="text" name="finstalink" placeholder="Ссылка на Instagram"/>
                 <input type="text" name="fleadcount" placeholder="Желаемое количество лидов в день"/>
                 <input type="text" name="fbudget" placeholder="Недельный бюджет на рекламу"/>
                <input type="button"  name="next" class="next action-button" value="Далее"/>
            </fieldset>
            <fieldset>
                <h2 class="fs-title" style="padding: 30px">Личная Информация</h2>
                <input type="text" name="fname" placeholder="Ваше имя"/>
                <input type="text" name="fcity" placeholder="Город"/>
                <input type="text" name="fphone" placeholder="Телефон"/>
                
                <input type="text" name="fip" placeholder="IP"/>
                <input type="text" name="fuserid" placeholder="USER_ID"/>
                <input type="text" name="fdate" placeholder="DATE"/>
                
                <input type="button" name="next" class="next action-button next3button" id="send" value="Далее"/>
            </fieldset>

        </form>

    </div>
</div>

<script>
    
    $( document ).ready(function() {
    
        $("#send").click(function(){
        
        var formData = $("form").serialize();
         $.ajax({
            
            
            url: '/core/request.php',
            type: 'POST',
            data: formData,
            success: function(data){
                alert("Записано!");
                
            }
            
        })
        
        
    })
 
 
});
    
</script>


ID генерируется с помощью генератора чисел и по нажатию на кнопку "Отправить" - передается через ajax запрос в request.php, где записывается в базу.

IP пользователя адрес получаем из переменной $_SERVER['REMOTE_ADDR']

Содержимое request.php

if (!isset($_COOKIE['id'])){
    $ip_hash = md5($_SERVER['REMOTE_ADDR']);
    setcookie('id', $ip_hash, time() + 60*60*24*30*12);
}
$user_id = $_COOKIE['id'];


mysql_query("INSERT INTO `lead_payments` 

(company_name, product_name, site_link, instagram_link, lead_wanted, week_budget, name, city, phone, ip, user_id, date
) VALUES (
    '" . $_POST['fcompanyname'] . "', 
    '" . $_POST['fproductname'] . "',
    '" . $_POST['fsitelink'] . "',
    '" . $_POST['finstalink'] . "',
    '" . $_POST['fleadcount'] . "',
    '" . $_POST['fbudget'] . "',
    '" . $_POST['fname'] . "',
    '" . $_POST['fcity'] . "',
    '" . $_POST['fphone'] . "',
    '" . $_SERVER['REMOTE_ADDR'] . "',
    '" . $user_id . "',
    '" . $_SERVER['REQUEST_TIME'] . "'
    )");


Каким образом запоминать пользователя, связывать его ID с IP адресом, и при следующем заходе - выводить именно тот ID, который нужен в html (Ваш ID: .....) ?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
наймите препода или прогера, будет быстрее
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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