-
المساهمات
4914 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
61
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد عاطف17
-
من الافضل نقل هذا المجلد بداخل المشروع و كتابة المسار هكذا . require 'vendor/autoload.php'; لان المجلد بداخل ملفات الويندوز واعتقد ان الخطأ يحدث لان المشروع ليس له الصلاحيات للوصول لهذا المكان. لهذا من الافضل نقله بداخل المشروع كمل وضحت لك.
-
الخطا لديك هنا يبدو ان المسار الذى قمت بادخاله خاطئ لذلك قم بتحديد مسار ملف ال autoload الصحيح ووضعه هنا فى هذا السطر
-
وعليكم السلام ورحمة الله وبركاته . هل يتم توليد صورة ال qrcode بشكل صحيح ؟ تاكد من الصورة يتم توليدها بشكل صحيح اولا وفى المسار الذى حددته انت فى الكود /img/qr يمكنك ارسال الصور عن طريق تضمين الصورة فى الايميل عن طريق الدالة AddEmbeddedImage حيث تستقبل عدة معاملات ما نريده هو اول معاملين , حيث اول هو مسار الصورة وثانى معامل هو cid اى الاسم المستعار الذى ستقوم باستعماله فى رسالة الايميل ويمكنك استعماله هكذا cid:name واستبدال name بالاسم الذى قمت بتمريرة للدالة . <?php include('header.php'); use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; // require 'C:\Windows\System32\vendor/autoload.php' require 'include/phpqrcode/qrlib.php'; // ?> <!--------------------------------------------------------------------------------> <!------------------------------------header--------------------------------------> <!--------------------------------------------------------------------------------> <div class="col-md-9 pan1"> <ol class="breadcrumb" style="background-color: #fff;padding-top:8px;padding-bottom:8px;color:#000;font-size:16px;"> <li><a href="projetcs.php">المشاريع</a></li> <li class="active">القبول</li> </ol> </div> </div> <div class="row"> <div class="col-md-9 pan1"> <div class="panel" style="color:#000;"> <div class="panel-body" style="font-size:14px; padding-left:40px;padding-right:40px;padding-bottom:25px;padding-top:25px;"> <?php if(isset($_GET['id'])){ // $id_p = intval($_GET['id']); $sql = "SELECT * FROM `show_projects_adm` WHERE id_Pro=$id_p"; $query_p = mysqli_query($con,$sql); $rows_p = mysqli_fetch_array($query_p); // $id_pro = intval($_GET['id']); $querypost2="SELECT * FROM `projects` WHERE `id_Pro`=$id_pro"; $result2=mysqli_query($con,$querypost2); $rows2=@mysqli_fetch_array($result2); $id_std = $rows2['Num_STD']; // //$id_std = intval($_GET['id']); $querypost="SELECT * FROM `student` WHERE `id_std`=$id_std"; $result=mysqli_query($con,$querypost); $rows=@mysqli_fetch_array($result); $email_std = $rows['Email_STD']; // // البيانات التي تريد تضمينها في رمز الاستجابة السريعة (QR code) $data = $rows_p['desc_Project']; // اسم الملف الذي يتم حفظه (يمكنك تغييره إلى أي اسم تفضله) $filename = 'img/qr/'.$rows_p['id_Pro'].'_qrcode.png'; // إنشاء رمز QR وحفظه في الملف المحدد QRcode::png($data, $filename); // // Create a new PHPMailer instance $mail = new PHPMailer(true); try { // Server settings $mail->isSMTP(); $mail->Host = 'aaa'; // SMTP server $mail->SMTPAuth = true; $mail->Username = 'aa'; // SMTP username $mail->Password = 'aa'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to $mail->CharSet = 'UTF-8'; // Sender and recipient $mail->setFrom('info@aa.com', 'موقع koora'); $mail->addAddress($email_std, 'info'); // Email content $mail->isHTML(true); $mail->Subject = 'قبول المشروع من قبل اللجنة'; $mail->addEmbeddedImage($filename, 'qrcode'); // $mail->Body = '<h3>تم القبول المشروع الخاص بك بنجاح</h3>'; $mail->Body= 'qrcode <img src="cid:qrcode" alt="cid:qrcode">'; // Send email $mail->send(); //echo 'Email has been sent successfully'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } //$message = "لقد م قبول تم قبول المقترح بنجاح"; //$headers = "From: info@aa.com"; /// Send // mail($email_std, 'تم قبول المقترح بنجاح', $message); $sql = "UPDATE `projects` SET `Stat`=1 WHERE `id_Pro`='".intval($_GET['id'])."'"; mysqli_query($con,$sql); echo '<div class="col-md-12">'; echo '<div class="text-center alert alert-success" role="alert">تم قبول بنجاح</div>'; echo '<meta http-equiv="refresh" content="3;url=projetcs.php" />'; echo '</div>'; //$send = mysqli_real_escape_string($con,$_POST['username']); /* if(isset($_POST['submit'])){ } */ } ?> </div> </div> </div> </div> <?php include('footer.php'); ?> وهذا الكود بعد التعديل
- 6 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . نعم يمكنك استخدام الدالة gcd فى numpy التى تسمح لك بتمرير رقمين لها وتقوم بارجاع لك ناتج القسمة المشترك الاكبر "Greatest common divisor" . وهذا كود للتوضيح. import numpy as np num1 = 6 num2 = 9 x = np.gcd(num1, num2) print(x) #3 ويمكنك ايضا استخدمها على مصفوفة تحتوى على عدة ارقام و تقوم بارجاع ناتج القسمة الاكبر لجميع هذه الارقام معا . وهذا هو الكود الخاص بها . import numpy as np arr = np.array([20, 8, 32, 36, 16]) x = np.gcd.reduce(arr) print(x) #ُ4
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . المطلوب هو ان تقوم بانشاء دالة تاخذ اول معامل وهو عبارة عن dictionary اى مصفوفة تحتوى على الاسماء الخاصة بالمنتجات وعددها الموجود لديك فى المخزن . والمطلوب هو التكرار على هذا ال dictionary ورؤية اذا كان لديك مخزون كافى لتقوم بالبيع للعميل . حيث ان ثانى معامل هو اسم المنتج الذى يرد ان يقوم بشراءه والاخير هو عدد المنتجات . الخطأ لديك انك تقوم باستقبال سلسلة نصية وليس dictionary
- 13 اجابة
-
- 1
-
-
العفو اخى الكريم . نعم يمكن وضع العنصر كاملا داخل عنصر جديد ويجب على هذا العنصر ان يحتوى خاصية position:relative ووضعه قبل ال footer ولكن تاكد من هذا العنصر طوله مثل طول العنصر عند فتحه حتى لل يحدث مشكلة . واذا اضفت مزيد من العناصر فللاسف لن يظهر سوى العناصر التى تساوى طول الصفحة حاول جعل ال body يحتو على height كبير بحيث يظهر شريط التمرير سيعمل معك . كما وضحت لك فان العنصر سيكون عائما اى اذا طوله اصبح اكبر من طول الصفحة فان الباقى لن يظهر لانه اصبح خارج الصفحة. هناك حل اخر باستخدام الجافا سكريبت يمكنك الشرجوع الى التصميم الاساسى الخاص بك وعند الضغط وبعد عمل ال transition قم بعمل scroll لاسفل الصفحة بالجافاسكريبت واعتقد ان هذا الحل المناسب لما تريد ان تقوم به .
- 4 اجابة
-
- 2
-
-
وعليكم السلام ورحمة الله وبركاته . الخطأ لديك اخى الكريم فى العنصر الذى يحتوى على السمة feedback-v2 فلاحظ انك لتضع مكانه فى اخر الصفحة قمت باستخدام الخاصية margin-top وهى تقوم بوضع مسافات بين العناصر وبذلك وضعت مسافة بين هذا العنصر وبداية الصفحة . وعندما تقوم بعمل ال transition فان طول العنصر يصبح اكبر وبذلك المكان الخاص بالعنصر يتغير ويقوم بازاحة العناصر الاخرى لذلك يحدث تمرير للصفحة . ولحل تلك المشكلة فيجب علينا ان نحذف العنص من ال flow بحيث لا يتعامل مع العناصر الاخر فلا يوثر على مكانها . ويمكننا استخدام الخاصية postion:absolute فهذه الخاصية تقوم بحذف العنصر من ال flow ويصبح كانه عائما فى الصفحة فلا يؤثر على اماكن العناصر التى معه وبذلك طول الصفحة . فيمكنك حذف ال margin-top واضافة تلك الخصائص فى السمة feedback-v2. position: absolute; bottom: 0; واذا اردت ان تجعل هذا العنصر ثابت تماما فى اخر الصفحة حتى معى التمرير يظل ثابت قم بوضع fixed بدلا من absoulte وهاتين الطريقتين ستحل لك المشكلة فيمكنك استخدام ما تريد منهما
- 4 اجابة
-
- 2
-
-
هل هذا المسار صحيح ويوجد الملف بداخله ؟
-
لجعل ملف يتم تحميله يجب الذهاب للمسار الخاص به . حاول ان تذهب الى عنوان ملف backup.php فى المتصفح و استبدله باسم ملف نسخه احتياطيه لديك على الاستضافه واخبرنى اذا تم تحميله ام لا. وايضا قارن المسار الذى يتم تحويلك له عند الضغط على زر تحميل والمسار الذى سوف تقوم بكتابته يدويا واخبرنى بالفرق .
-
وعليكم السلام ورحمة الله وبركاته . لغة بايثون لا يوجد بها null كما فى اللغات الاخرى ولكن بديل لها هى None . وكما فى اللغات الاخرى فان None فى بايثون تشير ايضا الى لاشئ او شئ فارغ لا قيمة له . والفرق ان None فى بايثون ليست قيمة بل هى كائن . وتستخدم None لتهيئة المتغيرات قبل ان نعطيها اى قيمة هكذا مثلا . a = None b = None ومن ثم من الممكن ان نتتحقق لاحقا فى الكود هل تم اسناد قيم ام لا عن طريق الكود التالى . a = None if a is None: print('empty') اذا كما وضحت فان None فى بايثون هى الكلمة المفتاحية المكافئة ل Null فى اللغات الاخرى
- 3 اجابة
-
- 1
-
-
الحل يعتمد على مكان حفظ الملفات لديك وهل تقوم باستخدام اطار عمل لانشاء ال routes ام لا . وايضا من الممكن انك لا تسمح بتحميل الملفات لديك على الاستضافة عن طريق htaccess مثلا. لذلك هل يمكنك توضيح لى مكان ملف php الذى ارفقته فى السؤال ؟ وهل ملفات ال النسخ الاحتياطى يتم انشاءها فى نفس المكان بجوار الملف php ؟ وهل يمكنك ارسال الرابط الذى كان يذهب اليه قبل تعديل الكود كما اخبرتك ؟ لانى قد قمت بتجربة الكود الذى ارفقته لك وهو يعمل جيدا لدى لان الملفات موجودة بجوار ملف ال php و ايضا لم اقم بحذر الوصول اليها .
-
يبدو انك لم تضع السطر الذى قمت بارفاقه لانه مازال يعيد توجيهك الى المسار الكامل للمشروع لذلك من فضلك قم باستبدال هذا السطر بما لديك واخبرنى.
-
هل يمكنك ارسال صورة للصفحة ؟ وايضا العنوان الذى يتم توجيهك اليه ؟
- 14 اجابة
-
- 1
-
-
الخطأ لديك فى هذا السطر . حيث انك تقوم بتوجيه المستخدم الى كامل مسار المجلد و هذا خطأ يجب ان تقوم بتوجيهه الى المسار النسبى للملف . ويمكنك استخدام هذا السطر وقد قمت بتجربته ويعمل جيدا . echo '<p><a href="' . substr(__DIR__, strlen($_SERVER['DOCUMENT_ROOT'])) . '/' . $filename . '" target="_blank">اضغط هنا للتحميل ملف النسخ الأحتياطي</a></p></h3>';
-
وعليكم السلام ورحمة الله وبركاته . كيف لا يعمل ؟ هل يمكنك ارسال صورة للخطأ . لفتح موجه الاوامر فى vs code يجب الضغط على زر CRTL مع ~ . وهى حرف ذ فى لوحة المفاتيح لديك . او يمكنك الذهاب الى قائمة terminal ومن ثم new terminal .
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. هذه الطريقة ليست جيدة و تحتوى على كثير من المشاكل . اولا بالنسبة للارشفة ومواقع البحث SEO فان هذه الطريقة ليست جيدة لانها تعتمد على المتصفح الخاص بالمستخدم ومواقع البحث لا تقوم بفتح الموقع ولكن تكتفى بالرد الذى ياتى من الخادم وبذلك فانها سترى ان محتوى الصفحة هو div فارغ . ثانيا بالنسبة لسرعة التنفيذ فان هذه الطريقة ستسبب بطئ شديد اذا تم استخدامها بطريقة خاطئة فان كنت تستعمل فانيلا جافا سكريبت للتعامل مع ال DOM مباشرة فان حذف عنصر او اضافة عنصر او حتى تعديله فانه سيتسبب فى اعادة بناء ال DOM من جديد واذا كان محتوى الصفحة كبير فان تكلفة اعادة البناء عالية وستزعج المستخدم حيث سيلاحظ بطئ التصفح على الموقع . واطر العمل تعتمد على Virtual DOM وهى اسرع من ال DOM . وايضا من الممكن ان تسبب ثغرات فى الموقع اذا كان الكود كبير ومعقد واذا حدث خطأ فليس من السهل تصحيحه.
- 3 اجابة
-
- 1
-
-
واياكم اللهم امين اخى الغالى
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة اله وبركاته .رمضان مبارك علينا جميعا، نعم بالفعل توجد طريقتان تمكنك من تنفيذ ذلك . اول طريقة وهى فى نظرى معقدة بالنسبة لما تريد تنفيذه . وهى استخدام خاصية clip-path فى css وهى تسمح لك بقص الصورة واظهار جزء فقط منها ولكنها تحتاج ان تمرر لها القيم التى تريد ان تقص منها . clip-path: polygon(99% 0, 98% 18%, 96% 38%, 98% 60%, 97% 82%, 94% 100%, 0 100%, 0% 43%, 0 0); يمكنك استخدام تلك القيمة . وهذا رابط لموقع يمكنك من خلاله تجربة القيم التى تريدها . والطريقة الثانية هى خاصية mask وهى تمكنك من وضع صورة فوق صورة ودمجهم فيجب ان تكون الصورة التى فى ال mask تحتوى على لونين لون اسود او ابيض ومن خلال الخاصية mask سيتم دمج الصورتين واظهار المكان فى الصورة الاصلية الذى بالاسود واخفاء الجزء الذى بالابيض وهذه الصورة توضح ما اقصد. <!DOCTYPE html> <html> <head> <style> .mask1 { -webkit-mask-image: url(w3logo.png) ; mask-image: url(w3logo.png); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; } </style> </head> <body> <h1>The mask-image Property</h1> <h3>An image with a mask layer image:</h3> <div class="mask1"> <img src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400"> </div> <h3>Original image:</h3> <img src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400"> <h3>Mask image:</h3> <img src="w3logo.png" alt="Cinque Terre" width="" height=""> </body> </html> وهذا هو الكود الخاص بها يمكنك التعديل عليه و تجربته ولكن سيتوجب عليك تعديل الصورة zigzag حيث يجب ان تجعل الجزء الايمن منها كله بالابيض حتى تعمل معك هذه الطريقة.
- 4 اجابة
-
- 2
-
-
وعليكم السلام ورحمة الله وبركاته. هذه الطريقة ليست جيده اولا للارشفه وايضا لحجم الصفحة الكبير و غير هذا سرعة الصفحة ستكون بطيئة مما يجعلها ليست جيدة للارشفة. بالنسبة للارشفه فان محتو الصفحة سيكون واحد لل10 صفحات لان الارشفة تتم على المحتوىليس على طريقة العرض فى المتصفح. ثانيا اذا كان هيكل الصفحة كبير سيؤثر على سرعة ظهور الصفحة وتحميلها وسيؤثر على الارشقه بالفعل . اذا كنت تسخدم php او اى لغه اخرى يمكن وضع شرط تحقق وعلى اساس هذا الشرط يتم ارجاع صفحة ال html وبهذا محتوى الصفحة سيكون متغير وليس ثابتا
-
اعتقد ان هذه الاضافة هى المسئولة عن ذلك . يمكنك الضغط على هذا الزر واختيار كلمة disable ومن ثم اعادة فتح ال vs code مرة اخرى . اذا لم يتم حل المشكلة يمكنك استخدام هذه الطريقة لكل الاضافات الخاصة بال css لديك حتى تصل الى الاضافة المطلوبة ومن ثم حذفها . واذا اردت تفعيل الاضافة مرة اخرى قم بالضغط على نفس الايقونة ومن ثم اختار enable
-
يمكنك الضغط على هذه الايقونة والتى ستقوم باظهار لك الاضافات المثبته لديك ومن خلالها ايضا يمكنك تثبيت اى اضافة تريد
- 12 اجابة
-
- 1
-
-
يبدو انه لديك اضافة Remix Icon الخاصة بمكتبة https://remixicon.com/ . اذا لم تكن تستعمل هذه المكتبة فمن الافضل حذف الاضافة الخاصة بها . يمكنك تصوير الاضافات لديك لاخبرك الاضافة التى تظهر لك هذه التوصيات
- 12 اجابة
-
- 1
-
-
اذا كنت تقصد عدد المكتبات المثبته على جهازك ككل يمكنك استعمال امر pip list اما اذا كنت تقصد مشروع معين فيمكنك فتح ملف Pipfile وبداخله سيخبرك بالمكتبات التى تم تثبيتها اذا كنت تستعمل pipenv. وهنا تحت جزء packages فهذه هى المكتبات التى يعتمد عليها المشروع ويجب تثبيتها ليعمل جيدا معك.
- 12 اجابة
-
- 1
-