لتحقيق هذا الهدف، يمكنك استخدام الدالة in_array() التي تقوم بفحص ما إذا كان عنصر محدد موجودًا في مصفوفة معينة. يمكنك استخدام هذه الدالة لفحص ما إذا كانت قيمة كلمة المرور المقدمة من المستخدم موجودة في مصفوفة كلمات المرور التي تم تعريفها.
يمكنك استخدام الكود التالي لتحقيق هذا الهدف:
<?php
session_start();
$passwords = array('123456', 'xxxx', '7777', '8888', '9999');
if (!isset($_SESSION['loggedIn'])) {
$_SESSION['loggedIn'] = false;
}
if (isset($_POST['password'])) {
if (in_array($_POST['password'], $passwords)) {
$_SESSION['loggedIn'] = true;
} else {
die ('Incorrect password');
}
}
if (!$_SESSION['loggedIn']):
?>
<html><head><title>Login</title></head><body>
<p>You need to login</p>
<form method="post">
Password: <input type="password" name="password"> <br />
<input type="submit" name="submit" value="Login">
</form></body></html>
<?php
exit();
endif;
echo '<h1> hello world ... Logged in successfully..';
?>
تم تعريف المصفوفة $passwords لتحتوي علي الكلمات المرور المطلوبة للدخول. ثم تم استخدام دالة in_array() لفحص ما إذا كانت قيمة كلمة المرور المقدمة من المستخدم موجودة في هذه المصفوفة. إذا تم العثور على القيمة المطلوبة، يتم تعيين:
$_SESSION['loggedIn']
إلى true، وإذا لم يتم العثور على القيمة المطلوبة، يتم عرض رسالة خطأ ويتم إيقاف التشغيل.
دورة تطوير التطبيقات باستخدام JavaScript العديد من التطبيقات العملية التي علي ReactJS وهي:
مشروع تطبيق ملاحظات
بإنشاء تطبيق أسئلة وأجوبة باستخدام Next.js التي تستخدم ReactJS.
تطبيق دردشة يشبه WhatsApp
تطبيق حجز مناسبات
سؤال: لكن هل يوجد تطبيقات عملية عديدة تجعلني مؤهل لسوق العمل بـ React ؟
الإجابة: نعم, وسوف يكون من الجيد وضع هذه المشاريع في معرض اعمالك.
سؤال: بل ارى تقنيات مختلفة في المسارات الاخرى ( في العنوان )
الإجابة: كل هذه المسارات تستخدم ReactJS كواجهة مستخدم.
الكود الخاص بك جيبد ولكن ليس منظم بشكل جيد, غير أنك لا تحتاج إلى استخدام الخاصية grid-template-areas.
أنظر إلي هذا الكود وقارن بينه وبين الكود الخاص بك وسوف تتعلم الكثير.
HTML
<!DOCTYPE html>
<html lang="en" style="font-family: Arial, Helvetica, sans-serif">
<head>
<meta charset="UTF-8" />
<title>CSS</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="layout">
<div class="grid">
<div class="item-a">
<p class="name">Osama Mohamed</p>
<p class="job">Full-Stack Developer</p>
<p class="about">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
hendrerit arcu sed erat cursus, eu rutrum nisl rhoncus. Morbi semper
purus in justo tempus volutpat. Pellentesque dui eros, vulputate
eget dui eget, imperdiet mollis justo. Cras dignissim libero sed
velit efficitur porta.
</p>
<p>
Donec vulputate tellus id lacus hendrerit semper. Phasellus
dignissim eros sed dolor elementum malesuada. Nulla malesuada tempus
libero rutrum accumsan. Fusce consectetur enim vitae ex fermentum,
ut maximus sem congue. Donec laoreet semper mi id accumsan. Nulla
accumsan faucibus lorem, et ultrices risus pharetra eu. Nullam sit
amet lorem ac libero commodo dapibus eu vel velit.
</p>
<span>″</span>
</div>
<div class="item-b">
<p class="name">Ahemd Sayed</p>
<p class="job">IOS Developer</p>
<p class="about">
Duis ullamcorper rutrum posuere. Mauris a dolor sed tortor consequat
laoreet. Sed condimentum, erat porta sagittis blandit.
</p>
<p>
Suspendisse consequat a justo quis vulputate. Quisque pharetra neque
tempus augue consectetur pharetra. Curabitur lobortis aliquet turpis
eget blandit. Fusce vel vulputate libero.
</p>
<span>″</span>
</div>
<div class="item-c">
<p class="name">Shady Nabil</p>
<p class="job">Full-Stack Developer</p>
<p class="about">
Vivamus consequat ultrices ante finibus dignissim. Fusce tincidunt
suscipit tortor ac suscipit. Suspendisse vehicula accumsan libero,
ac lobortis risus vehicula a. Nam eget orci nunc. Aliquam facilisis,
urna vitae molestie dapibus, ante nisl efficitur quam, et efficitur
sem elit vitae sem. Cras egestas malesuada metus sit amet
sollicitudin.
</p>
<p>
Sed ut viverra augue, vel tincidunt metus. Phasellus ac suscipit
odio. Aliquam vehicula augue sed euismod vehicula. Curabitur luctus
neque a enim commodo, ut posuere orci viverra. Class aptent taciti
sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos. Pellentesque id elementum mi. Fusce metus lectus, iaculis
et est quis, condimentum ornare urna.
</p>
<span>″</span>
</div>
<div class="item-d">
<p class="name">Mohamed Ibrahim</p>
<p class="job">.Net Developer</p>
<p class="about">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
hendrerit arcu sed erat cursus, eu rutrum nisl rhoncus. Morbi semper
purus in justo tempus volutpat.
</p>
<p>
Pellentesque dui eros, vulputate eget dui eget, imperdiet mollis
justo. Cras dignissim libero sed velit efficitur porta sit amet a
urna. Sed ex sapien, finibus sed erat a, sodales tristique mauris.
Phasellus vel finibus ligula. Nunc at magna non sem finibus accumsan
eget eu dui. Nam ac enim quis elit dignissim dictum. In et laoreet
diam, at dignissim mi. Ut iaculis nisi libero, tempor tincidunt
libero rhoncus ac.
</p>
<span>″</span>
</div>
<div class="item-e">
<p class="name">Mahmoud Mohamed</p>
<p class="job">Full-Stack Developer</p>
<p class="about">
Donec vulputate tellus id lacus hendrerit semper. Phasellus
dignissim eros sed dolor elementum malesuada. Nulla malesuada tempus
libero rutrum accumsan. Fusce consectetur enim vitae ex fermentum,
ut maximus sem congue.
</p>
<p>
Donec laoreet semper mi id accumsan. Nulla accumsan faucibus lorem,
et ultrices risus pharetra eu. Nullam sit amet lorem ac libero
commodo dapibus eu vel velit. Cras in arcu orci. Ut vitae dolor non
dolor volutpat eleifend. Maecenas lacinia, velit eu iaculis iaculis,
sem nisi mollis ex, a imperdiet lorem dolor nec augue.
</p>
<span>″</span>
</div>
<div class="item-f">
<p class="name">Ezz Eldin</p>
<p class="job">Front-End Developer</p>
<p class="about">
Donec vulputate tellus id lacus hendrerit semper. Phasellus
dignissim eros sed dolor elementum malesuada. Nulla malesuada tempus
libero rutrum accumsan. Fusce consectetur enim vitae ex fermentum,
ut maximus sem congue.
</p>
<p>
Donec laoreet semper mi id accumsan. Nulla accumsan faucibus lorem,
et ultrices risus pharetra eu. Nullam sit amet lorem ac libero
commodo dapibus eu vel velit. Cras in arcu orci. Ut vitae dolor non
dolor volutpat eleifend. Maecenas lacinia, velit eu iaculis iaculis,
sem nisi mollis ex, a imperdiet lorem dolor nec augue.
</p>
<span>″</span>
</div>
<div class="item-g">
<p class="name">Mohamed Sayed</p>
<p class="job">IOS Developer</p>
<p class="about">
Ut porttitor tincidunt erat, id facilisis purus hendrerit eget. Duis
id dolor sit amet enim dapibus ornare.
</p>
<p>
Nulla ut magna a nibh congue pulvinar. Morbi id augue arcu. Integer
eu bibendum tortor.
</p>
<span>″</span>
</div>
<div class="item-h">
<p class="name">Ibrahim Sayed</p>
<p class="job">IOS Developer</p>
<p class="about">
Vivamus consequat ultrices ante finibus dignissim. Fusce tincidunt
suscipit tortor ac suscipit.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
hendrerit arcu.
</p>
<span>″</span>
</div>
<div class="item-i">
<p class="name">Gamal Sayed</p>
<p class="job">IOS Developer</p>
<p class="about">
Donec vulputate tellus id lacus hendrerit semper. Phasellus
dignissim.
</p>
<p>
Donec vulputate tellus id lacus hendrerit semper. Phasellus
dignissim eros sed dolor elementum malesuada.
</p>
<span>″</span>
</div>
<div class="item-J">
<p class="name">Eman Sayed</p>
<p class="job">IOS Developer</p>
<p class="about">
Vivamus consequat ultrices ante finibus dignissim. Fusce tincidunt
suscipit tortor ac suscipit.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras
hendrerit arcu.
</p>
<span>″</span>
</div>
</div>
</div>
</body>
</html>
CSS
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
.layout {
background-color: #eeeeee;
padding: 40px;
font-family: Arial, Helvetica, sans-serif;
}
.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, auto);
gap: 10px;
}
.grid div {
background-color: #ffffff;
padding: 30px 20px;
border-bottom: 3px solid #f54e1f;
position: relative;
}
.grid div span {
font-size: 60px;
position: absolute;
bottom: -25px;
right: 10px;
color: gray;
}
div p {
line-height: 1.5;
}
.name {
font-weight: bold;
margin-bottom: 2px;
font-size: 20px;
}
.job {
color: gray;
font-weight: bold;
margin-bottom: 15px;
}
.about {
font-weight: bold;
margin-bottom: 15px;
font-size: 18px;
}
.item-c,
.item-e,
.item-h {
background-color: black !important;
color: #ffffff !important;
}
.item-a {
grid-column: 1 / span 2;
grid-row: 1 / 2;
}
.item-e {
grid-column: 2 / span 2;
grid-row: 2 / 3;
}
.item-f {
grid-column: 2 / span 2;
grid-row: 3 / 4;
}
.item-d {
grid-column: 1 / 2;
grid-row: 2 / span 2;
}
.item-c {
grid-column: 4 / 5;
grid-row: 1 / span 3;
}
وعليكم السلام ورحمة الله وبركاته، بالتأكيد يمكن لتطوير تطبيقات الهواتف الذكية أن يكون مصدرًا جيدًا للدخل، خاصة إذا كانت لديك فكرة جيدة ومبتكرة. يمكن نشر التطبيق في متجر قوقل بلاي أو متجر آبل.
والحصول على دخل من خلال الإعلانات الموجودة في التطبيق أو من خلال بيع التطبيق نفسه. ومن المهم أن تسوق التطبيق بشكل جيد لزيادة عدد المستخدمين وزيادة الإيرادات.
وبشأن كمية الأرباح، فإن ذلك يعتمد على عدة عوامل مثل عدد المستخدمين وعائدات الإعلانات وسعر بيع التطبيق. لذا يجب دراسة سوق التطبيقات جيدًا قبل الشروع في تطوير التطبيق.
وهذه بعض النقاشات المفيدة في هذا الموضوع.
https://io.hsoub.com/culture/1085-هل-تطوير-تطبيقات-الاندرويد-مربح-من-ناحية-الاعلانات
https://io.hsoub.com/programming/56484-تجربتي-في-ربح-من-مجال-تطبيقات-قد-يغير-حياتك-كما-فعل-بي
يبدو أنك تريد أن تكون مطور واجهات خلفية بما أنك تعلمت أساسيات NodeJS أو مطور Full Stack لذلك أنصحك بتعلم أحدي هذه ال Stacks.
MEAN Stack
MERN Stack
MEAN Stack يتكون من
MongoDB
Express.js
Angular
Node.js
MERN Stack يتكون من
MongoDB
Express.js
React
Node.js
وهذه بعض المصادر المفيدة لتعلم هذه التقنيات.
https://academy.hsoub.com/programming/javascript/nodejs/express/
https://academy.hsoub.com/programming/javascript/nodejs/
https://wiki.hsoub.com/React
https://wiki.hsoub.com/Node.js
https://academy.hsoub.com/devops/servers/databases/mongodb/
https://academy.hsoub.com/programming/javascript/angular/
عند قولك منيو الكتروني فهو عبارة عن موقع ويمكنك ربط هذا الموقع بالواتس اب لاستقبال الطلبات من خلال استخدام API الخاص بالواتس اب.
بالنسبة للتقنيات المستخدمة وإطارات العمل هما كالاتي.
أولا - نبدأ بتقنيات الواجهة الأمامية وهي:
HTML
CSS
JavaScript
Bootstrap
React
ثانياً - تقنيات الواجهة الخلفية وهي:
Express JS
ثالثاً - بالنسبة لقاعدة البيانات المستخدمة يفضل أن تستخدم
mongoDB
وهذه التقنيات ليست الوحيدة التي يمكن استخدامها ولكنها من أفضل التقنيات في مجال بناء المواقع بالنسبة للتقنيات الأخري مثلا يمكنك إستخدام لغة البرمجة PHP وإطار العمل Laravel فهما من أشهر التقنيات المستخدمة في هذا المجال أيضاً.
وعليكم السلام,
وفي مجال البرمجة عموما أنت لا تحتاج إلى شهادات, حتي جوجل تقوم بتوظيف المبرمجين من خلال خبرتهم في المجال لذلك خريج أي كلية او معهد إذا لم يواكب التطور في سوق العمل لن يعمل.
لذلك أنصح بان تتصفح المنهج الدراسي للمعهد وتري إذا كان يواكب التطور التقني وسوق العمل أم لا.
مع انك يمكنك العمل في مواقع العمل الحر مثل مستقل وغيره فقط من خلال خبرتك في المجال الذي تريد العمل به ويمكنك تعلم كل شيء من الانترنت أي لا تحتاج إلي دراسة أكاديمية.
أنا أعرف الكثير من الاشخاص وانا منهم نعمل علي مواقع العمل الحر بدون دراسة المجال بشكل أكاديمي.
وبالطبع هذه وجهة نظري.
وبالتوفيق للافضل.
نظام هواوي الجديد وهو Harmony OS لعمل تطبيقات تعمل علي هذا النظام يمكنك أستخدام أحدي هذه اللغات البرمجية:
Java
Kotlin
يمكنك عمل برنامج شات يعمل علي كل الأنظمة لكن سوف تحتاج أن تستخدم لغة البرمجة الخاصة بكل نظام كالآتي:
Android (Java - Kotlin)
ios (Objective-C - Swift)
Harmony OS (Java - Kotlin)
ولكن هناك أيضا تقنيات تستخدم لعمل تطبيقات علي الاندرويد و ios بنفس الشيفرة البرمجة مثل:
Flutter
React Native
بالنسبة لبرنامج الشات بما أن Backend الواجهة الخلفية واحده لكل التطبيقات لايهم اللغة المستخدمة في الواجهة الأمامية Frontend للبرنامج لأن كل التطبيقات في مختلف الأنظمة سوف تعمل من خلال نفس API.
وهذه بعض المصادر المفيده.
موسوعة حسوب React Native
نعم بايثون لها إستخدامات متعددة منها:
برمجة المواقع الإلكترونية (Web Development).
سحب البيانات من المواقع (Web scrap)
برمجة أنظمة الرد الآلي (Bot Systems).
تحليل البيانات (Data Analysis)
الذكاء الإصطناعي (Artificial Intelligence).
تعلم الآلة (Machine Learning).
التعلم العميق (Deep Learning).
برمجة الألعاب (Game Development).
يجب أن تتعلم أساسيات اللغة مثل:
المتغيرات
الدوال
الجمل الشرطية
الحلقات التكرارية
وغيرها من الأساسيات
أرشح لك كتاب البرمجة بلغة بايثون سوف تعلم في هذا الكتاب:
تثبيت بايثون وإعداد بيئتها البرمجية
كيف تستخدم سطر الأوامر التفاعلي لبايثون
فهم أنواع البيانات التي تستخدمها لغة بايثون
وغيرها من الأساسيات ختي المواضيع المتقدمة
إذا كنت تريد أستخدام بايثون في سحب البيانات من المواقع (Web scrap) سوف أرشح لك بعض المكتبات التي سوف تفيدك في هذا التخصص:
BeautifulSoup
Scrapy
Selenium
Requests
يمكنك تعلم المزيد من خلال مقالات بايثون في أكاديمية حسوب.