-
المساهمات
276 -
تاريخ الانضمام
-
تاريخ آخر زيارة
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد المصري12
-
نعم جربت لكن الاسعار ايضا اعلى بكثير من المزود المحلي بالتأكيد هناك طرق
-
سلام عليكم معلش انا سألت السؤال ده كتير لكن الاجوبة لم تكن شافيه مثلا انا سجلت في موقع وزارة الداخلية المصرية او وزارة الصحة ، و اتلقى رسائل sms دورية تلقائيه اضافة الى الرسائل التي تلقيتها عند التسجيل. جيد ، قمت مؤخرا بإعداد الوورد برس لموقع مستفى طلب اضافة تحديد مواعيد و استخدمت احد الاضافات الجيدة و تسمى Amelia وجدت ان بها بوابة لل sms ففرحت كثيرا و قلت في نفسي لربما يطلب مني api الخاص بمزود الخدمة في مصر لكنه قام بتحويلي الى موقع twilio الشهير ، لكن اكتشفت ان سعر الرساله في هذا الموقع قد تصل محليا إلى جنيهان و نصف و هذا مبلغ خرافي اذا علمت ان مزودي الخدمة في مصر يقومون بتقديم الرساله لك ب ثلاثون قرشا فقط و ربما بأقل من ذلك و مواقع كثيرة مصرية تستخدم خدمة ارسال الرسائل النصية عبر مزودي الخدمة في مصر ، يعني المستخدم يسجل تجيله رساله فورا برقم مصري مسجل باسم الجهة التي سجل فيها السؤال ازااااااي ؟؟ يعني كل اضافات الوورد برس الخاصة بالمواعيد بلا استثناء تعتمد على twilio و كل اضافات مجلة Joomla تعمد على twilio هل مثلا twilio ممكن يدعم API محلي بسعره ؟ مش منطقي طبعا طيب لو مثلا اضافة الوورد برس فيها خاصية integration عن طريق web hook هل دي ممكن تفيدني؟ طيب لو انا عاوز ابعت من رقمي الشخصي ، يعني بشكل او بآخر اخلي الرسائل بشكل تلقائي تتبعت من رقم تليفوني ؟ كل دي اسئلة بتدور في راسي ، محتاج بس فكرة ابدأ منها او خيط ابحث من خلاله مع وافر الشكر
- 2 اجابة
-
- 1
-
https://smsvas.vlserv.com/VLSMSPlatformResellerAPI/NewSendingAPI/api/SMSSender/SendSMS و ده ملف ال docs API Technical document V1.4.pdf
- 6 اجابة
-
- 1
-
ده من ال docs بتاعتهم API complete URL https://smsvas.vlserv.com/VLSMSPlatformResellerAPI/NewSendingAPI/api/SMSSender/SendSMS Request Values Sample (JSON) { "UserName":"myUser", "Password":"123456", "SMSText":"Test", "SMSLang":"e", "SMSSender":"Test", "SMSReceiver":"201542220154", "SMSID":"b0a3a0de-3748-4308-1f93-b6ce1a3a8108" }
- 6 اجابة
-
- 1
-
سلام عليكم عندي api من شركة مصرية تقدم خدمات رسائل sms بسعر ممتاز ازاي اقدر اربط ال api ده بالوورد برس مثلا او بفورم php يبعت رسالة للمستخدم بعد تعبئته ؟ اي افكار ابدأ منها
- 6 اجابة
-
- 1
-
سلام عليكم بضبط سايت لطبيب بالوورد برس و طالب اضافة تسمح للعملاء بتحديد مواعيد و طبعا كتير جدا الاضافات دي عادي طلبه تحديدا اضافة تدعم ارسال تنبيهات بالواتس اب و ال sms يعني لما المريض يحجز موعد يجيله رساله فورية على رقمه اللي اتسجل سواء واتس او sms الاضافة الوحيدة اللي لقيتها بتدعم ال 2 دول اضافة اسمها booknetic سعر رسالة ال sms من خلالهم تقريبا 3 جنيهات للرسالة و طبعا ده رقم كبير جدا جدا و مش سامحين اني اتعامل غير مع موقع https://www.twilio.com/ هل عند حضراتكم اي فكرة عن اضافة بديلة تسمحلي اني اتعامل مع مزود خدمة محلي لل sms و api ارخص شوية لل WhatsApp business ؟ و لو فيه اي حلول او افكار اخرى كلي اذان صاغية
-
سلام عليكم و رحمة الله الان عندي صفحة اضافة بيانات طباعة و نوع من الانواع يتتطلب له ادخال عدد الوان كما في الصورة لما المستخدم بيختار لونين مثلا ، خليت السيتيم يفتحله خانات لادخال البيانات بالعدد اللي اختاره و ده الكود بتاعها $(".colors-count-btn").on('click',function () { var count = $(".colors-count").val(); if (count>0){ $(".co").remove(); var col_inputs = ''; for (i=0 ; i<count ; i++) { col_inputs += ` <div class="col-6 co"> <label class="text-danger">درجة اللون رقم: ${i+1}</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-deg borders border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop"></i></span> </div> <input type="text" id="d_degree_${i}" class="form-control degree-code bg-liteRose borderd border-DarkBlood" required> <div class="input-group-append"> <button type="button" data-toggle="modal" data-target="#colorModal" id="degree_${i}" data-id="degree_${i}" class="btn btn-DarkBlood color-degree">إستخرج اللون</button> </div> </div> </div> <div class="col-6 co"> <label class="text-danger">بانتون كود رقم: ${i+1}</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-pant borderd border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop "></i></span> </div> <input type="text" class="form-control panton-code bg-liteRose borderd border-DarkBlood" id="p_degree_${i}" required> </div> </div> `; } $(this).parent().parent().parent().after(col_inputs); colorsStatus = true; } //console.log($(".color-degree")); }) خانة اللون زي محضراتكم شايفين اسمها ( degree-code ) و خانة البانتون اسمها ( panton-code) الخطوة التانية : - مررت البيانات دي في ال jQuery ajax كالتالي var colors = []; if (id == "سلك سكرين"){ var degreeColors = $(".degree-code"); // تعريف اللون var pantoneColors = $(".panton-code"); // تعريف البانتون for(var i = 0; i < degreeColors.length; i++){ colors[i] = []; colors[i].push($(degreeColors[i]).val()); colors[i].push($(pantoneColors[i]).val()); } } var colorsJSON = JSON.stringify(colors); var form_data = new FormData(); form_data.append('colors', colorsJSON); و جيت في الباك ايند دخلتها للداتابيز كالتالي <?php // ----- define variables ----------- $name = $_POST['name']; $stat = $_POST['stat']; $colors = json_decode($_POST["colors"]); $des = $_POST['des']; #---------------------------------- // ----- ادخال البيانات العادية الرئيسية ------------ $result = $conn->query("INSERT INTO print(CommonName, stat, des) VALUES ('$name','$stat','$des')"); // ------- اذا تم ادخال البيانات الرئيسيه بنجاح - ادخل لي الالوان كمصفوفة --------- if ($result) { if (sizeof($colors) != 0){ $last_id = $conn->insert_id; $query = "INSERT INTO print_colors (print_id, degree, panton) VALUES "; foreach ($colors as $k => $color){ $query.= "('$last_id','$color[0]','$color[1]')"; if ($k !== sizeof($colors) -1) { $query .= ','; } else { $query .= ';'; } } $result = $conn->query($query); } if ($result){ echo "done"; } else{ echo "Error: " . "<br>" . $conn->error; } } else { echo "Error: " . "<br>" . $conn->error; } } لحد كده الدنيا تمام جدا و البيانات ممتازة و دي من صفحة ال edit بعد ما جبت البيانات من الداتابيز و جبت البيانات كالتالي <?php $query1 = "SELECT * FROM `print_colors` WHERE print_colors.print_id =".$id.";"; // الاستعلام $result = $conn->query($query1); ?> <!-- If Print type is silk Screen - Display Colors --> <?php if ($user['stat'] == 'سلك سكرين'){ foreach ($result as $row){ ?> <div class="col-6 co"> <label class="text-danger">درجة اللون رقم: <?php echo $i; ?></label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-deg borders border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop"></i></span> </div> <input type="text" id="d_degree_${i}" class="form-control degree-code bg-liteRose borderd border-DarkBlood" value ='<?php echo $row['degree']; ?>' > <div class="input-group-append"> <button type="button" data-toggle="modal" data-target="#colorModal" id="degree_${i}" data-id="degree_${i}" class="btn btn-DarkBlood color-degree">إستخرج اللون</button> </div> </div> </div> <div class="col-6 co"> <label class="text-danger">بانتون كود رقم: <?php echo $i++; ?></label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text prev-pant borderd border-DarkBlood" id="inputGroupPrepend"><i class="metismenu-icon pe-7s-drop "></i></span> </div> <input type="text" class="form-control panton-code bg-liteRose borderd border-DarkBlood" id="p_degree_${i}" value="<?php echo $row['panton']; ?>"> </div> </div> <?php }} ?> الان انا عاوز المستخدم يعدل براحته على الالوان اللي ظاهرة دي ، و ادخل التغيير المطلوب في قاعدة البيانات بسهولة امر update لما نفذته جوا ال foreach ما زبطش معايا نهائي ازاي اقدر اعمل update لمصفوفة الالوان دي ، مع الشكر
-
شغال اخي ، يمكن عشان انت برا مصر جرب افتحه عن طريق proxy <!doctype html> <html class="no-js" lang="ar" dir="ltr" id="htmlTag"> <head> <meta charset="utf-8"> <title>وزارة الصحة والسكان المصرية - لقاح فيروس كورونا المستجد</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1, minimum-scale=1, user-scalable=no" /> <link rel="icon" type="image/x-icon" href="favicon.ico"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous"> <link rel="stylesheet" href="styles.dcb7b8c2f4497fddee1c.css"></head> <body> <!-- Version No. 1.0.29 --> <!-- Google Analytics --> <script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-185467712-2', 'auto'); </script> <!-- End Google Analytics --> <link rel="stylesheet" id="lang" href="assets/styles/style-ltr.css"> <app-root></app-root> <script type="text/javascript" src="runtime.26209474bfa8dc87a77c.js"></script><script type="text/javascript" src="es2015-polyfills.8324bb31dd8aa5f2460c.js" nomodule></script><script type="text/javascript" src="polyfills.8bbb231b43165d65d357.js"></script><script type="text/javascript" src="scripts.70d76f7af51fd5ea461d.js"></script><script type="text/javascript" src="main.bcab8247d099703a0cdc.js"></script></body> </html> هذا هو السورس كود فقط
- 4 اجابة
-
- 2
-
حاولت تفحص مصدر صفحة هذا الموقع : https://egcovac.mohp.gov.eg/#/home عن طريق : view-source:https://egcovac.mohp.gov.eg/#/home ولكنه لا يظهر عندي ، ما هي الطريقة المتبعة لإخفاءه السورس كود؟
- 4 اجابة
-
- 2
-
نجحت العملية ، شكرا جزيلا لك و لكل الاساتذة الافاضل
-
جربت اخي الفاضل هذه الطريقة لكن ايضا كما حدث مع الاساتذة الافاضل يرفض اي صورة حتى و ان لم تحقق الشرط <script> $(document).ready(function(){ $(".img-validate").change(function(){ var allowedTypes = [ 'image/jpeg', 'image/gif', 'image/png']; var file = this.files[0]; var fileSize = this.files[0].size; var img = document.getElementById('img'); var width = img.clientWidth; var height = img.clientHeight; var MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB // التحقق من الملف من خلال صيغته if (!file.name.endsWith('.jpg') && !file.name.endsWith('.jpeg') && !file.name.endsWith('.png') && !file.name.endsWith('.gif')){ alert('Restricted File Type, Please Select only image files'); $(".img-validate").val(''); return false; } else if (width > 200){ alert('stooooppppp'); $(".img-validate").val(''); return false; } else if (fileSize > MAX_FILE_SIZE) { alert('الحد الاقصى للصورة 5 ميجابايت'); $(".img-validate").val(''); } else { this.setCustomValidity(""); } }); }); </script>
- 7 اجابة
-
- 1
-
شكرا لك باش مهندس محمد ابو عواد المشكلة الان انه رافض كل الصور حتى لو ابعادها اقل من 200 و هو الشرط المطلوب اي صورة بيرفضها و يديني رسالة الخطأ الخاصة بالابعاد شكرا لك اخي الكريم تطلع معي نفس النتيجة اللي اخبرني بها المهندس محمد بيرفض اي صورة حتى الصور اللي حققت الشرط بيرفضها
- 7 اجابة
-
- 1
-
تجد كل الاجوبة على استفساراتك عبر الاطلاع على هذا الرابط https://academy.hsoub.com/learn/javascript-application-development/#AboutCourse موفق ان شاء الله
- 2 اجابة
-
- 1
-
سلام عليكم عملت سكربت للتحقق من امتداد الصورة و حجمها و ابعادها قبل رفعها $(document).ready(function(){ $(".img-validate").change(function(){ var allowedTypes = [ 'image/jpeg', 'image/gif', 'image/png']; var file = this.files[0]; var height = this.height; var width = this.width; var MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB var fileSize = this.files[0].size; // التحقق من الملف من خلال صيغته if (!file.name.endsWith('.jpg') && !file.name.endsWith('.jpeg') && !file.name.endsWith('.png') && !file.name.endsWith('.gif')){ alert('Restricted File Type, Please Select only image files'); $(".img-validate").val(''); return false; } // التحقق من ابعاد الصورة else if (height > 200 || width > 200) { alert('Dimention is too Large '); $(".img-validate").val(''); return false; } // التحقق من حجم الملف else if (fileSize > MAX_FILE_SIZE) { alert('الحد الاقصى للصورة 5 ميجابايت'); $(".img-validate").val(''); } else { this.setCustomValidity(""); } }); }); الشرط الخاص بالتحقق من الامتداد يعمل و ممتاز جدا الشرط الخاص بالتحقق من حجم الملف يعمل و ايضا ممتاز اما الشرط الخاص بالتحقق من ابعاد الصورة كأنه مش مكتوب ، لا يعمل نهائيا ما هو الخطأ
- 7 اجابة
-
- 3
-
محرر رائع جدا و فعلا خفيف عالجهاز ، لو الاقي فيه ميزة deploy to multi ftp server ( ارفع الملفات على اكتر من مسار ftp بنفس الوقت ) يبقى كده حقق الكمال معايا و الميزة دي بالذات اللي مخلياني ماسك في phpstorm رغم انه تقيييل
-
اضافة Atom one-liner package غير موجودة عندي و الأمر CTRL + ALT + B لم يفعل اي شئ
-
حاضر هجرب ، بس الملف يفتح بشكله الطبيعي على vs code و على notepad+ و على phpstorm فقط ATOM يظهر بهذا الشكل ال ال Encoding utf-8 بالفعل
-
سلام عليكم في محاولة لايجاد محرر به بعض مميزات phpstorm و الذي ارغب في تركه بسبب استهلاكه الكبير و الغير طبيعي لموارد الجهاز قمت بتجربة محرر ATOM و هي سريع الفتح لكن الكود يظهر عندي بالشكل التالي ليها حل و لا احذف البرنامج ؟؟؟
- 6 اجابة
-
- 1
-
نفس الشئ ، الله المستعان ، تعبتك معايا
-
جربت اغير الترتيب نفس الشئ جه في راسي اكرر الدمج و اغير شرط ON في كل مرة مع اعطاء اسم مختلف للجدول في كل دمج LEFT OUTER JOIN fibers top ON x.top = top.id LEFT OUTER JOIN fibers down ON x.down = down.id جايز اكون بخرف لكن الحقيقة انها اشتغلت كده و طلعت الناتج صح مش عارف اعتمد الاستعلام كده و خلاص و لا الطريقة غلط
- 10 اجابة
-
- 1
-
SELECT *, x.name AS aname, SUBSTRING(s.username, 1, 25) AS suppname, f.name AS fname FROM order_capsons oc LEFT JOIN suppliersdb s ON s.id = oc.factory LEFT JOIN capson x ON oc.capson_id = x.id LEFT JOIN fibers f ON ( x.top = f.id OR x.down = f.id ) WHERE order_id=".$order['id'].";"; نفس الشئ استاذي ، عند طباعة fname يخرج الاسم المقابل لل x.top و يتجاهل تماما x.down
-
غيرت الشرط استاذنا الكريم و نفس الناتج
-
الان لنفرض عندي جدول اسمه capson به حقلين احدهما اسمه top و الاخر down و هما يرمزان للخامة الخاصة بالكبسون و بهما ارقام ، هذه الارقام من المفترض ان نتوجه الى جدول آخر لمقارنتها به و من ثم احضار الاسماء الخاصة بهذه الخامات من هذا الجدول انا عملت الاستعلام كالتالي ، لكن للاسف غلط ، SELECT *, x.name AS aname, SUBSTRING(s.username, 1, 25) AS suppname, f.name AS fname FROM order_capsons o LEFT JOIN suppliersdb s ON s.id = o.factory JOIN capson x ON o.capson_id = x.id INNER JOIN fibers f ON ( x.top AND x.down = f.id ) WHERE order_id=".$order['id']."; لما بطبع نتيجة fname تظهر معي الاسم المطابق للرقم الموجود في x.down فقط انا عاوزه يقارن الرقم اللي موجود في x.top بال id الخاص بجدول الخامات fiber.id و يطبعلي الاسم المطابق و في نفس الوقت يقارن الرقم اللي موجود في x.down بنفس جدول الخامات fiber.id و يطلعلي النتيجة المطابقة هل من سبيل
- 10 اجابة
-
- 1
-
سلام عليكم الاستعلام كالتالي SELECT * , o.factory AS newfactory, // رقم المورد x.name AS aname FROM order_threads o JOIN thread x ON o.thread_id = x.id JOIN fibers f ON f.id = x.fiber JOIN suppliersdb s ON o.factory = s.id // ربط جدول الموردين بجدول الطلب حتى يتم استدعاء اسم المورد الموافق للرقم WHERE order_id=".$order['id']."; زي منا عامل في الكومنت انا عندي جدول order_threads و داخله حقل اسمه factory بيدخل فيه المورد بالرقم بتاعه مش بالاسم طيب عاوز لما اطبع التقرير اظهر الاسم الموافق للرقم ، المفروض اني اروح لجدول الموردين supplierdb و اعمل علاقة بين اي دي المورد supplierdb.id و بين الرقم اللي موجود في حقل factory بجدول order threads (order_threads.factory) عملت العلاقة دي فعلا بس ما ظهرليش كل النتايج ، نتيجة واحدة بس من اصل 3 ببساطة عاوزه يظهرلي النتائج من جدول order_threads مهما كان عددها طالما حققت شرط ال WHERE بس بدل ما يطبعلي رقم المورد من حقل order_thread.factory يطبعلي اسمه من جدول suppliersdb حقل username لما يلاقي ان id المورد متوافق مع الرقم الموجود في حقل factory ايه خطأي؟
- 1 جواب
-
- 1