zahr..
3 سال پیش توسط 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");
                }
            }

ثبت پرسش جدید

به همدیگه کمک کنیم

به zahr.. کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام