🔹 1. إنشاء ملف Google Sheets لتخزين بيانات المستخدمين
1️⃣ انتقل إلى Google Sheets.
2️⃣ أنشئ ملفًا جديدًا باسم UserDatabase.
3️⃣ أضف الأعمدة التالية في الصف الأول:
email
→ البريد الإلكتروني.password
→ كلمة المرور.username
→ اسم المستخدم.
🔹 الآن، لدينا قاعدة بيانات جاهزة داخل Google Sheets!
🔹 2. إعداد Google Sheets API في Google Cloud
1️⃣ انتقل إلى Google Cloud Console.
2️⃣ أنشئ مشروعًا جديدًا باسم Flask-Auth.
3️⃣ قم بتمكين Google Sheets API عبر البحث عن Google Sheets API وتفعيله.
4️⃣ إنشاء بيانات اعتماد (Credentials):
- اختر Service Account.
- قم بتنزيل ملف JSON الخاص بالمفتاح السري، واحفظه باسم credentials.json.
🔹 الآن، لدينا وصول إلى Google Sheets عبر API!
🔹 3. إعداد Flask للاتصال بـ Google Sheets
📌 تثبيت المكتبات المطلوبة
افتح الطرفية (Terminal) وثبّت المكتبات:
bash
pip install flask gspread oauth2client
📌 إنشاء ملف app.py
داخل مجلد Flask
python
from flask import Flask, request, jsonify
import gspread
from oauth2client.service_account import ServiceAccountCredentials
app = Flask(__name__)
# إعداد الاتصال بـ Google Sheets
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope)
client = gspread.authorize(creds)
# فتح ملف Google Sheets
sheet = client.open("UserDatabase").sheet1
# التحقق من تسجيل الدخول
@app.route('/api/login', methods=['POST'])
def login():
data = request.get_json()
email = data.get("email")
password = data.get("password")
users = sheet.get_all_records()
for user in users:
if user["email"] == email and user["password"] == password:
return jsonify({"status": "success", "message": "تم تسجيل الدخول!", "username": user["username"]}), 200
return jsonify({"status": "error", "message": "بيانات الدخول غير صحيحة"}), 401
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
🔹 الآن، لدينا API جاهز للتحقق من تسجيل الدخول باستخدام Google Sheets!
🔹 4. ربط ووردبريس بـ Flask عبر API
📌 كود PHP داخل ووردبريس لإرسال الطلب إلى Flask
ضع هذا الكود داخل قالب ووردبريس أو ملف functions.php
:
php
function login_user($email, $password) {
$url = "http://your-vps-ip:5000/api/login";
$data = array("email" => $email, "password" => $password);
$options = array(
"http" => array(
"header" => "Content-Type: application/json",
"method" => "POST",
"content" => json_encode($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// استخدام الدالة في صفحة تسجيل الدخول
$email = $_POST["email"];
$password = $_POST["password"];
$response = login_user($email, $password);
echo $response["message"];
🔹 5. كيف يعمل هذا؟
✅ Flask يتصل بـ Google Sheets للتحقق من بيانات المستخدم.
✅ ووردبريس يرسل طلب تسجيل الدخول إلى Flask عبر REST API.
✅ إذا كانت البيانات صحيحة، يتم تسجيل الدخول بنجاح.
✅ ووردبريس يعرض النتيجة للمستخدم.