اذهب إلى المحتوى
  • 0

كيف اقوم ببرمجة في php تجعل المستخدم يقوم بحذف رساله عامه مرسله لجميع المستخدمين

علي الكاسر

السؤال

السلام عليكم
اخواني كيف يمكن عمل اشعارات او رسائل عامه يعني بحيث تكون رساله واحده في قاعدة البيانات تذهب الى جميع المستخدمين، عوضا عن ارسال وتكرار نفس الرساله لكل مستخدم، هذا الامر سهل وقد قمت به ولكن الامر المهم والصعب كيف اجعل المستخدم يقوم بحذف هذه الرساله بحيث لاتظهر عنده بعد حذفها بينما تظهر عند باقي المستخدمين الذين لم يحذفوها، كما هو الحال في اشعارات فيس بوك 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

فيما يلي كود PHP بسيط يسمح للمستخدم بحذف رسالة مرسلة إلى جميع المستخدمين:  

<?php

// Connect to the database
$db = mysqli_connect("host", "username", "password", "database");

// Check if the user has submitted the form
if (isset($_POST['delete'])) {
  // Get the message id from the form
  $id = $_POST['id'];

  // Delete the message from the database
  $sql = "DELETE FROM messages WHERE id='$id'";
  mysqli_query($db, $sql);

  // Redirect the user back to the messages page
  header("Location: messages.php");
  exit;
}

// Get the message id from the URL
$id = $_GET['id'];

// Retrieve the message from the database
$sql = "SELECT * FROM messages WHERE id='$id'";
$result = mysqli_query($db, $sql);
$message = mysqli_fetch_assoc($result);

?>

<!-- Display the message and the delete form -->
<h2><?php echo $message['subject']; ?></h2>
<p><?php echo $message['body']; ?></p>

<form action="" method="post">
  <input type="hidden" name="id" value="<?php echo $id; ?>">
  <input type="submit" name="delete" value="Delete">
</form>

يستخدم هذا البرنامج النصي قاعدة بيانات MySQL لتخزين الرسائل. ستحتاج إلى استبدال "المضيف" و "اسم المستخدم" و "كلمة المرور" و "قاعدة البيانات" بالقيم المناسبة لإعدادك.

عندما يرسل المستخدم النموذج ، يتم حذف الرسالة من قاعدة البيانات وإعادة توجيه المستخدم مرة أخرى إلى صفحة الرسائل. إذا لم يرسل المستخدم النموذج ، يقوم البرنامج النصي باسترداد الرسالة من قاعدة البيانات ويعرضها مع نموذج الحذف.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 48 دقائق مضت قال بلال زيادة:

فيما يلي كود PHP بسيط يسمح للمستخدم بحذف رسالة مرسلة إلى جميع المستخدمين:  

<?php

// Connect to the database
$db = mysqli_connect("host", "username", "password", "database");

// Check if the user has submitted the form
if (isset($_POST['delete'])) {
  // Get the message id from the form
  $id = $_POST['id'];

  // Delete the message from the database
  $sql = "DELETE FROM messages WHERE id='$id'";
  mysqli_query($db, $sql);

  // Redirect the user back to the messages page
  header("Location: messages.php");
  exit;
}

// Get the message id from the URL
$id = $_GET['id'];

// Retrieve the message from the database
$sql = "SELECT * FROM messages WHERE id='$id'";
$result = mysqli_query($db, $sql);
$message = mysqli_fetch_assoc($result);

?>

<!-- Display the message and the delete form -->
<h2><?php echo $message['subject']; ?></h2>
<p><?php echo $message['body']; ?></p>

<form action="" method="post">
  <input type="hidden" name="id" value="<?php echo $id; ?>">
  <input type="submit" name="delete" value="Delete">
</form>

يستخدم هذا البرنامج النصي قاعدة بيانات MySQL لتخزين الرسائل. ستحتاج إلى استبدال "المضيف" و "اسم المستخدم" و "كلمة المرور" و "قاعدة البيانات" بالقيم المناسبة لإعدادك.

عندما يرسل المستخدم النموذج ، يتم حذف الرسالة من قاعدة البيانات وإعادة توجيه المستخدم مرة أخرى إلى صفحة الرسائل. إذا لم يرسل المستخدم النموذج ، يقوم البرنامج النصي باسترداد الرسالة من قاعدة البيانات ويعرضها مع نموذج الحذف.

عفوا اخي في الكود الذي ارسلته سيقوم الكود بحذف الرساله من قاعدة البيانات وبالتالي سوف تنحذف عند باقي المستخدمين

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يجب عليك في وقتها بان تكون بتخزين الرسالة في حقل messages مثلاُ في جميع الاعضاء وبالتالي اليوزر الذي يرى هذه الرسالة يمكنه من تفريغ قيمة الحقل messages لديه فقط 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 13 دقائق مضت قال بلال زيادة:

يجب عليك في وقتها بان تكون بتخزين الرسالة في حقل messages مثلاُ في جميع الاعضاء وبالتالي اليوزر الذي يرى هذه الرسالة يمكنه من تفريغ قيمة الحقل messages لديه فقط 

لا اعتقد ان هذا الحل لقد جربت عمل جدول اخزن فيه الرسائل المحذوفه مع تخزين اي دي العضو ولكن واجهتني مشكله في ربط الجداول

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 14 دقائق مضت قال علي الكاسر:

لا اعتقد ان هذا الحل لقد جربت عمل جدول اخزن فيه الرسائل المحذوفه مع تخزين اي دي العضو ولكن واجهتني مشكله في ربط الجداول

يبدو أنك لم تفهم ما قصدته سأرفق لك مثلاً يوضح هذا الأمر 

$user_id = 1;

// Connect to the database
$conn = mysqli_connect("hostname", "username", "password", "database_name");

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Prepare the update query
$query = "UPDATE table_name SET message = '' WHERE user_id = $user_id";

// Execute the query
$result = mysqli_query($conn, $query);

// Check if the query was successful
if ($result) {
    echo "Column message emptied successfully";
} else {
    echo "Error: " . $query . "<br>" . mysqli_error($conn);
}

// Close the connection
mysqli_close($conn);

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 ساعة قال بلال زيادة:

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك أكثر من طريقة و يبقى الأمر عليك أي طريقة تختار لذلك لا يمكنني ترشيح أي طريقة تريد العمل بها ، و لكن بكل الأحوال يمكنك أيضا من حذف الرسائل التي مضى عليها وقت طويل بشكل أتوماتيك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 49 دقائق مضت قال بلال زيادة:

لكن بكل الأحوال يمكنك أيضا من حذف الرسائل التي مضى عليها وقت طويل بشكل أتوماتيك

نعم هذا الامر حسبت حسابه وليس صعبا يمكن تنفيذه بسهوله. 

هل يمكنك التواصل معي على وات اب او فيس بوك لاشرح لك مشكلتي بشكل ادق 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...