ما رأيكم في صفحة install.php وكيف احفظ المدخلات

  • el3zahaby

السلام عليكم ورحمة الله وبركاته

انا ابرمج صفحة install.php لكن لم تكتمل بعد لان بها مشكله

ولكن اريد معرفة كيف احفظ المدخلا التي تأتي من الفورم ؟؟؟!!

هذا هوا الكود

<?php
include '../head.php';
?>
<br>
<br>
<br>
<br>
<div  style="width: 50%; margin: 0 auto; background: #F3F3F3; border-right: 10px solid #ffa000 ;padding: 9px; ">
    <form method="post" action="../config/conreglog.php" >
    <div class="w3-group" style="border: 1px solid; ">      
        <input name="DBhost" class="w3-input" type="text" style="width:100%" required>
        <label class="w3-label">الهوست</label>
    </div>
    <div class="w3-group"style="border: 1px solid; ">      
        <input name="DBname" class="w3-input" type="text" style="width:100%" required>
        <label class="w3-label">قاعدة البيانات</label>
    </div>
    <div class="w3-group"style="border: 1px solid; ">      
        <input name="DBuser" class="w3-input" type="text" style="width:100%" required>
        <label class="w3-label">اسم المستخدم</label>
    </div>
    <div class="w3-group"style="border: 1px solid; ">      
        <input name="DBpass" class="w3-input" type="text" style="width:100%" required>
        <label class="w3-label">كلمة المرور</label>
    </div>

        <button class="w3-input" type="submit">ادخال- التالي </button>
</form>
</div>

الكود السابق هوا ما في صفحة install.php

وهذ الكود في صفحة config.php

 <?php
require '../install/install.php';



 $DBhost = $_POST['DBhost']; // اسم الهوست وغالبا يكون لوكل هوست
 $DBname = $_POST['DBname']; // اسم القاعدة
 $DBuser = $_POST['DBuser']; // اسم اليوزر
 $DBpass = $_POST['DBuser']; // باسورد القاعدة

 $Connect = @mysql_connect($DBhost,$DBuser,$DBpass); // الاتصال بالقاعدة
 if(!$Connect){// اذا لم يتم الاتصال
 echo 'يرجى التاكد من بيانات القاعدة';// طباعة العبارة
 exit; // ايقاف تنفيذ باقى اكواد الصفحة
 }


 $Select = @mysql_select_db($DBname);// اختيار القاعدة للتعامل معها
 if(!$Select){// اذا لم يتم الامر
 echo 'غير قادر على الاتصال بالقاعدة';// طباعة العبارة
 exit;// ايقاف تنفيذ باقى اكواد الصفحة
}

?>

فعند ادخال معلمومات القاعدة يتم الاتصال ويكون كل شئ ممتاز

لكن مع اول تحديث لصفحة او الانتقال لصفحة اخرى يفقد الاتصال بالقاعدة

فالسؤال هو كيف احفظ معلومات القاعدة ؟؟ هل احفظة بسيشن ام ماذا ؟


تخزين بيانات مهمة مثل بيانات الاتصال بقاعدة البيانات في الكوكيز خطرة جدا .. لأنه سيمكن لأي زائر معرفة بيانات القاعدة واختراق الموقع!

الطريقة الأفضل هي ان تنشئ ملف كونفيج فارغ .. وعند عمل Submit للفورم تقوم بكتابة الكود في الملف الفارغ وهكذا كل شئ سيكون آمن

انا يا صديقي اريد عندما اعطي هذا السكربت الى شخص (بعد انتهائه طبعا) ويريد رفعه على استضافته....


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

اول جدول للوحة التحكم في الموقع (للمديرين)

والثاني لتسجيل الدخول والخروج (لمستخدمين)

وعند نجاح العمليات السابقة يتم كتابة

echo'ارجاء حذف صفحة install.php'

لانها اذا بقية سيتم اختراق الموقع وعمل به جداول اخرى لكن ما اريده هوا انه عند عمل الجداول واحذف صفحة install.php
تبقى المعلومات المدخلة في صفحة config.php التي ارسلت لها المعلومات سابقا على شكل متغير كما ذكرت في بداية المساهة :

وهذ الكود في صفحة config.php

$DBhost = $_POST['DBhost']; // اسم الهوست وغالبا يكون لوكل هوست
$DBname = $_POST['DBname']; // اسم القاعدة
$DBuser = $_POST['DBuser']; // اسم اليوزر
$DBpass = $_POST['DBuser']; // باسورد القاعدة

وهذه المتغيرات هي التي اتت من الفورم

تمام فهمت الفكرة 100%.

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

أتمنى أن تكون الفكرة واضحة.