بيت / أمان / Man regcomp(3): وظائف التعبير العادي POSIX. تنزيل Reg Organizer - تنظيف النظام وتحسينه Brave reg comp php

Man regcomp(3): وظائف التعبير العادي POSIX. تنزيل Reg Organizer - تنظيف النظام وتحسينه Brave reg comp php

أولاً، سنقوم بتحسين صفحة التسجيل عن طريق إضافة القدرة على تحميل الصورة الرمزية. يجب أن تكون الصورة المصدر بتنسيق jpg أو gif أو png. ويجب أيضًا ألا يزيد حجمه عن 2 ميجابايت. لا تقلق، بعد ضغطها بالسكربت، سيكون حجم الصورة الرمزية حوالي 3 كيلو بايت وبصيغة jpg. افتح الصفحة ريج.بي أتش بيوإضافته في العلامة < استمارة> خط enctype = "متعدد الأجزاء/بيانات النموذج"، كما في المثال:


تسجيل










الآن دعونا نحفظ reg.php

2. ثم تحتاج إلى إنشاء حقل آخر في الجدول المستخدمين. لنذهب إلى phpmyadmin، يختار قاعدة البيانات المطلوبةوطاولة.


نقوم بضبط كافة القيم كما في الشكل:

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

3.اذهب إلى الملف يحفظ_ مستخدم. بي أتش بيوأضف الكود التالي بعد إزالة المسافات من تسجيل الدخول وكلمة المرور:

// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);

// اضف جديد ********************************************

// أضف التحقق من طول تسجيل الدخول وكلمة المرور
إذا (سترلين($تسجيل الدخول)< 3 or strlen($login) > 15) {
Exit("يجب أن يتكون تسجيل الدخول من 3 أحرف على الأقل ولا يزيد عن 15.");
}
إذا (سترلين($كلمة المرور)< 3 or strlen($password) > 15) {
exit("يجب أن تتكون كلمة المرور من 3 أحرف على الأقل ولا تزيد عن 15.");
}

if (!empty($_POST["fupload"])) // تحقق مما إذا كان المستخدم قد أرسل الصورة
{
$fupload=$_POST["fupload"]; $fupload = تقليم($fupload);
إذا ($fupload =="" أو فارغ($fupload)) (
unset($fupload);// إذا كان المتغير $fupload فارغًا، فاحذفه
}
}
إذا (!isset($fupload) أو فارغ($fupload) أو $fupload =="")
{
// إذا لم يكن المتغير موجودًا (لم يرسل المستخدم صورة)، فقم بتعيين صورة معدة مسبقًا مع النقش "بدون صورة رمزية"
$avatar = "avatars/net-avatara.jpg"; // يمكنك رسم net-avatara.jpg أو أخذه من المصدر
}
آخر
{
// خلاف ذلك - قم بتحميل صورة المستخدم
$path_to_90_directory = "avatars/";// المجلد حيث سيتم تحميل الصورة الأولية ونسختها المضغوطة

إذا (preg_match("/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/",$_FILES["fupload"]["name"])) // التحقق من تنسيق الصورة المصدر
{
$filename = $_FILES["fupload"]["name"];
$source = $_FILES["fupload"]["tmp_name"];
$target = $path_to_90_directory . اسم الملف $؛
move_uploaded_file($source, $target);// تحميل النسخة الأصلية إلى المجلد $path_to_90_directory
إذا (preg_match("/[.](GIF)|(gif)$/"، اسم الملف $)) (
$im = imagecreatefromgif($path_to_90_directory.$filename) ; // إذا كان الأصل بتنسيق gif، فقم بإنشاء صورة بنفس التنسيق. ضروري للضغط اللاحق
}
إذا (preg_match("/[.](PNG)|(png)$/"، اسم الملف $)) (
$im = imagecreatefrompng($path_to_90_directory.$filename) ;// إذا كانت النسخة الأصلية بتنسيق png، فقم بإنشاء الصورة بنفس التنسيق. ضروري للضغط اللاحق
}

إذا (preg_match("/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/"، اسم الملف $)) (
$im = imagecreatefromjpeg($path_to_90_directory.$filename); // إذا كان الأصل بتنسيق jpg، فقم بإنشاء صورة بنفس التنسيق. ضروري للضغط اللاحق
}
// إنشاء صورة مربعة وضغطها اللاحق مأخوذ من الموقع www.codenet.ru
// إنشاء مربع 90x90
// الوجهة - الصورة الناتجة
// ث - عرض الصورة
// النسبة - معامل التناسب
$ ث = 90؛ // مربع 90x90. يمكن توفيره بأحجام أخرى.
// قم بإنشاء الصورة الأصلية بناءً على
// الملف المصدر وتحديد حجمه
$w_src = Imagesx($im); // احسب العرض
$h_src = imagesy($im); // احسب ارتفاع الصورة
// إنشاء صورة مربعة فارغة
// اللون الحقيقي مهم! وإلا فسنحصل على نتيجة 8 بت
$dest = imagecreatetruecolor($w,$w);
// اقطع مركز المربع بطول x إذا كانت الصورة أفقية
إذا ($w_src>$h_src)
imagecopyresampled($dest, $im, 0, 0,
round((الحد الأقصى($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
// قطع الجزء العلوي المربع على طول y،
// إذا كانت الصورة عمودية (على الرغم من أنه يمكنك أيضًا استخدام المنتصف)
إذا ($w_src<$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));
// يتم تغيير حجم الصورة المربعة بدون قص
إذا ($w_src==$h_src)
imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
$تاريخ=وقت(); // احسب الوقت الحالي.
imagejpeg($dest, $path_to_90_directory.$date.".jpg");// احفظ الصورة بتنسيق jpg في المجلد المطلوب، وسيكون الاسم هو الوقت الحالي. تم تصميمه لمنع الصور الرمزية من الحصول على نفس الأسماء.
// لماذا JPG؟ إنها تشغل مساحة صغيرة جدًا + يتم تدمير الرسوم المتحركة لصورة GIF التي تشتت انتباه المستخدم. ليس من الممتع قراءة تعليقه عندما تلاحظ بعض الحركة من زاوية عينك.
$avatar = $path_to_90_directory.$date.".jpg";// ضع المسار إلى الصورة الرمزية في المتغير.
$delfull = $path_to_90_directory.$filename;
unlink ($delfull);//احذف الصورة الأصلية التي تم تحميلها، لم نعد بحاجة إليها. كانت المهمة هي الحصول على صورة مصغرة.
}
آخر
{
// في حالة عدم تطابق التنسيق، قم بإصدار رسالة مقابلة
خروج("يجب أن تكون الصورة الرمزية بالتنسيق JPG أو GIF أو PNG");
}
// نهاية عملية التحميل وتعيين متغير avatar $ عنوان ava المحمل
}



// أضيف جديد *********************************************** **
// بعد ذلك يأتي كل شيء من الجزء الأول من المقالة، لكنك تحتاج إلى إضافة تغيير إلى استعلام قاعدة البيانات.
// الاتصال بقاعدة البيانات
// التحقق من وجود مستخدم لديه نفس معلومات تسجيل الدخول
$result = mysql_query("حدد المعرف من المستخدمين حيث تسجيل الدخول = "$login"",$db);
إذا (! فارغة($myrow["id"])) (
exit("عذرًا، تسجيل الدخول الذي أدخلته مسجل بالفعل. الرجاء إدخال معلومات تسجيل دخول أخرى.");
}
// إذا لم يكن هناك شيء من هذا القبيل، فقم بحفظ البيانات
$result2 = mysql_query("INSERT INTO users (تسجيل الدخول، كلمة المرور، الصورة الرمزية) VALUES("$login"،$password"،$avatar")");
// تحقق مما إذا كانت هناك أخطاء
إذا ($result2=="TRUE")
{
echo "لقد قمت بالتسجيل بنجاح! الآن يمكنك الدخول إلى الموقع. الصفحة الرئيسية";
}
آخر(
صدى "خطأ! أنت غير مسجل.";
}
?>

4. تحتاج إلى إضافة جدول واحد إلى نفس قاعدة البيانات. سيتم تخزين عناوين IP التي ارتكبت أخطاء عند تسجيل الدخول. بهذه الطريقة يمكننا تقييد الوصول إلى أولئك الذين ارتكبوا أخطاء أكثر من ثلاث مرات متتالية لمدة 15 دقيقة تقريبًا، وأعتقد أن البرامج التي تحدد كلمات المرور سيتعين عليها العبث بها لفترة طويلة.
دعنا نذهب إلى phpmyadmin ونقوم بإنشاء جدول جديد يحتوي على 3 حقول:


الملكية الفكرية - عنوان IP.
التاريخ - تاريخ تسجيل الدخول غير الناجح لآخر 15 دقيقة للمستخدم الذي يحمل عنوان IP هذا. col - عدد الأخطاء خلال آخر 15 دقيقة للمستخدم الذي لديه عنوان IP هذا.
عظيم! تم، فلنغير الآن ملف التحقق من تسجيل الدخول وكلمة المرور، لأن كلمة المرور الخاصة بنا الآن مشفرة. افتح testreg.php واحذف كل شيء بخلاف إزالة المسافات من معلومات تسجيل الدخول وكلمة المرور. وبعد ذلك نضيف الكود التالي:

// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);
كلمة المرور $ = تقليم($كلمة المرور);

// استبدل بآخر جديد********************************************* *******
// الاتصال بقاعدة البيانات
include("bd.php");// يجب أن يكون ملف bd.php في نفس المجلد مثل جميع الملفات الأخرى، وإذا لم يكن موجودًا، فما عليك سوى تغيير المسار
// التحقق المصغر من اختيار كلمة المرور
$ip=getenv("HTTP_X_FORWARDED_FOR");
إذا (فارغ($ip) || $ip=="unknown") ( $ip=getenv("REMOTE_ADDR"); )//استخراج IP
mysql_query ("DELETE FROM oshibka WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(date) > 900");// احذف عناوين IP للمستخدمين الذين ارتكبوا خطأ عند تسجيل الدخول بعد 15 دقيقة.
$result = mysql_query("SELECT col FROM oshibka WHERE ip="$ip"",$db); // استرداد من قاعدة البيانات عدد محاولات تسجيل الدخول غير الناجحة خلال آخر 15 محاولة لمستخدم لديه عنوان IP معين
$myrow = mysql_fetch_array($result);
إذا ($myrow["col"] > 2) (
// إذا كان هناك أكثر من خطأين، أي ثلاثة، فإننا نصدر رسالة.
Exit("لقد أدخلت اسم المستخدم أو كلمة المرور بشكل غير صحيح 3 مرات. يرجى الانتظار لمدة 15 دقيقة قبل المحاولة مرة أخرى.");
}
$password = md5($password);//تشفير كلمة المرور
$password = strrev($password);// من أجل الموثوقية، أضف عكسيًا
كلمة المرور $ = كلمة المرور $."b3p6f";
// يمكنك إضافة عدد قليل من الشخصيات الخاصة بك حسب ذوقك، على سبيل المثال، عن طريق إدخال "b3p6f". إذا تم اختراق كلمة المرور هذه بالقوة الغاشمة على خادم md5 نفسه، فمن الواضح أنه لن يأتي أي شيء جيد منها. لكن أنصحك بوضع شخصيات أخرى، ربما في بداية السطر أو في وسطه.
// في هذه الحالة، من الضروري زيادة طول حقل كلمة المرور في قاعدة البيانات. قد تكون كلمة المرور المشفرة أكبر من ذلك بكثير.

$result = mysql_query("SELECT * من المستخدمين حيث تسجيل الدخول = "$ تسجيل الدخول" وكلمة المرور = "$ كلمة المرور""، $ db)؛ // استرجاع جميع البيانات المتعلقة بالمستخدم من قاعدة البيانات باستخدام معلومات تسجيل الدخول وكلمة المرور المدخلة
$myrow = mysql_fetch_array($result);
إذا (فارغ($myrow["id"]))
{
// إذا كان المستخدم الذي لديه معلومات تسجيل الدخول وكلمة المرور التي تم إدخالها غير موجود
// سجلنا أن عنوان IP هذا لم يتمكن من تسجيل الدخول.
$select = mysql_query("SELECT ip FROM oshibka WHERE ip="$ip"");
$tmp = mysql_fetch_row($select);
إذا ($ip == $tmp) (// تحقق مما إذا كان المستخدم موجودًا في جدول "oshibka".
$result52 = mysql_query("SELECT col FROM oshibka WHERE ip="$ip"",$db);
$myrow52 = mysql_fetch_array($result52);
$col = $myrow52 + 1;// أضف محاولة تسجيل دخول غير ناجحة أخرى
mysql_query("مجموعة خطأ التحديث col=$col,date=NOW() WHERE ip="$ip"");
}
آخر(
mysql_query("INSERT INTO oshibka (ip,date,col) VALUES ("$ip",NOW(),"1")");
// إذا لم تكن هناك أخطاء في آخر 15 دقيقة، فقم بإدراجها دخول جديدإلى طاولة "oshibka".
}

Exit("عذرًا، اسم المستخدم أو كلمة المرور التي أدخلتها غير صحيحة.");
}
آخر(
نبسب؛ // إذا تطابقت كلمات المرور، فنطلق جلسة للمستخدم! يمكنك تهنئته، لقد دخل!
$_SESSION["password"]=$myrow["password"];
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];// يتم استخدام هذه البيانات كثيرًا، لذا فإن المستخدم الذي قام بتسجيل الدخول "سيحملها معه"

// بعد ذلك نقوم بحفظ البيانات في ملفات تعريف الارتباط لتسجيل الدخول اللاحق.
//انتباه!!! افعل ذلك وفقًا لتقديرك حيث يتم تخزين البيانات في ملفات تعريف الارتباط دون تشفير
إذا ($_POST["حفظ"] == 1) (
// إذا أراد المستخدم حفظ بياناته لتسجيل الدخول اللاحق، فإننا نحفظها في ملفات تعريف الارتباط بالمتصفح الخاص به
setcookie("login", $_POST["login"], time()+9999999);
setcookie("password", $_POST["password"], time()+9999999);
}}
صدى صوت " ";// نقوم بإعادة توجيه المستخدم إلى الصفحة الرئيسية، حيث سنقوم بإعلامه بتسجيل الدخول الناجح
?>

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

// الإجراء بأكمله يعمل في جلسات. وهو المكان الذي يتم فيه تخزين بيانات المستخدم أثناء تواجده في الموقع. من المهم جدًا إطلاقها في بداية الصفحة!!!
session_start();
include("bd.php");// يجب أن يكون ملف bd.php في نفس المجلد مثل جميع الملفات الأخرى، وإذا لم يكن موجودًا، فما عليك سوى تغيير المسار
إذا (!فارغ($_SESSION["تسجيل الدخول"]) و!فارغ($_SESSION["كلمة المرور"]))
{
// إذا كان هناك تسجيل دخول وكلمة مرور في الجلسات، فتحقق منها واحصل على الصورة الرمزية
$login = $_SESSION["تسجيل الدخول"];
$password = $_SESSION["password"];
$result = mysql_query("حدد المعرف والصورة الرمزية للمستخدمين حيث تسجيل الدخول = "$ تسجيل الدخول" وكلمة المرور = "$ كلمة المرور""، $ db)؛
$myrow = mysql_fetch_array($result);
// استخراج بيانات المستخدم الضرورية
}
?>


<a href="https://uptostart.ru/ar/kak-raspiarit-svoi-server-mainkraft-raskrutit-server-mainkraft-v-monitoringe-ustanovit-avatar-s/">الصفحة الرئيسية</a>


الصفحة الرئيسية

إذا (!isset($myrow["avatar"]) أو $myrow["avatar"]=="") (
//تحقق مما إذا تم استخراج بيانات المستخدم من قاعدة البيانات. إذا لم يكن الأمر كذلك، فهذا يعني أنه لم يتم تسجيل الدخول، أو أن كلمة المرور في الجلسة غير صحيحة. نعرض نافذة تسجيل الدخول. لكننا لن نعرضها لأولئك الذين يأتون، فهم لم يعودوا بحاجة إليها.
مطبعة<<


هنا؛

إذا (isset($_COOKIE["login"])) // هل يوجد متغير لتسجيل الدخول في COOKIE. يجب أن يكون الأمر كذلك إذا قام المستخدم بالنقر فوق مربع الاختيار "تذكرني" أثناء تسجيل الدخول السابق
{
// إذا كانت الإجابة بنعم، فقم بإدخال قيمتها في النموذج. في هذه الحالة، يظهر للمستخدم أن تسجيل الدخول الخاص به قد تم إدخاله بالفعل في العمود المطلوب
echo " value="".$_COOKIE["login"]."">";
}

مطبعة<<




هنا؛

إذا (isset($_COOKIE["password"]))//ما إذا كان هناك متغير بكلمة مرور في ملف تعريف الارتباط. يجب أن يكون الأمر كذلك إذا قام المستخدم بالنقر فوق مربع الاختيار "تذكرني" أثناء تسجيل الدخول السابق
{
// إذا كانت الإجابة بنعم، فقم بإدخال قيمتها في النموذج. في هذه الحالة، يظهر للمستخدم أن كلمة المرور الخاصة به قد تم إدخالها بالفعل في العمود المطلوب
echo " value="".$_COOKIE["password"]."">";
}

مطبعة<<



تذكرنى.






يسجل



قمت بتسجيل الدخول كضيف

هنا؛
}
آخر
{
// إذا تم تسجيل الدخول بنجاح، فسيتم إعطاء المستخدم كل شيء أدناه بين العلامات النجمية.

مطبعة<<
لقد قمت بتسجيل الدخول إلى الموقع باسم $_SESSION (خروج)


هذا الرابط متاح فقط للمستخدمين المسجلين

شخصيتك الإفتراضية:




هنا؛

//************************************************************************************
// إذا تم تسجيل الدخول بنجاح، فسيتم إعطاء المستخدم كل ما هو موجود أعلاه بين العلامات النجمية.
}
?>

6. من الضروري تمكين المستخدمين الذين قاموا بتسجيل الدخول من تسجيل الخروج. كان هناك بالفعل رابط للخروج على الصفحة الرئيسية. لكن هذا الملف غير موجود بعد. لذلك دعونا نخلق ملف جديد exit.phpمع الكود:

session_start();
إذا (فارغ($_SESSION["تسجيل الدخول"]) أو فارغ($_SESSION["كلمة المرور"]))
{
// إذا لم تكن هناك جلسة مع تسجيل الدخول وكلمة المرور، فقد تم الوصول إلى هذا الملف بواسطة مستخدم لم يقوم بتسجيل الدخول. انه لا ينتمي هنا. نصدر رسالة خطأ ونوقف البرنامج النصي
خروج ("الوصول إلى هذه الصفحة مسموح به فقط للمستخدمين المسجلين. إذا كنت مسجلاً، فقم بتسجيل الدخول إلى الموقع باستخدام اسم المستخدم وكلمة المرور الخاصة بك"
الصفحة الرئيسية")؛
}

unset($_SESSION["كلمة المرور"]);
unset($_SESSION["تسجيل الدخول"]);
unset($_SESSION["id"]);// تدمير المتغيرات في الجلسات
مخرج(" ");
// أرسل المستخدم إلى الصفحة الرئيسية.
?>

حسنًا، لقد انتهى كل شيء الآن! استمتع بها من أجل صحتك! حظ سعيد!

محتوى

ereg

ereg - القيمة المقترنة للتعبير العادي
وصف
int ereg (نمط السلسلة، سلسلة السلسلة، المصفوفة)؛

يبحث عن القيم المقترنة خيطفي التعبير العادي المحدد في نمط .

إذا تم العثور على قيم مقترنة للسلاسل الفرعية بين قوسين نمطوتم استدعاء الدالة باستخدام الوسيطة الثالثة التسجيلاتثم سيتم تخزين القيم المقترنة في العناصر التسجيلات. سيحتوي $regs على سلسلة فرعية تبدأ بالقوس الأيسر الأول؛ سيحتوي $regs على السلسلة الفرعية التي تبدأ بالقوس الثاني، وما إلى ذلك. سيحتوي $regs على نسخة خيط .

البحث حساس لحالة الأحرف.

تُرجع الدالة صحيحًا إذا تم العثور على قيمة مطابقة للنمط في السلسلة، أو تُرجع خطأ إذا لم يتم العثور على قيم مطابقة أو حدث خطأ.

التعليمة البرمجية التالية تستخرج التاريخ بتنسيق ISO وتخرجه بتنسيق DD.MM.YYYY:

مثال 1. مثال ereg()

إذا (ereg("((4))-((1,2))-((1,2))"، $date, $regs)) ( echo "$regs.$regs.$regs"; ) آخر (صدى "تنسيق التاريخ غير صالح: $date"؛)

ereg_replace

ereg_replace - يستبدل التعبير العادي
وصف
سلسلة ereg_replace(نمط السلسلة، استبدال السلسلة، سلسلة السلسلة)؛

تقوم هذه الوظيفة بالمسح خيطللقيم المقترنة ك نمط، ثم يستبدل النص الموجود بـ إستبدال .

لو نمطيحتوي على سلاسل فرعية بين قوسين، ثم إستبدالقد تحتوي على سلاسل فرعية مثل \\ رقم، والذي سيتم استبداله بنص يطابق السلسلة الفرعية الرقمية بين قوسين؛ سيقوم \\0 بمعالجة محتويات السلسلة بالكامل. يمكن استخدام ما يصل إلى 9 سلاسل فرعية. يمكن تجميع الأقواس، وفي هذه الحالة يتم حسابها بواسطة الأقواس المفتوحة. على سبيل المثال، ستطبع التعليمة البرمجية التالية عبارة "هذا كان اختبارًا" ثلاث مرات:

مثال 1.ereg_replace()

$string = "هذا اختبار"; echo ereg_replace("is"، "was"، $string); echo ereg_replace("()is", "\\1was", $string); echo ereg_replace("(()is)", "\\2was", $string);

أنظر أيضاً، و.

eregi

eregi - بحث غير حساس لحالة الأحرف عن القيم المقترنة في التعبيرات العادية
وصف
int eregi (نمط السلسلة، سلسلة السلسلة، المصفوفة)؛

eregi_replace

eregi_replace - استبدال التعبير العادي غير الحساس لحالة الأحرف
وصف
سلسلة eregi_replace(نمط السلسلة، استبدال السلسلة، سلسلة السلسلة)؛

ينقسم

تقسيم - يقسم السلسلة إلى مصفوفة باستخدام تعبير عادي
وصف
تقسيم المصفوفة (نمط السلسلة، سلسلة السلسلة، int ) ؛

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

للحصول على الحقول الخمسة الأولى من سطر في /etc/passwd:

سيتم إصدارها.

يمكن استخدام هذه الميزة لإجراء مقارنات غير حساسة لحالة الأحرف في المنتجات التي تدعم التعبيرات الحساسة لحالة الأحرف فقط.

مرحبًا بالجميع، اليوم أريد أن أخبركم عن برنامج Reg Organizer. هذا برنامج به العديد من الوظائف للصيانة الكاملة لنظام التشغيل عائلة ويندوز. يعد Reg Organizer مثاليًا لأنظمة التشغيل Windows XP وVista و7 و8.1 و10. باستخدام هذا البرنامج، يمكنك تسريع نظام التشغيل وتحسينه على جهاز الكمبيوتر الخاص بك، وتحرير موارد إضافية.

يسمح لك Reg Organizer بإزالة البرامج بالكامل من النظام، بالإضافة إلى تنظيف جميع الملفات غير المرغوب فيها المتبقية عند إلغاء تثبيتها من خلال لوحة التحكم. سيساعد مدير بدء التشغيل الفريد في تسريع أداء النظام قدر الإمكان. ستساعد وظيفة تنظيف القرص المضمنة في توفير مساحة خالية أكبر على قرص جهاز الكمبيوتر الخاص بك. يُسهل Reg Organizer عملية تنظيف السجل الخاص بك وتحسينه. وهذا ليس كل إمكانيات البرنامج.

ما الذي يمكن أن يفعله Reg Organizer؟

  • سيساعدك Reg Organizer على إلغاء تثبيت البرنامج بالكامل وإزالة بقاياه، مما يمنع ازدحام أقراص التسجيل والكمبيوتر.
  • سيساعد بدء التشغيل النظيف (التشغيل التلقائي) في إزالة التطبيقات التي تبدأ بنظام Windows. وهذا يسمح بأوقات تحميل أسرع. نظام التشغيل Windows، وقم أيضًا بتحرير بعض موارد جهاز الكمبيوتر الخاص بك. بالإضافة إلى ذلك، في قسم بدء التشغيل، يمكنك أيضًا حذف أي مهام مجدولة.
  • تنظيف الأقراص في الوضع التلقائيسيحرر كمية كبيرة من المساحة الحرة على قرص النظام. يمكنك إزالة كل ما لا يقوم Windows بتنظيفه بنفسه.
  • باستخدام الإعدادات الدقيقة في Reg Organizer، يمكنك تخصيص تشغيل نظام التشغيل Windows ليناسب احتياجاتك.
  • تنظيف السجل - سيقوم Reg Organizer تلقائيًا بالعثور على جميع الإدخالات غير الضرورية والخاطئة في النظام وإزالتها سجل ويندوزمما قد يؤثر على استقرار التشغيل.
  • يتيح لك Reg Organizer تحسين السجل وضغط ملفات التسجيل وإلغاء تجزئته.
  • سيساعدك محرر التسجيل المناسب في Reg Organizer على إجراء عمليات متنوعة باستخدام تسجيل النظام، بما في ذلك التصدير والاستيراد ونسخ القيم الرئيسية وغير ذلك الكثير.
  • سهولة البحث واستبدال المفاتيح في السجل - يتيح لك العثور على المفاتيح الضرورية وحذفها إذا لزم الأمر. في حالة عدم احتواء التطبيقات على برنامج إلغاء التثبيت أو بعد إلغاء تثبيت التطبيق "يدويًا"، تظل الإدخالات في السجل يمكن أن تسبب تعارضات في السجل، وفي هذه الحالة ستكون وظيفة البحث واستبدال مفاتيح التسجيل مفيدة. يقوم Reg Organizer بإجراء بحث عميق ويسمح لك غالبًا بالعثور حتى على ما لا تستطيع البرامج الأخرى العثور عليه.
  • يمكن لـ Reg Organizer مراقبة كل ما يفعله البرنامج أثناء التثبيت، وفي حالة ظهور أي مشاكل، يمكنك التراجع عن كل ما حاول البرنامج القيام به أثناء التثبيت.
  • يمكن للبرنامج العثور على الآثار المتبقية من بالفعل البرامج عن بعد. إذا قمت بإلغاء تثبيت أحد البرامج بشكل غير صحيح، فسيساعدك Reg Organizer في تنظيف آثار البرنامج المحذوف.

يمكنك الاطلاع على مزيد من التفاصيل حول جميع ميزات Reg Organizer في الفيديو الخاص بي:


يمكنك تنزيل Reg Organizer من الموقع الرسمي باستخدام أي من أزرار التنزيل.

قررت أن أهدي هذا المقال لكل من بدأ الدراسة بي أتش بيلأن الجميع يحصل على نفس الخطأ. لا أعرف لماذا يسمحون بذلك، لكنهم يفعلون ذلك طوال الوقت. وسأقول دون مبالغة أنني تلقيت بالفعل حوالي مائة سؤال، والتي سيتم الإجابة عليها في هذا المقال. ويرتبط هذا الخطأ إطلاق غير صحيح في PHP.

كما يفعل جميع المبتدئين تقريبًا:

  1. يخلق ملف PHP(أحيانا ملف HTMLولكن هؤلاء هم أكثر المبتدئين).
  2. اكتبها هناك كود PHP.
  3. ويقومون بالنقر المزدوج لفتحه في المتصفح.

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

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

خاتمة: تحتاج إلى تشغيل كود PHP من خلال الخادم. اذا كنت تمتلك دينويرأي من خلاله.

الآن، كيفية تشغيل كود PHP عبر Denwer. معظم المبتدئين يرتكبون نفس الخطأ مرة أخرى. يبدو أنهم يفعلون كل شيء بشكل صحيح، وخلق المجلدات المطلوبة، إعادة تشغيل دينويرويبدو أن كل ما تبقى هو استدعاء الملف بشكل صحيح. ولكن هنا يوجد خطأ مرة أخرى: يتم فتح الملف مرة أخرى ببساطة في المتصفح (إما عن طريق سحب الملف إلى المتصفح أو عن طريق النقر المزدوج). يمكن رؤية ذلك بسهولة من خلال العنوان الموجود في شريط العناوين. سيكون هناك شيء مثل: الملف:///Z:\home\mysite.local\www\script.php.

وتحتاج إلى تشغيله بشكل صحيح، إدخال عنوان المضيف الظاهري. أي أنه مباشرة في شريط عنوان المتصفح، أدخل: http://mysite.local/script.php- هذا كل شيء، الآن سيتم تشغيل البرنامج النصي وعرض النتيجة.

آمل أن يساعد هذا المقال العديد من المبتدئين الذين بدأوا للتو في الدراسة بي أتش بي.

مرحبًا! الآن سنحاول تنفيذ أبسط تسجيل على الموقع باستخدام باستخدام PHP+ ماي إس كيو إل. للقيام بذلك، يجب تثبيت Apache على جهاز الكمبيوتر الخاص بك. يظهر مبدأ العمل في البرنامج النصي لدينا أدناه.

1. لنبدأ بإنشاء جدول المستخدمين في قاعدة البيانات. وسوف تحتوي على بيانات المستخدم (تسجيل الدخول وكلمة المرور). دعنا نذهب إلى phpmyadmin (إذا كنت تقوم بإنشاء قاعدة بيانات على جهاز الكمبيوتر الخاص بك http://localhost/phpmyadmin/). إنشاء جدول المستخدمين، سيكون به 3 حقول.

أنا خلق فيه قاعدة بيانات ماي اس كيو ال، يمكنك إنشاء في قاعدة بيانات أخرى. بعد ذلك، قم بتعيين القيم كما في الشكل:

2. مطلوب اتصال بهذا الجدول.لنقم بإنشاء ملف bd.php. المحتوى:

$db = mysql_connect("خادم MySQL الخاص بك"،"تسجيل الدخول لهذا الخادم"،"كلمة المرور لهذا الخادم");
mysql_select_db ("اسم قاعدة البيانات التي نتصل بها"، $db)؛
?>

في حالتي يبدو مثل هذا:

$db = mysql_connect("localhost"، "user"، "1234")؛
mysql_select_db("mysql",$db);
?>

يحفظ bd.php.
عظيم! لدينا جدول في قاعدة البيانات واتصال به. يمكنك الآن البدء في إنشاء صفحة سيترك فيها المستخدمون بياناتهم.

3. قم بإنشاء ملف reg.php بالمحتوى (جميع التعليقات بداخله):



تسجيل


تسجيل
















4. قم بإنشاء ملف، والذي سيقوم بإدخال البيانات في قاعدة البيانات وحفظ المستخدم. save_user.php(التعليقات بالداخل):



{
}
// إذا تم إدخال تسجيل الدخول وكلمة المرور، فإننا نقوم بمعالجتهما حتى لا تعمل العلامات والبرامج النصية، فلن تعرف أبدًا ما قد يدخله الأشخاص


// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);
كلمة المرور $ = تقليم($كلمة المرور);
// الاتصال بقاعدة البيانات
// التحقق من وجود مستخدم لديه نفس معلومات تسجيل الدخول
$result = mysql_query("حدد المعرف من المستخدمين حيث تسجيل الدخول = "$login"",$db);
إذا (! فارغة($myrow["id"])) (
exit("عذرًا، تسجيل الدخول الذي أدخلته مسجل بالفعل. الرجاء إدخال معلومات تسجيل دخول أخرى.");
}
// إذا لم يكن هناك شيء من هذا القبيل، فقم بحفظ البيانات
$result2 = mysql_query("INSERT INTO المستخدمين (تسجيل الدخول، كلمة المرور) VALUES("$login"،$password")");
// تحقق مما إذا كانت هناك أخطاء
إذا ($result2=="TRUE")
{
echo "لقد قمت بالتسجيل بنجاح! الآن يمكنك الدخول إلى الموقع. الصفحة الرئيسية";
}
آخر(
صدى "خطأ! أنت غير مسجل.";
}
?>

5. الآن يمكن لمستخدمينا التسجيل!بعد ذلك، تحتاج إلى إنشاء "باب" للمستخدمين المسجلين بالفعل للدخول إلى الموقع. Index.php(التعليقات بالداخل):

// الإجراء بأكمله يعمل في جلسات. وهو المكان الذي يتم فيه تخزين بيانات المستخدم أثناء تواجده في الموقع. من المهم جدًا إطلاقها في بداية الصفحة!!!
session_start();
?>


الصفحة الرئيسية


الصفحة الرئيسية











يسجل



// تحقق مما إذا كانت متغيرات تسجيل الدخول ومعرف المستخدم فارغة
إذا (فارغ($_SESSION["تسجيل الدخول"]) أو فارغ($_SESSION["id"]))
{
// إذا كان فارغًا، فلن نعرض الرابط
صدى "لقد قمت بتسجيل الدخول كضيف
هذا الرابط متاح فقط للمستخدمين المسجلين";
}
آخر
{

في الملف Index.phpسنعرض رابطًا سيكون مفتوحًا فقط للمستخدمين المسجلين. هذا هو بيت القصيد من البرنامج النصي - للحد من الوصول إلى أي بيانات.

6. يبقى هناك ملف للتحقق من تسجيل الدخول وكلمة المرور التي تم إدخالها. testreg.php (التعليقات بالداخل):

session_start();// الإجراء بأكمله يعمل على الجلسات. وهو المكان الذي يتم فيه تخزين بيانات المستخدم أثناء تواجده في الموقع. من المهم جدًا إطلاقها في بداية الصفحة!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) // أدخل معلومات تسجيل الدخول التي تم إدخالها بواسطة المستخدم في متغير تسجيل الدخول $، إذا كان فارغًا، فقم بتدمير المتغير
إذا (isset($_POST["password"])) ( $password=$_POST["password"]; if ($password =="") ( unset($password);) )
// ضع كلمة المرور التي أدخلها المستخدم في متغير كلمة المرور $، إذا كانت فارغة، فقم بتدمير المتغير
إذا (فارغ($login) أو فارغ($password)) // إذا لم يدخل المستخدم معلومات تسجيل الدخول أو كلمة المرور، فإننا نصدر خطأ ونوقف البرنامج النصي
{
Exit("لم تقم بإدخال كافة المعلومات، ارجع واملأ جميع الحقول!");
}
// إذا تم إدخال تسجيل الدخول وكلمة المرور، فإننا نقوم بمعالجتهما حتى لا تعمل العلامات والبرامج النصية، فلن تعرف أبدًا ما قد يدخله الأشخاص
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
// إزالة المسافات الزائدة
$تسجيل الدخول = تقليم($تسجيل الدخول);
كلمة المرور $ = تقليم($كلمة المرور);
// الاتصال بقاعدة البيانات
include("bd.php");// يجب أن يكون ملف bd.php في نفس المجلد مثل جميع الملفات الأخرى، وإذا لم يكن موجودًا، فما عليك سوى تغيير المسار

$result = mysql_query("SELECT * من المستخدمين حيث تسجيل الدخول = "$login"",$db); // استرجاع جميع البيانات المتعلقة بالمستخدم الذي تم إدخاله من قاعدة البيانات
$myrow = mysql_fetch_array($result);
إذا (فارغ($myrow["كلمة المرور"]))
{
// إذا كان المستخدم الذي لديه معلومات تسجيل الدخول التي تم إدخالها غير موجود
}
آخر(
// إذا كان موجودًا، فتحقق من كلمات المرور
إذا ($myrow["password"]==$password) (
// إذا تطابقت كلمات المرور، فنطلق جلسة للمستخدم! يمكنك تهنئته، لقد دخل!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];// يتم استخدام هذه البيانات كثيرًا، لذا فإن المستخدم الذي قام بتسجيل الدخول "سيحملها معه"
صدى "لقد دخلت الموقع بنجاح! الصفحة الرئيسية";
}
آخر(
// إذا كانت كلمات المرور غير متطابقة

خروج ("عذرًا، تسجيل الدخول أو كلمة المرور التي أدخلتها غير صحيحة.");
}
}
?>

حسنًا، لقد انتهى كل شيء الآن! قد يكون الدرس مملاً ولكنه مفيد جدًا. يتم عرض فكرة التسجيل فقط هنا، ثم يمكنك تحسينها: إضافة الحماية والتصميم وحقول البيانات وتحميل الصور الرمزية وتسجيل الخروج من الحساب (للقيام بذلك، ما عليك سوى تدمير المتغيرات من الجلسة باستخدام الوظيفة غير محدد) وما إلى ذلك وهلم جرا. حظ سعيد!

لقد راجعت كل شيء، أنه يعمل بشكل صحيح!