site ecommerce php mvc & pdo الجزء الثامن

imadbelasri PHP
PH

فهاد الجزء الثامن من site ecommerce php mvc & pdo غادي نزيدو les commandes لي دار المستخدم فقاعدة البيانات فمنبعد مغادي يخلص غادي ناخدو ل commande ونسجلوها عندنا بكامل المعلومات الخاصة بها فغادي نزيدو ل model الخاص بل commandes وأيضا ل controller.


نظرة سريعة بالفيديو


1- إضافة ل Model Order

ف dossier models غادي تزيد fichier جديد سميه Order.php لي فيه les fonctions :

- getAll لي مسؤولة على استرجاع les commandes ولي غادي نحتاجوها فاش نوصلوا للجزء الخاص بالأدمن.

- createOrder لي كتمكن من التسجيل ديال ل commande منبعد مكتستقبل المعلومات الخاصة بها وكتزيدها فقاعدة البيانات.

الكود ديال الملف هو :

                                                    
                                                        <?php

class Order{
     static public function getAll(){
        $stmt = DB::connect()->prepare('SELECT * FROM orders');
        $stmt->execute();
        return $stmt->fetchAll();
        $stmt->close();
        $stmt =null;
    }
    static public function createOrder($data){
        $stmt = DB::connect()->prepare('INSERT INTO orders (fullname,product,qte,price,total)
            VALUES (:fullname,:product,:qte,:price,:total)');
            $stmt->bindParam(':fullname',$data['fullname']);
            $stmt->bindParam(':product',$data['product']);
            $stmt->bindParam(':qte',$data['qte']);
            $stmt->bindParam(':price',$data['price']);
            $stmt->bindParam(':total',$data['total']);
            if($stmt->execute()){
                return 'ok';
            }else{
                return 'error';
            }
            $stmt->close();
            $stmt = null;
    }
}
                                                    
                                                

2- إضافة ل OrdersController

ف dossier controllers غادي تزيد fichier جديد سميه OrdersController.php لي فيه les fonctions :

- getAllOrders لي غادي تنفذ ل fonction getAll لي سبق وزدنا فل model Order وترجعنا les commandes كاملين.

- addOrder لي كنزيد بها commande جديدة كنرسل المعلومات لي جاوني من الفورم لي سبق وزدناها فل fichier cart.php ل fonction createOrder لي سبق وزدنا فل model Order.

الكود ديال الملف هو :

                                                        
                                                            <?php

class OrdersController{
    public function getAllOrders(){
        $orders = Order::getAll();
        return $orders;
    }
    public function addOrder($data){
        $result = Order::createOrder($data);
        if($result === "ok"){
            foreach($_SESSION as $name => $product){
                if(substr($name,0,9) == "products_"){
                    unset($_SESSION[$name]);
                    unset($_SESSION["count"]);
                    unset($_SESSION["totaux"]);
                }
            }
            Session::set("success","Commande effectuée");
            Redirect::to("home");
        }
    }
}
                                                        
                                                    

3- إضافة الملف addOrder.php

ف dossier views زيد fichier جديد سميه addOrder.php لي فيه الكود لي غادي يمكن من إسترجاع ل produits لي عندي فل panier ولي هي ل commande ديالي.

منبعد غادي نصيفطهم ل fonction addOrder لي زدنا فل OrdersController.

الكود ديال الملف هو :

                                                        
                                                            <?php
$order = new OrdersController();
foreach($_SESSION as $name => $product){
    if(substr($name,0,9) == "products_"){
       $data = array(
        "fullname" => $_SESSION["fullname"],
        "product" => $product["title"],
        "qte" => $product["qte"],
        "price" => $product["price"],
        "total" => $product["total"]
       );
       $order->addOrder($data);
    }else{
        Redirect::to("home");
    }
}
                                                        
                                                    

4- تفعيل الاداء ب paypal

باش نفعل الاداء ب paypal خاص يكون عندي حساب paypal من بعد كنمشي ل https://developer.paypal.com

منبعد غادي تمشي ل login to dashboard غادي تكونيكطا فاش غادي تدخل غادي يديك ل my apps & credentials.

قبل متزيد ل app ديالك سير ل sandbox accounts لي غادي تمكنك باش تفتح حساب إفتراضي فيه اموال باش تشري ب paypal هادي خدمة كتوفرها paypal للمطورين مجانا.

المهم غادي تلقى create account غادي تضغط عليها منبعد غادي تلقى modal طلع كاين فيه create custom account ضغط عليها غادي تعطيك الفورم.

الحساب الاول ديال ل buyer يعني باش تشري غادي تدخل المعلومات لي بغيتي والمهم هو فل balance دخل المبلغ لي بغيتي يكون عندك فالحساب باش تشري مثلا 100000 دولار.

غادي تعاود نفس العملية هاد المرة إختار merchant account يعني لي غادي يستقبل الاموال.

منبعد أسيدي غادي ترجع ل my apps & credentials وتضغط على create app منبعد دخل إسمها وربطها بحساب سواء ل buyer أو merchant لي بغيتي من بعد ضغط عليها فاش تزاد غادي تلقى Client ID هز ل clé ديالك به باش غادي تخدم من بعد فل header.php لي سبق وزدنا زيد هاد السطر فل head وبلاصت votre clé زيد ل Client ID ديالك دبا لخلاص ب paypal مفعل عندك فدير تجربة غادي تلقى ل paiement داز ول commande تسجلت وباش تأكد ضغط على ل buyer account فل balance غادي تلقى ل montant لي خلصتي تنقص وفل merchant تزاد 😊.

السطر لي غادي تزيد فل head هو :

                                                        
                                                            <script src="https://www.paypal.com/sdk/js?client-id=votre clé"></script>
                                                        
                                                    

دروس ذات صلة

PH

كيفاش تزيد المعلومات فقاعدة البيانات بإستعمال Ajax

فهاد الدرس غادي نقادو واحد المشروع بسيط لي عبارة عن chatbox الهدف هنا ماشي هو نديرو chat ولكن الهدف...


PH

كيفاش تصاوب إختبار بإستعمال PHP الجزء الأول

فهاد الدرس غادي نشوفو كيفاش نديرو نصاوبو واحد الإختبار بسيط هاد الإختبار غادي يطرح الاسئلة على المست...


PH

كيفاش تصاوب إختبار بإستعمال PHP الجزء الثاني

فهاد الدرس لي هو الجزء الثاني ديال كيفاش نقاد إختبار بإستعمال ل php غادي نكملو باقي الصفحات لي غادي...


PH

كيفاش نصاوب blog بل php الجزء الأول

فهاد المشروع غادي نشوفو كيفاش نقادو blog بإستعمال php كما غادي نشوفو كيفاش نسجلو المعلومات ديالنا فق...


PH

كيفاش نصاوب blog بل php الجزء الثاني

فهاد الجزء الثاني من هاد المشروع غادي نشوفو كيفاش نسجلو المعلومات ديالنا فقاعدة البيانات و كيفاش ند...


PH

كيفاش نصاوب blog بل php الجزء الثالث

فهاد الجزء الثالث من هاد المشروع غادي نكملو الملفات الخاصة بالأدمن وغادي نقادو الصفحات الرئيسية لي...


PH

كيفاش نصاوب blog بل php الجزء الرابع

فهاد الجزء الرابع غادي نشوفو كيفاش نزيدو système d'authentification لي غادي يمكن المستخدم من التسجيل...


PH

مشروع Photos Gallery بل PHP الجزء الأول

فهاد الدرس غادي نشوفو كيفاش نصاوبو واحد المشروع لي عبارة عن موقع للصور المستخدم كيدخل كيشاهد الصور و...


PH

مشروع Photos Gallery بل PHP الجزء الثاني

فهاد الجزء الثاني غادي نقادو الملفات لي غادي يمكننا من ربط الإتصال بقاعدة البيانات وغادي نزيدو الملف...


PH

مشروع Photos Gallery بل PHP الجزء الثالث

فهاد الجزء الثالث من المشروع ديالنا غادي نكملو الملفات لي غادي يمكنو من التعامل مع المعلومات الخاصة...