Hamada Ahmed نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 السلام عليكم هذا كود ارسال لفورم للتسجيل فى الموقع <?php $DATABASE_HOST = 'localhost'; $DATABASE_USER = 'root'; $DATABASE_PASS = ''; $DATABASE_NAME = 'phplogin'; $db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME); $sql = "INSERT INTO accounts (username, password, email) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($db, $sql)) { mysqli_stmt_bind_param($stmt, "sss", $username, $password, $email); $username = $_REQUEST['username']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $email = $_REQUEST['email']; if(mysqli_stmt_execute($stmt)) { echo "Records inserted successfully."; } } $stmt->close(); $db->close(); ?> وهذا الكود للتحقق من ان اسم المستخدم لا يوجد فى الجدول <?php $DATABASE_HOST = 'localhost'; $DATABASE_USER = 'root'; $DATABASE_PASS = ''; $DATABASE_NAME = 'phplogin'; $db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME); if ($stmt = $db->prepare('SELECT id, password FROM accounts WHERE username = ?')) { $stmt->bind_param('s', $_POST['username']); $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { echo 'Username exists, please choose another!'; } } $stmt->close(); $db->close(); ?> كيف يمكن دمج الكودين معا فاذا لم يكن الاسم موجودا فى الجدول يرسل البيانات للقاعدة 1 اقتباس
1 بلال زيادة نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 يمكنك استخدام الكود كاملا, لقد قمت بتجربته و التأكد من عمله <?php $DATABASE_HOST = 'localhost'; $DATABASE_USER = 'root'; $DATABASE_PASS = ''; $DATABASE_NAME = 'phplogin'; $db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME); if ($stmt = $db->prepare('SELECT id, password FROM accounts WHERE username = ?')) { $stmt->bind_param('s', $_POST['username']); $stmt->execute(); $stmt->store_result(); if ($stmt->num_rows > 0) { echo 'Username exists, please choose another!'; }else { $sql = "INSERT INTO accounts (username, password, email) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($db, $sql)) { mysqli_stmt_bind_param($stmt, "sss", $username, $password, $email); $username = $_REQUEST['username']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $email = $_REQUEST['email']; if(mysqli_stmt_execute($stmt)) { echo "Records inserted successfully."; } } } } $stmt->close(); $db->close(); ?> بحيث أنه في الكود الثاني الذي قمت أنت بإرفاقه تقوم بالتحقق من وجود اسم المستخدم ام لا لذلك يوجد في الكود شرط ويمكن استخدام هذا الشرط بحيث أنه إذا تحقق وكان اسم المستخدم موجود لا نقوم بإدخال البيانات إلى قاعدة البيانات, وإذا كان اسم المستخدم غير موجود نضيف البيانات إلى قاعدة البيانات. وهذا هو الشرط if ($stmt->num_rows > 0) { echo 'Username exists, please choose another!'; } نضيف إليه else بحيث يصبح هكذا مع إضافة كود الإدخال إلى قاعدة البيانات. if ($stmt->num_rows > 0) { echo 'Username exists, please choose another!'; }else { $sql = "INSERT INTO accounts (username, password, email) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($db, $sql)) { mysqli_stmt_bind_param($stmt, "sss", $username, $password, $email); $username = $_REQUEST['username']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $email = $_REQUEST['email']; if(mysqli_stmt_execute($stmt)) { echo "Records inserted successfully."; } } } 2 اقتباس
1 سامح أشرف نشر 22 فبراير 2021 أرسل تقرير نشر 22 فبراير 2021 يمكنك عمل else في الكود الثاني ليتم تنفيذ الكود الموجود بداخلها إن كان $stmt->num_rows يساوي صفرًا if ($stmt->num_rows > 0) { echo 'Username exists, please choose another!'; } else { $sql = "INSERT INTO accounts (username, password, email) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($db, $sql)) { mysqli_stmt_bind_param($stmt, "sss", $username, $password, $email); $username = $_REQUEST['username']; $password = password_hash($_POST['password'], PASSWORD_DEFAULT); $email = $_REQUEST['email']; if(mysqli_stmt_execute($stmt)) { echo "Records inserted successfully."; } } } بهذا الشكل سيتم عمل حساب جديد إن لم يكن موجود في قاعدة البيانات 4 اقتباس
السؤال
Hamada Ahmed
السلام عليكم
هذا كود ارسال لفورم للتسجيل فى الموقع
وهذا الكود للتحقق من ان اسم المستخدم لا يوجد فى الجدول
كيف يمكن دمج الكودين معا فاذا لم يكن الاسم موجودا فى الجدول يرسل البيانات للقاعدة
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.