اذهب إلى المحتوى

Karem Mohammed2

الأعضاء
  • المساهمات

    10
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Karem Mohammed2

  1. بتاريخ 12 دقائق مضت قال Adnane Kadri:

    فكرة تأكيد الإيميل في مضمونها هي فكرة بسيطة ولا تحتاج إلا تطبيقا عمليا صحيحا وتكاملا بين مختلف مكونات التطبيق بصورة صحيحة. فيما يلي الخطوات العامة لذلك:

    1. في جدول المستخدمين أضف حقلا/عمودا يحمل قيمة بوليانية Boolean تعبر عما ان كان المستخدم حاليا قد قام بتأكيد عنوان بريده الإلكتروني أو لا. ولتكن email_is_verified وتحمل القيمة false بشكل افتراضي. يضاف أيضا حقل/عمود يحمل سلسلة نصية تعبر عن كود التفعيل الخاص بالمستخدم وليكن email_verification_token.
    2. في كل تسجيل جديد سوف يتم تعيين قيمة email_is_verified بـ false، كما يتم توليد سلسلة نصية عشوائية تعبر عن كود التفعيل.
    3. في كل تسجيل جديد يتم ارسال رسالة الى البريد الالكتروني في عنوان البريد المرفق، بحيث تحمل زرا يقوم بإعادة التوجيه إلى التطبيق حاملا قيمة رمز token كمعامل query param مثال:
      https://yourdomain.co/email/verify?token=PUT_TOKEN_HERE

      طبعا فإن الهيكلة الموافقة يتم بناءها وارسالها كرسالة HTML الى عنوان المستخدم.

    4. يقوم التطبيق بالمسار السابق بفحص قيمة token المرسلة في الطلب والتأكد مما ان كانت مطابقة لقيمة token المسجلة في قاعدة البيانات.
    5. في حال كان ذلك، يتم تأكيد عنوان المستخدم، وفي حال لم يكن يتم اخبار المستخدم بذلك.

    بين كل هذا وذاك، يجب بطبيعة الحال تقييد الوصول إلى بعض ميزات التطبيق للمستخدمين الذين لم يقوموا بتفعيل عناوين البريد الالكتروني الخاص بهم. 

    وهي لا تكلف أي مال بطبيعة الحال، عدى تكاليف الاستضافة.

    كيفية ارسال البريد تلقائي 

    • أعجبني 1
  2. بتاريخ 2 دقائق مضت قال Adnane Kadri:

    لا يبدوا بالرابط المرفق أي مشكلة، يتم ارسال رد بشكل جيسون بشكل عادي تماما. 

    يرجح أن هنالك مشكلة بالتعامل مع الرد من خلال شيفرة PHP لديك، قد يكون هنالك حاجة إلى استخدام json_decode لتحليل كائن جيسون واستخراج التواقيت المرادة، 

    فيما يلي مثال عن كيفية ذلك بصورة صحيحة:

    <?php
    
    $endpoint = 'https://api.aladhan.com/v1/calendarByCity/2017/4?city=London&country=United';
    
    $response = file_get_contents($endpoint);
    
    
    
    $data = json_decode($response, true);
    
    foreach ($data['data'] as $day) {
        $date = $day['date']['gregorian']['date'];
        $prayerTimes = $day['timings'];
        
        echo "تاريخ: $date <br>";
        echo "مواقيت الصلاة:<br>";
        
        foreach ($prayerTimes as $name => $time) {
            echo "$name: $time<br>";
        }
        
        echo "<br>";
    }

    يتم هاهنا استعرض مختلف تواقيت الآذان لسنة 2017 في المدينة المستدفة والبلد المستهدفة,

     

    بتاريخ 2 دقائق مضت قال Adnane Kadri:

    لا يبدوا بالرابط المرفق أي مشكلة، يتم ارسال رد بشكل جيسون بشكل عادي تماما. 

    يرجح أن هنالك مشكلة بالتعامل مع الرد من خلال شيفرة PHP لديك، قد يكون هنالك حاجة إلى استخدام json_decode لتحليل كائن جيسون واستخراج التواقيت المرادة، 

    فيما يلي مثال عن كيفية ذلك بصورة صحيحة:

    <?php
    
    $endpoint = 'https://api.aladhan.com/v1/calendarByCity/2017/4?city=London&country=United';
    
    $response = file_get_contents($endpoint);
    
    
    
    $data = json_decode($response, true);
    
    foreach ($data['data'] as $day) {
        $date = $day['date']['gregorian']['date'];
        $prayerTimes = $day['timings'];
        
        echo "تاريخ: $date <br>";
        echo "مواقيت الصلاة:<br>";
        
        foreach ($prayerTimes as $name => $time) {
            echo "$name: $time<br>";
        }
        
        echo "<br>";
    }

    يتم هاهنا استعرض مختلف تواقيت الآذان لسنة 2017 في المدينة المستدفة والبلد المستهدفة,

     ولو عايز الصلاة باليوم تظهر نتيجة واحدة بدون البحث 

    • أعجبني 1
  3. بتاريخ 13 ساعات قال عبود سمير:

    تحتاج إلى إستخدام تقنية Ajax و هي عبارة عن وسيلة لجلب البيانات من الخادم دون الحاجة لإعادة تحميل الصفحة: اعرف أكثر عن Ajax

    مثال بإستخدام jQuery و لغة php:

    
    $(function() {
      $('#myBtn').on('click', function(){
        var id= $('#myInput').val();
        if(id != '')
        {
          $.ajax({
            url:"fetch.php",
            method:"POST",
            data:{id:id},
            dataType:"JSON",
            success:function(data)
            {
    
              console.log(data);
              
              // data is available do what u want here
    
            }
          })
        }
        else
        {
          alert("Please enter a valid id");
        }
      });
    });

    هنا يتم التسمع على حدث الضغط على الزر المطلوب، و معالجة الحدث بجلب ماتم إدخاله من طرف المستخدم، التحقق من الإدخال و التأكد من أنه ليس فارغ و إلا عرض رسالة تشير للمستخدم بضرورة إدخال id.

    إرسال طلب ajax للخادم في حالة تحقق الشرط يشمل ال id الذي تم إدخاله، معالجة الطلب في الملف fetch.php و إرجاع البيانات التي ستُصبح متاحة في حال نجاح الطلب و هو ما يتم عرضه بداخل success.

    ملف الخادم حسب اللغة التي تريد إستخدامها هنا في المثال نستخدم php لذلك الملف سيكون مشابه لـ:

    
    <?php
    //fetch.php
    if(isset($_POST["id"]))
    {
      $connect = mysqli_connect("localhost", "root", "", "testing"); // الإتصال بقاعدة البيانات
      $query = "SELECT * FROM tbl_name WHERE id = '".$_POST["id"]."'";  // بناء الإستعلام
      $result = mysqli_query($connect, $query); // تنفيذ الإستعلام
      while($row = mysqli_fetch_array($result)) // إنشاء مصفوفة حسب البيانات التي نريد إرجاعها
      {
        $data["column1"] = $row["column1"];
        $data["column2"] = $row["column2"];
        $data["column3"] = $row["column3"];
        // ...
        // ...
        // ...
      }
    
      echo json_encode($data);
    }
    ?>

    طريقة العرض في الصفحة تعتمد عليك، يتم ذلك من خلال دالة المعالجة success حيث تستهدف العناصر في الصفحة من خلال تحديدها عن طريق المُعرف أو أي محدد ثم تحقن بداخلها البيانات التي جُلبت، بفرض أنه جلبنا الحقل name و بداخل الصفحة هناك عُنصر مثلا h3 و يحمل المُعرف nameEl فنُحدد العُنصر عن طريقه ثم بإستخدام التابع text نضع القيمة بداخله بهذا الشكل:

    
    $('#nameEl').text(data.name);

    ولو صورة

    • أعجبني 1
  4. السلام عليكم 

    انا اعمل مشروع تجريبي واجهتني مشكلة لان في المشروع اريد اعمل صفحة اكتب فيها كود رقم (id) وتجلب كل البيانات الخاصة بهاذا الشخص سواء كانت صورة أو اسم وكل هذا بدون تحديث للصفحة

    بمعنى اريد ان اعمل input لإدخال id ثم اضعط على زر يجلب لي هذه البيانات من داتا بيز دون تحديث الصفحة وهذه البيانات عبارة عن صورة واسم وتظهر بنفس الصفحة 

    برجاء المساعدة

    • أعجبني 1
×
×
  • أضف...