مشكلة في عملية ال Render عند عرض الصفحة
السلام عليكم
مشكلة بسيطة واجهتني.. مثلاً.. عند قيام المستخدم بفتح صفحة تعديل المعلومات.. يقوم بتعديل معلوماته بشكل طبيعي ثم يضغط على Save تقوم الصفحة بعمل POST Back تغير المعلومات في قاعدة البيانات و تعرض المعلومات الجديدة في الحقول قابلة للتعديل مرة أخرى ما يحدث هو أن النتيجة الموجودة في الحقول هي ذاتها القديمة.. و على المستخدم أن يقوم بعمل refresh للصفحة لتظهر المعلومات الجديدة.. هل واجهت أحدكم هذه المشكلة من قبل؟؟ أرجو إفادتي تحياتي لكم.
2 إجابات
المشكلة لم تحل في جميع الصفحات ..
مثلاً .. <?php function print_dashboard() { ?> <form method="post"> <?php if($_POST['note_submit']) { if(Website::update_notice($_POST['notice'])) { ?><div class="success">Updated Successfully !</div><?php } else { ?><div class="error">Failed Update The Notice !</div><?php } } ?> <h3>Website Statistics</h3> <fieldset> <table cellpadding="0" cellspacing="0"> <tr> <td>Contents</td> <td>Published</td> <td>Not Published</td> <td>Drafts</td> </tr> <tr class="odd"> <td><?php echo Content::get_contents_count(); ?></td> <td><?php echo Content::get_contents_count("WHERE `content_status` = 'published'"); ?></td> <td><?php echo Content::get_contents_count("WHERE `content_status` = 'not_published'"); ?></td> <td><?php echo Content::get_contents_count("WHERE `content_status` = 'drafts'"); ?></td> </tr> <tr> <td>Comments</td> <td>Published</td> <td>Not Published</td> <td>Drafts</td> </tr> <tr class="odd"> <td><?php echo Comment::get_comments_count(); ?></td> <td><?php echo Comment::get_comments_count("WHERE `comment_status` = 'published'"); ?></td> <td><?php echo Comment::get_comments_count("WHERE `comment_status` = 'not_published'"); ?></td> <td><?php echo Comment::get_comments_count("WHERE `comment_status` = 'drafts'"); ?></td> </tr> </table> </fieldset> <h3>Notice</h3> <fieldset> <textarea rows="8" cols="" name="notice"><?php echo stripslashes(SITE_NOTICE); ?></textarea><br /><br /> <input type="submit" value="Save" name="note_submit" id="note_submit" /> </fieldset> </form> <?php } ?> هنا لم يتم حل المشكلة .... !! بواسطة: Nasser 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا يبدو أني نعست .. good work :)
طبعا واجهتنى .. المشكلة بسيطة للغاية عليك جلب القيم من قاعدة البيانات بعد الحفظ فى القاعدة كمثال:
if($_POST){ //الحفظ الاول } //بعد ذلك الاستدعاء $row = get_row(); او بكل بساطة يمكنك استخدام دالة Header للتحويل لنفس الصفحة مرة اخرى بواسطة: MacOS تعديل: MacOS 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا مممممممممميبدو أن حل المشكلة ليس بهذه الطريقةعلي أولاً أن أقوم بعمل المعالجة قبل أن يبدأ السيرفر بإرسال عناصر صفحة ال HTMLلأني دائماً أقوم بالمعالجة قبل العرض .. ولكن تم حل المشكلة عندما قمت بوضع الكود تماماً قبل صفحة HTML >>شكرا على المساعدة ^_^..هذه المشكلة أبسط من السابقة ههه ههههههههه يوجد الكثير من الطرق لعمل هذا |