zahr..
5 سال پیش توسط zahr.. مطرح شد
0 پاسخ

مشکل کوکی در احراز هویت ثبت نام با php

سلام خدمت همه دوستان ، من یه فرم دارم با php که کاربرموقع ثبت نام یا ورود میتونه با وارد کردن شماره و ارسال کد از دیتابس براش ارسال بشه البته این کد رو به صورت ساده نوشتم ، و موقعی که قبلا کاربر عضو هست بازم میتونه درخواست کد بده و این کد جدید جایگزین قبلی میشه

الان مشکلم اینجاست یه if در اخر تعریف کردم اگر مقدار کوکی ست شده بود اوکی کن، وقتی وارد پنل میشم کوکی ست میشه و موقعی که مرورگر رو میبندم و باز میکنم از داشبورد میزنه بیرون ، در این موقع وقتی کاربر شماره رو وارد میکنه بدون اینکه کدی وارد بکنه با زدن گزینه ورود وارد داشبور میشه و کوکی چرا اینطوری ست میشه؟ من نمیخام اینطوری باشه
میخام وقتی مرورگر بسته شد و کاربر برگشت تو همون داشبورد بمونه
از اساتید خاش میکنم اگ میشه ی راهی برام بزارید یا ی کدی در اختیارم بزارید که کجا قرار بدم ممنون میشم
@ali.bayat
@milad
@hesammousavi
@mhyeganeh
@abedim910
@saman1111
@muhammad
@ErfanSadeqiNejad
@khanzadimahdi
@pwyazyzzadhbna

<form dir="rtl" enctype="multipart/form-data" action="" method="post" >
                    <div class="mb-3">
                        <label for="exampleFormControlInput5" class="form-label">شماره تماس:  </label>
                        <input type="text" name="code_meli" class="form-control" id="exampleFormControlInput5" >
                    </div>
                    <br>
                    <div class="mb-3">
                        <input type="submit" name="submit_enter" class="form-control" value="درخواست کد">

                    </div>
                    <br>

                    <div class="mb-3">
                        <label for="exampleFormControlInput1212" class="form-label"> کد تایید: </label>
                        <input type="text" name="code_pass" class="form-control" id="exampleFormControlInput1212" >
                    </div>
                    <div class="mb-3">
                        <input type="submit" name="submit_code" class="form-control" value="ورود">
                    </div>
                </form>

--------------------------------------------------------

              <?php
            $codemeli_asli = $_POST['code_meli'];
            $codepass_asli = $_POST['code_pass'];
            $submit_enter = $_POST['submit_enter'];
            $submit_code = $_POST['submit_code'];
            if(isset($submit_enter)){
                //select database
                $sql_submit = "SELECT * FROM users WHERE codemeli='$codemeli_asli'";
                $result_submit = mysqli_query($conn, $sql_submit);
                while ($row_submit = mysqli_fetch_assoc($result_submit)) {
                    $id_dbwe = $row_submit['id'];
                    $codemeli_dbwe = $row_submit['codemeli'];
                    $code_dbwe = $row_submit['code'];
                    $megdar_dbwe = $row_submit['megdar'];

                }

                if($codemeli_dbwe == $codemeli_asli){
                    try {
                        date_default_timezone_set("Asia/Tehran");
                        include_once("sms_smsir/Classes/SendMessage.php");
                        // your sms.ir panel configuration
                        $APIKey = "57a49f2c31ae4ea167e55fd";
                        $SecretKey = "dR6mX*&^*(4rRX(4VpAwCR";
                        $LineNumber = "50002015528528";
                        // your mobile numbers
                        $MobileNumbers = array($codemeli_asli);
                        // your text messages
                        $code = rand(1, 10);
                        $Messages = array('کد' . $code);
                        // sending date
                        @$SendDateTime = date("Y-m-d") . "T" . date("H:i:s");
                        $SmsIR_SendMessage = new SmsIR_SendMessage($APIKey, $SecretKey, $LineNumber);
                        $SendMessage = $SmsIR_SendMessage->SendMessage($MobileNumbers, $Messages, $SendDateTime);
                        var_dump($SendMessage);
                    } catch (Exeption $e) {
                        echo 'Error SendMessage : ' . $e->getMessage();
                    }

                    $sql_54kjasdsd = "UPDATE users SET code='$code',codemeli='$codemeli_dbwe' WHERE codemeli='$codemeli_asli'";
                    $res_erasas = mysqli_query($conn, $sql_54kjasdsd);
                    var_dump($res_erasas);
                } else {

                    //sms.ir
                    try {
                        date_default_timezone_set("Asia/Tehran");
                        include_once("sms_smsir/Classes/SendMessage.php");
                        // your sms.ir panel configuration
                        $APIKey = "57a49f2c31ae4ea167e55fd";
                        $SecretKey = "dR6mX*&^*(4rRX(4VpAwCR";
                        $LineNumber = "50002015528528";
                        // your mobile numbers
                        $MobileNumbers = array($codemeli_asli);
                        // your text messages
                        $code = rand(1, 10);
                        $Messages = array('کد' . $code);
                        // sending date
                        @$SendDateTime = date("Y-m-d") . "T" . date("H:i:s");
                        $SmsIR_SendMessage = new SmsIR_SendMessage($APIKey, $SecretKey, $LineNumber);
                        $SendMessage = $SmsIR_SendMessage->SendMessage($MobileNumbers, $Messages, $SendDateTime);
                        var_dump($SendMessage);
                    } catch (Exeption $e) {
                        echo 'Error SendMessage : ' . $e->getMessage();
                    }

                    //insert into database
                    $sql_insert_login = "INSERT INTO users (codemeli,code,megdar) VALUES ('$codemeli_asli','$code','false')";
                    $res_dfdfers = mysqli_query($conn, $sql_insert_login);
                    var_dump($res_dfdfers);
                    echo '<div class="alert alert-success" role="alert">کد را وارد کنید</div>';
                }

            } else {

            }

            if (isset($submit_code)) {
                $sql_code = "SELECT * FROM users WHERE codemeli='$codemeli_asli'";
                $result_code = mysqli_query($conn,$sql_code);
                while ($row_code = mysqli_fetch_assoc($result_code)) {
                    $id_db = $row_code['id'];
                    $codemeli_db = $row_code['codemeli'];
                    $firstname_db = $row_code['firstname'];
                    $code_db = $row_code['code'];
                    $megdar_db = $row_code['megdar'];
                    setcookie('codemeli_remember',$codemeli_asli,time()+300);
                    setcookie('codepass_remember',$codepass_asli,time()+300);

                }
                if ($code_db !== $codepass_asli) {
                    header("location: dsfdf.php");
                } else if ($code_db == $codepass_asli) {
                    $_SESSION['codemeli_sn'] = $codemeli_db;
                    $_SESSION['code_sn'] = $code_db;
                    $_SESSION['firstname_sn'] = $firstname_db;
                    echo 'sdsd';
                    header("location: dashboard.php");
                }
            }

            //cooki
            if($_COOKIE['codemeli_remember'] && $_COOKIE['codepass_remember']){
                $sql3444qq = "SELECT * FROM users WHERE codemeli='$codemeli_db'";
                $result34qq = mysqli_query($conn,$sql3444qq);
                $row213qq = mysqli_fetch_assoc($result34qq);
                $id = $row213qq['id'];
                $codemeli_we = $row213qq['codemeli'];
                $code_cwe = $row213qq['code'];
                $esm_cwe = $row213qq['firstname'];

                if($code_cwe == $_COOKIE['codepass_remember'] && $codemeli_we == $_COOKIE['codemeli_remember']){
                    session_start();
                    $_SESSION['codemeli_sn']= $codemeli_db;
                    $_SESSION['code_sn'] = $code_db;
                    header("location:dashboard.php");
                }
            }