الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خطاء في كود تعديل البيانات

بدأه man in dark في 13 سبتمبر 2011 · 21 رد · 1,531 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني يوجد خطاء في كود تعديل البيانات ولكن لايظهر لي رسالة خطاء

الصفحة تاخذ رقم id وتظهر البيانات بشكل صحيح ولكن عند الضغط على تعديل البيانات لا يعدل البيانات ولايظهر رسالة خطاء

الكود كامل

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:../index.php");
}

include('../config.php');


$id=$_GET['id'];
$fullname2=$_SESSION['fullname'] ;
$employeeid2=$_SESSION['employeeid'] ;


if($_GET['action']=="mk1"){ 

$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);

$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());


if($result){


 for($i=0;$i<count($_POST[question]);$i++){ 
$question=addslashes($_POST['question'][$i]); 
$answer1=addslashes($_POST['answer1'][$i]); 
$choose1=addslashes($_POST['choose1'][$i]); 
$answer2=addslashes($_POST['answer2'][$i]); 
$choose2=addslashes($_POST['choose2'][$i]); 
$answer3=addslashes($_POST['answer3'][$i]); 
$choose3=addslashes($_POST['choose3'][$i]); 
$answer4=addslashes($_POST['answer4'][$i]); 
$choose4=addslashes($_POST['choose4'][$i]); 


$sql2="UPDATE qquiz SET  question='$question', answer1='$answer1', choose1='$choose1', answer2='$answer2', choose2='$choose2', answer3='$answer3', choose3='$choose3', answer4='$answer4', choose4='$choose4'  WHERE id='$id'";
$result2=mysql_query($sql2) or die(mysql_error());  

if($result2){}
}

}
else {
echo "<center>خطاء في ادخال البيانات الرجاء الاتصال بالدعم الفني</center>";
}}







$sql="SELECT * FROM qatitle WHERE idtitle='$id' ";
$result=mysql_query($sql);
$rows= mysql_fetch_array($result) 		
	?>	
<td><form name="mk1" method="post" action="mk1.php?action=mk1" style="font-family: AnyName;"></td>

<table border="0" width="100%" dir="rtl" >
	<tr>
<input name="author" type="hidden" id="author" value="<?php echo $fullname2;  ?>"/>
<input name="idauthor" type="hidden" id="idauthor" value="<?php echo $employeeid2;  ?>"/>

	<tr>
		<td><input name="title" type="text" id="title" value="<? echo $rows['title']; ?>"></td>
	</tr>
	<tr>
		<td rowspan="2"><textarea rows="8" name="info" cols="40"  style="color: #000000"><? echo $rows['info']; ?></textarea></td>
	<tr>
		<td></td>
	</tr>
	</tr>



<?php			
$sqlchoo="SELECT * FROM qquiz WHERE idtitle='$id' ORDER BY id";
$resultchoo=mysql_query($sqlchoo);
while($row= mysql_fetch_array($resultchoo)){
?>
<tr><td>السؤال</td>
<td><input name="question[]" type="text" id="question" size="40" value="<? echo $row['question']; ?>"></td></tr>
<tr><td>الاختيار الاول</td>
<td><input name="choose1[]" type="text" id="choose1" value="<?php echo $row['choose1']; ?>">
<select name="answer1[]">
<option <?if($row['answer1'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer1'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثاني</td>
<td><input name="choose2[]" type="text" id="choose2" value="<?php echo $row['choose2']; ?>">
<select name="answer2[]">
<option <?if($row['answer2'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer2'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثالث</td>
		<td><input name="choose3[]" type="text" id="choose3" value="<?php echo $row['choose3']; ?>">
<select name="answer3[]">
<option <?if($row['answer3'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer3'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الرابع</td>
<td><input name="choose4[]" type="text" id="choose4" value="<?php echo $row['choose4']; ?>">
<select name="answer4[]">
<option <?if($row['answer4'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer4'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<?php
 }
?>	
<td><input name="id" type="hidden" id="id" value="<? echo $upe['id']; ?>"></td>
<td><input type="submit" name="Submit" value=" تعديل البيانات" ></td></tr>

   </tr>

</table>

تم تعديل هذه المشاركة بواسطة man in dark في 13 سبتمبر 2011 في 23:20

#2

ضع

 $id=$_POST['id'];

بدل

 $id=$_GET['id'];

واستعمل mysql_real_escape_string بدل addslashes، لأن addslashes غير فعالة ضد ال sql injection

-----------------------------------------

تعديل: كنت مخطئا في جزئية وقد أزلتها blush.gif

تم تعديل هذه المشاركة بواسطة herch في 14 سبتمبر 2011 في 00:42

1
#3
$id=$POST['id'];

وهل تريد sql2 على طول حلقة التكرار

تم تعديل هذه المشاركة بواسطة La Martir في 14 سبتمبر 2011 في 01:02

#4

تم اضافه

$id=$POST['id'];

ولكن نفس المشكله لايعدل البيانات ولايظهر رساله خطاء

الكود

if($_GET['action']=="marketingeduupdate"){ 

$id=addslashes($_POST['id']);
$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);



$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info' WHERE id='$id'";



$result=mysql_query($sql) or die(mysql_error());


if($result){


 for($i=0;$i<count($_POST[question]);$i++){ 
$id=addslashes($_POST['id']);
$question=addslashes($_POST['question'][$i]); 
$answer1=addslashes($_POST['answer1'][$i]); 
$choose1=addslashes($_POST['choose1'][$i]); 
$answer2=addslashes($_POST['answer2'][$i]); 
$choose2=addslashes($_POST['choose2'][$i]); 
$answer3=addslashes($_POST['answer3'][$i]); 
$choose3=addslashes($_POST['choose3'][$i]); 
$answer4=addslashes($_POST['answer4'][$i]); 
$choose4=addslashes($_POST['choose4'][$i]); 


$sql2="UPDATE qquiz SET  question='$question', answer1='$answer1', choose1='$choose1', answer2='$answer2', choose2='$choose2', answer3='$answer3', choose3='$choose3', answer4='$answer4', choose4='$choose4'  WHERE id='$id'";

$result2=mysql_query($sql2) or die(mysql_error());  

if($result2){}
}

}
else {
echo "<center>خطاء في ادخال البيانات الرجاء الاتصال بالدعم الفني</center>";
}}
#5

هل يدخل إلى ال if؟؟ اعمل echo داخله لمعرفة إذا كان ال if ينفذ.

اعمل

print_r($_POST);

لمعرفة إذا كان هناك مشكل في القيم المرسلة

#6

جرب تستخدم الاستعلام ده

$sql="UPDATE qatitle SET  author='".$author."', idauthor='".$idauthor."', title='".$title."', info='".$info."' WHERE id='".$id."'";

و بعدين

<td><input name="id" type="hidden" id="id" value="<? echo $upe['id']; ?>"></td>

انت جبت upe ديه ازاى ؟ ولا منين ؟

حاول تشوف لو الحقل ده بياخد القيمة صحيح ولا لا ؟

اعمل Debug مسح كودك كله كده و اكتب

echo $_POST['id'];

شوف القيمة مظبوطة ولا لا

Life is not the amount of breaths you take, it's the moments that take your breath away

#7

اخي herch لقد وضعت الكود لمعرفه إذا كان ال if ينفذ

print_r($_POST);

لقد اظهار جميع البيانات المعدله في اعلى الصفحة بشكل صحيح

ولكن لم يتم ادخال البيانات الى قاعدة البيانات

....................................................

اخي فؤاد عبد الرازق لقد اخطاءت في جلب id اليس من المفترض ان يستبدل الكود...

<td><input name="id" type="hidden" id="id" value="<? echo $upe['id']; ?>"></td>

بهذا لكي ياخذ رقم id

<td><input name="id" type="hidden" id="id" value="<? echo $row['id']; ?>"></td>

نفس المشكله لايدخل البيانات الى قاعدة البيانات

....................................................

#8

هذه قاعدة البيانات...

جدول qatitle اسماء المواد..

post-131439-052800000 1315999130_thumb.j

جدول qquiz اسئلة المواد..

post-131439-032309400 1315999138_thumb.j

الربط بين الجدولين عن طريق idtitle في كلا الجدولين... لو تلاحظ الاسئلة المدخله لمادة الفيزياء

بحيث اذا دخل المعلم على الصفحة يقدر يعدل على اسم المادة وعلى الاسئلة التابعة للمادة

......................

قاعدة البيانات

-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
-- 
-- المزود: localhost
-- أنشئ في: 14 سبتمبر 2011 الساعة 14:22
-- إصدارة المزود: 5.0.22
--  PHP إصدارة: 4.4.4
-- 
-- قاعدة البيانات: `www`
-- 

-- --------------------------------------------------------

-- 
-- بنية الجدول `qatitle`
-- 

CREATE TABLE `qatitle` (
  `id` int(50) NOT NULL auto_increment,
  `title` varchar(50) NOT NULL,
  `info` longtext NOT NULL,
  `author` varchar(50) NOT NULL,
  `idauthor` varchar(50) NOT NULL,
  `idtitle` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=22 ;

-- 
-- إرجاع أو إستيراد بيانات الجدول `qatitle`
-- 

INSERT INTO `qatitle` (`id`, `title`, `info`, `author`, `idauthor`, `idtitle`) VALUES 
(1, 'رياضيات', 'مختصر المادة', 'محمد', '8855', '1'),
(2, 'فيزياء', 'مختصر المادة', 'محمد', '8855', '2'),
(3, 'انجليزي', 'مختصر المادة', 'محمد', '8855', '3'),
(4, 'القران الكريم', 'مختصر المادة', 'محمد', '8855', '4');

-- --------------------------------------------------------

-- 
-- بنية الجدول `qquiz`
-- 

CREATE TABLE `qquiz` (
  `id` int(50) NOT NULL auto_increment,
  `question` varchar(100) NOT NULL,
  `idtitle` varchar(50) NOT NULL,
  `answer1` varchar(50) NOT NULL default '0',
  `choose1` varchar(100) NOT NULL,
  `answer2` varchar(50) NOT NULL default '0',
  `choose2` varchar(100) NOT NULL,
  `answer3` varchar(50) NOT NULL default '0',
  `choose3` varchar(100) NOT NULL,
  `answer4` varchar(50) NOT NULL default '0',
  `choose4` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=42 ;

-- 
-- إرجاع أو إستيراد بيانات الجدول `qquiz`
-- 

INSERT INTO `qquiz` (`id`, `question`, `idtitle`, `answer1`, `choose1`, `answer2`, `choose2`, `answer3`, `choose3`, `answer4`, `choose4`) VALUES 
(1, 'السؤال1', '2', '25', 'جواب1', '0', 'جواب2', '0', 'جواب3', '0', 'جواب4'),
(2, 'السؤال2', '2', '0', 'جواب1', '25', 'جواب2', '0', 'جواب3', '0', 'جواب4'),
(3, 'السؤال3', '2', '0', 'جواب1', '0', 'جواب2', '25', 'جواب3', '0', 'جواب4'),
(4, 'السؤال4', '2', '0', 'جواب1', '0', 'جواب2', '0', 'جواب3', '25', 'جواب4');

الكود المستخدم

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:../index.php");
}

include('../config.php');


$id=$_GET['id'];
$fullname2=$_SESSION['fullname'] ;
$employeeid2=$_SESSION['employeeid'] ;


if($_GET['action']=="mk1"){ 

$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);

$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());


if($result){


 for($i=0;$i<count($_POST[question]);$i++){ 
$question=addslashes($_POST['question'][$i]); 
$answer1=addslashes($_POST['answer1'][$i]); 
$choose1=addslashes($_POST['choose1'][$i]); 
$answer2=addslashes($_POST['answer2'][$i]); 
$choose2=addslashes($_POST['choose2'][$i]); 
$answer3=addslashes($_POST['answer3'][$i]); 
$choose3=addslashes($_POST['choose3'][$i]); 
$answer4=addslashes($_POST['answer4'][$i]); 
$choose4=addslashes($_POST['choose4'][$i]); 


$sql2="UPDATE qquiz SET  question='$question', answer1='$answer1', choose1='$choose1', answer2='$answer2', choose2='$choose2', answer3='$answer3', choose3='$choose3', answer4='$answer4', choose4='$choose4'  WHERE id='$id'";
$result2=mysql_query($sql2) or die(mysql_error());  

if($result2){}
}

}
else {
echo "<center>خطاء في ادخال البيانات الرجاء الاتصال بالدعم الفني</center>";
}}







$sql="SELECT * FROM qatitle WHERE idtitle='$id' ";
$result=mysql_query($sql);
$rows= mysql_fetch_array($result)               
        ?>      
<td><form name="mk1" method="post" action="mk1.php?action=mk1" style="font-family: AnyName;"></td>

<table border="0" width="100%" dir="rtl" >
        <tr>
<input name="author" type="hidden" id="author" value="<?php echo $fullname2;  ?>"/>
<input name="idauthor" type="hidden" id="idauthor" value="<?php echo $employeeid2;  ?>"/>

        <tr>
                <td><input name="title" type="text" id="title" value="<? echo $rows['title']; ?>"></td>
        </tr>
        <tr>
                <td rowspan="2"><textarea rows="8" name="info" cols="40"  style="color: #000000"><? echo $rows['info']; ?></textarea></td>
        <tr>
                <td></td>
        </tr>
        </tr>



<?php                   
$sqlchoo="SELECT * FROM qquiz WHERE idtitle='$id' ORDER BY id";
$resultchoo=mysql_query($sqlchoo);
while($row= mysql_fetch_array($resultchoo)){
?>
<tr><td>السؤال</td>
<td><input name="question[]" type="text" id="question" size="40" value="<? echo $row['question']; ?>"></td></tr>
<tr><td>الاختيار الاول</td>
<td><input name="choose1[]" type="text" id="choose1" value="<?php echo $row['choose1']; ?>">
<select name="answer1[]">
<option <?if($row['answer1'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer1'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثاني</td>
<td><input name="choose2[]" type="text" id="choose2" value="<?php echo $row['choose2']; ?>">
<select name="answer2[]">
<option <?if($row['answer2'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer2'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثالث</td>
                <td><input name="choose3[]" type="text" id="choose3" value="<?php echo $row['choose3']; ?>">
<select name="answer3[]">
<option <?if($row['answer3'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer3'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الرابع</td>
<td><input name="choose4[]" type="text" id="choose4" value="<?php echo $row['choose4']; ?>">
<select name="answer4[]">
<option <?if($row['answer4'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer4'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<?php
 }
?>      
<td><input name="id" type="hidden" id="id" value="<? echo $row['id']; ?>"></td>
<td><input type="submit" name="Submit" value=" تعديل البيانات" ></td></tr>

   </tr>

</table>

بس الى الان يوجد مشكله في التعديل على البيانات ولايظهر رسالة خطاء..

المرفقات
1.JPG2.JPG

تم تعديل هذه المشاركة بواسطة man in dark في 14 سبتمبر 2011 في 14:28

#9

شوفت قيمة الــ

echo $_POST['id'];

القيمة طلعت صح او غلط ؟

Life is not the amount of breaths you take, it's the moments that take your breath away

#10

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

<?php echo $_POST['id'];?>

اذا كنت تقصد ذلك الصفحة تظهر فارغة لايظهر اي شي

#11

أخي العزيز وأنا أتصفح الكود وجدت هذه لديك .. دون فاصلة منقوطة .

$rows= mysql_fetch_array($result)

ضع فاصلة منقوطة ..

وجرب الكود ...

#12
La Martir كتب:

أخي العزيز وأنا أتصفح الكود وجدت هذه لديك .. دون فاصلة منقوطة .

$rows= mysql_fetch_array($result)

ضع فاصلة منقوطة ..

وجرب الكود ...

نفس المشكلة

#13
اقتباس
اذا كنت تقصد ذلك الصفحة تظهر فارغة لايظهر اي شي

طيب ما خلاص كده مشكلتك اتحلت :)

انت كده عرفت ان الخطأ مش فى الاستعلام الخطأ فى المتغير اللى بيتم عليه الاستعلام :)

$sql="SELECT * FROM qatitle WHERE idtitle='$id' ";

غير الاستعلام خليه بالشكل ده

$sql="SELECT * FROM qatitle WHERE idtitle='".$_GET['id']."'";

ان شاء الله يشتغل

Life is not the amount of breaths you take, it's the moments that take your breath away

#14

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

هل عندما عدلت

$id=$_GET['id'];

إلى

$id=$_POST['id'];

وجدت أنك عند دخولك لصفحة التعديل لا تظهر البيانات؟ لذلك اعدتها إلى ما كانت عليه؟

هل عند دخولك لصفحة التعديل يكون هناك id في رابط الصفحة؟

جرب أن تستبدل هذا السطر:

$id=$_GET['id'];

بهذا

$id=isset($_POST['id'])?$_POST['id']:$_GET['id'];

جرب ذلك و أخبرني بالنتيجة

ولا تنسى إن لم يحل ذلك المشكلة أن تجيب عن سؤال كون هناك id في رابط الصفحة عندما تدخل إلى صفحة التعديل

بتوفيق الله...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 15 سبتمبر 2011 في 02:02

Everything will be fine when we TALK LESS, DO MORE


#15
MoHaMMaD Pro كتب:

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

هل عندما عدلت

$id=$_GET['id'];

إلى

$id=$_POST['id'];

وجدت أنك عند دخولك لصفحة التعديل لا تظهر البيانات؟ لذلك اعدتها إلى ما كانت عليه؟

هل عند دخولك لصفحة التعديل يكون هناك id في رابط الصفحة؟

نعم ...عند دخولي لصفحة التعديل لا تظهر البيانات؟ لذلك اعدتها إلى ما كانت عليه؟

عند استعمال

$id=$_GET['id'];

يكون هنالك رقم id في رابط الصفحة

---------------------------------------------------------------------

MoHaMMaD Pro كتب:

جرب أن تستبدل هذا السطر:

$id=$_GET['id'];

بهذا

$id=isset($_POST['id'])?$_POST['id']:$_GET['id'];

جرب ذلك و أخبرني بالنتيجة

ولا تنسى إن لم يحل ذلك المشكلة أن تجيب عن سؤال كون هناك id في رابط الصفحة عندما تدخل إلى صفحة التعديل

بتوفيق الله...

نفس المشكلة تظهر البيانات ولكن عند التعديل لايتم تعديل البيانات

#16

لقد قمت بمراجعة الكود مرة أخرى

أظن أن الكود الخاص بك ليس فقط أخطاء برمجية فحسب وإنما هناك بعض الأخطاء في تركيب الفكرة,

بالنظر إلى القيم الموجودة لديك في قاعدة البيانات نجد أن جميع القيم الموجودة في الجدول مرتبطه بالـ record ذو المعرف رقم 2 من الجدول الآخر

ماذا سيحدث في حال أردت تعديل بتمرير المعرف 3؟ أو 1؟

لن يظهر الجزأ السفلي من الكود المتعلق بالاسئلة و الأجوبة ﻷنه مرتبط بوجود نتيجة لهذا الاستعلام:

$sqlchoo="SELECT * FROM qquiz WHERE idtitle='$id' ORDER BY id";

الخطأ الذي يسبب عدم تعديل البيانات هو وجود هذا السطر:

<td><input name="id" type="hidden" id="id" value="<? echo $row['id']; ?>"></td>

خارج حلقة التكرار while حتى بهذه الفكرة يوجد لبس

لقد أجريت بعض الاصلاحات على الكود(اصلاحات برمجية وليس على فكرة العمل)

جرب هذا الكود:

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:../index.php");
}

include('../config.php');

$id=isset($_POST['id'])?$_POST['id']:$_GET['id'];
$fullname2=$_SESSION['fullname'] ;
$employeeid2=$_SESSION['employeeid'] ;


if($_GET['action']=="mk1"){ 

$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);

$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());


if($result){


 for($i=0;$i<count($_POST[question]);$i++){ 
$question=addslashes($_POST['question'][$i]); 
$answer1=addslashes($_POST['answer1'][$i]); 
$choose1=addslashes($_POST['choose1'][$i]); 
$answer2=addslashes($_POST['answer2'][$i]); 
$choose2=addslashes($_POST['choose2'][$i]); 
$answer3=addslashes($_POST['answer3'][$i]); 
$choose3=addslashes($_POST['choose3'][$i]); 
$answer4=addslashes($_POST['answer4'][$i]); 
$choose4=addslashes($_POST['choose4'][$i]);
$ids	=  $_POST['ids'][$i];


$sql2="UPDATE qquiz SET  question='$question', answer1='$answer1', choose1='$choose1', answer2='$answer2', choose2='$choose2', answer3='$answer3', choose3='$choose3', answer4='$answer4', choose4='$choose4'  WHERE id='$ids'";
$result2=mysql_query($sql2) or die(mysql_error());  

if($result2){}
}

}
else {
echo "<center>خطاء في ادخال البيانات الرجاء الاتصال بالدعم الفني</center>";
}}







$sql="SELECT * FROM qatitle WHERE idtitle='$id' ";
$result=mysql_query($sql);
$rows= mysql_fetch_array($result)   			
    	?>  	
<td><form name="mk1" method="post" action="mk1.php?action=mk1" style="font-family: AnyName;"></td>

<table border="0" width="100%" dir="rtl" >
    	<tr>
<input name="author" type="hidden" id="author" value="<?php echo $fullname2;  ?>"/>
<input name="idauthor" type="hidden" id="idauthor" value="<?php echo $employeeid2;  ?>"/>

    	<tr>
            	<td><input name="title" type="text" id="title" value="<? echo $rows['title']; ?>"></td>
    	</tr>
    	<tr>
            	<td rowspan="2"><textarea rows="8" name="info" cols="40"  style="color: #000000"><? echo $rows['info']; ?></textarea></td>
    	<tr>
            	<td></td>
    	</tr>
    	</tr>



<?php 	
echo $id;          	
$sqlchoo="SELECT * FROM qquiz WHERE idtitle='$id' ORDER BY id";
$resultchoo=mysql_query($sqlchoo);
while($row= mysql_fetch_array($resultchoo)){
?>
<tr><td>السؤال</td>
<td><input name="question[]" type="text" id="question" size="40" value="<? echo $row['question']; ?>"></td></tr>
<tr><td>الاختيار الاول</td>
<td><input name="choose1[]" type="text" id="choose1" value="<?php echo $row['choose1']; ?>">
<select name="answer1[]">
<option <?if($row['answer1'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer1'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثاني</td>
<td><input name="choose2[]" type="text" id="choose2" value="<?php echo $row['choose2']; ?>">
<select name="answer2[]">
<option <?if($row['answer2'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer2'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الثالث</td>
            	<td><input name="choose3[]" type="text" id="choose3" value="<?php echo $row['choose3']; ?>">
<select name="answer3[]">
<option <?if($row['answer3'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer3'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>

<tr><td>الاختيار الرابع</td>
<td><input name="choose4[]" type="text" id="choose4" value="<?php echo $row['choose4']; ?>">
<select name="answer4[]">
<option <?if($row['answer4'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer4'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></tr>
<input name="ids[]" type="hidden" value="<? echo $row['id']; ?>">
<?php
 }
?>  	
<td><input name="id" type="hidden" id="id" value="<? echo $_GET['id']; ?>"></td>
<td><input type="submit" name="Submit" value=" تعديل البيانات" ></td></tr>

   </tr>
</table>

انتبه إلى اغلاق جميع الـ td في جدول الـ HTML ﻷن لديك العديد من الاغلاقات الناقصة في الجزأ المتعلق بالأسئلة و الأجوبة(لم اقم بإصلاح هذه النقطة)

جرب وأخبرنا بالنتيجة...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 15 سبتمبر 2011 في 04:24

1

Everything will be fine when we TALK LESS, DO MORE


#17

اخي MoHaMMaD Pro الله يعطيك العافية

الكود 100%

بس لو سمحت اضافة بسيطه لجدول الاول qatitle

لقد اضافت حقول جديدة باسم filename و type1 و image و type2

بحيث يرفع ملف وصورة وتخزن في قاعدة البيانات اسم الملف ونوعه والصورة ونوعها

لقد عدلت على الفورم باضافة

enctype="multipart/form-data"

واضافت للصفحة فورم للرفع

	<tr>
		<td><input name="filename" type="file" id="filename" ></td>
	</tr>
	<tr>
		<td><input name="image" type="file" id="image" ></td>
	</tr>

وكود الرفع واضافة الى قاعدة البيانات ...علما انه يرفع الملفات الى مجلد upload

var_export( $_FILES );
$filename = $_FILES['filename']['name'];
$type1 = $_FILES['filename']['type'];
$image = $_FILES['image']['name'];
$type2 = $_FILES['image']['type'];

        $to = "upload/".$_FILES['filename']['name'];
        move_uploaded_file($_FILES['filename']['tmp_name'], $to);

        $to = "upload/".$_FILES['image']['name'];
        move_uploaded_file($_FILES['image']['tmp_name'], $to);

$filename=$filename;
$type1=$type1;
$image=$image;
$type2=$type2;	


$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);
$datatitle=time();

$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info',
datatitle='$datatitle' , fil

الصفحة كاملة

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:../index.php");
}

include('../config.php');

$id=isset($_POST['id'])?$_POST['id']:$_GET['id'];
$fullname2=$_SESSION['fullname'] ;
$employeeid2=$_SESSION['employeeid'] ;


if($_GET['action']=="mk1"){ 

var_export( $_FILES );
$filename = $_FILES['filename']['name'];
$type1 = $_FILES['filename']['type'];
$image = $_FILES['image']['name'];
$type2 = $_FILES['image']['type'];

        $to = "upload/".$_FILES['filename']['name'];
        move_uploaded_file($_FILES['filename']['tmp_name'], $to);

        $to = "upload/".$_FILES['image']['name'];
        move_uploaded_file($_FILES['image']['tmp_name'], $to);

$filename=$filename;
$type1=$type1;
$image=$image;
$type2=$type2;	


$author=addslashes($_POST['author']);
$idauthor=addslashes($_POST['idauthor']);
$title=addslashes($_POST['title']);
$info=addslashes($_POST['info']);
$datatitle=time();

$sql="UPDATE qatitle SET  author='$author', idauthor='$idauthor', title='$title', info='$info',
datatitle='$datatitle' , filename='$filename', type1='$type1', image='$image', type2='$type2' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());


if($result){


 for($i=0;$i<count($_POST[question]);$i++){ 
$question=addslashes($_POST['question'][$i]); 
$answer1=addslashes($_POST['answer1'][$i]); 
$choose1=addslashes($_POST['choose1'][$i]); 
$answer2=addslashes($_POST['answer2'][$i]); 
$choose2=addslashes($_POST['choose2'][$i]); 
$answer3=addslashes($_POST['answer3'][$i]); 
$choose3=addslashes($_POST['choose3'][$i]); 
$answer4=addslashes($_POST['answer4'][$i]); 
$choose4=addslashes($_POST['choose4'][$i]);
$ids    =  $_POST['ids'][$i];


$sql2="UPDATE qquiz SET  question='$question', answer1='$answer1', choose1='$choose1', answer2='$answer2', choose2='$choose2', answer3='$answer3', choose3='$choose3', answer4='$answer4', choose4='$choose4'  WHERE id='$ids'";
$result2=mysql_query($sql2) or die(mysql_error());  

if($result2){}
}

}
else {
echo "<center>خطاء في ادخال البيانات الرجاء الاتصال بالدعم الفني</center>";
}}







$sql="SELECT * FROM qatitle WHERE idtitle='$id' ";
$result=mysql_query($sql);
$rows= mysql_fetch_array($result)                       
        ?>      
<td><form name="mk1" method="post" enctype="multipart/form-data"  action="mk1.php?action=mk1" style="font-family: AnyName;"></td>

<table border="0" width="100%" dir="rtl" >
        <tr>
<input name="author" type="hidden" id="author" value="<?php echo $fullname2;  ?>"/>
<input name="idauthor" type="hidden" id="idauthor" value="<?php echo $employeeid2;  ?>"/>

        <tr>
                <td><input name="title" type="text" id="title" value="<? echo $rows['title']; ?>"></td>
        </tr>
        <tr>
                <td rowspan="2"><textarea rows="8" name="info" cols="40"  style="color: #000000"><? echo $rows['info']; ?></textarea></td>
        <tr>
                <td></td>
        </tr>
        </tr>
	<tr>
		<td><input name="filename" type="file" id="filename" ></td>
	</tr>
	<tr>
		<td><input name="image" type="file" id="image" ></td>
	</tr>


<?php   
echo $id;               
$sqlchoo="SELECT * FROM qquiz WHERE idtitle='$id' ORDER BY id";
$resultchoo=mysql_query($sqlchoo);
while($row= mysql_fetch_array($resultchoo)){
?>
<tr><td>السؤال</td>
<td><input name="question[]" type="text" id="question" size="40" value="<? echo $row['question']; ?>"></td></tr>
<tr><td>الاختيار الاول</td>
<td><input name="choose1[]" type="text" id="choose1" value="<?php echo $row['choose1']; ?>">
<select name="answer1[]">
<option <?if($row['answer1'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer1'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></td></tr>

<tr><td>الاختيار الثاني</td>
<td><input name="choose2[]" type="text" id="choose2" value="<?php echo $row['choose2']; ?>">
<select name="answer2[]">
<option <?if($row['answer2'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer2'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></td></tr>

<tr><td>الاختيار الثالث</td>
                <td><input name="choose3[]" type="text" id="choose3" value="<?php echo $row['choose3']; ?>">
<select name="answer3[]">
<option <?if($row['answer3'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer3'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></td></tr>

<tr><td>الاختيار الرابع</td>
<td><input name="choose4[]" type="text" id="choose4" value="<?php echo $row['choose4']; ?>">
<select name="answer4[]">
<option <?if($row['answer4'] == "25"){echo "selected='selected'";}?> value="25">أختيار صحيح</optin>
<option <?if($row['answer4'] == "0"){echo "selected='selected'";}?> value="0">أختيار خاطئ</optin>
</select></td></tr>
<input name="ids[]" type="hidden" value="<? echo $row['id']; ?>">
<?php
 }
?>      
<td><input name="id" type="hidden" id="id" value="<? echo $_GET['id']; ?>"></td>
<td><input type="submit" name="Submit" value=" تعديل البيانات" ></td></tr>

   </tr>
</table>

ولكن لم يرفع الملفات وايضا لم يسجل اسم الملف ونوعه والصورة ونوعها في قاعدة البيانات

تم تعديل هذه المشاركة بواسطة man in dark في 15 سبتمبر 2011 في 05:19

#18

لا أرى أن هناك مشكلة في كود الرفع,

عند الضغط على تعديل هل يظهر لك مصفوفة تحوي اسم الملف و اسم الصورة؟

إن كان كذلك فعليك التأكد من وجود المجلد upload في ذات المجلد الذي يحوي الصفحة, بالاضافة إلى التأكد من صلاحيات المجلد upload, أنت تعمل على windows أو Linux؟

إذا أردت إيقاف ظهور المصفوفة التي يتم طباعتها, تخلص من هذا السطر

var_export( $_FILES );

بتوفيق الله...

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 15 سبتمبر 2011 في 13:02

Everything will be fine when we TALK LESS, DO MORE


#19
MoHaMMaD Pro كتب:

لا أرى أن هناك مشكلة في كود الرفع,

عند الضغط على تعديل هل يظهر لك مصفوفة تحوي اسم الملف و اسم الصورة؟

إن كان كذلك فعليك التأكد من وجود المجلد upload في ذات المجلد الذي يحوي الصفحة, بالاضافة إلى التأكد من صلاحيات المجلد upload, أنت تعمل على windows أو Linux؟

إذا أردت إيقاف ظهور المصفوفة التي يتم طباعتها, تخلص من هذا السطر

var_export( $_FILES );

بتوفيق الله...

لا ياخي لايظهر مصفوفة تحوي اسم الملف و اسم الصورة

والمجلد upload موجود في ذات المجلد الذي يحوي الصفحة بالنسبه للصلاحيه ان اعمل على localhost ونظام التشغيل windows xp والسيرفر سيرفر الجمل

#20

المساعدة لو سمحتم....

#21

لقد قمت بنسخ كود الرفع فقط و جربته ولم يعطي أي مشكلة!

وهذا يؤكد ما ذكرته في الرد السابق بعدم وجود أي مشكلة على كود الرفع

ما لم نرى المشكلة لن يكون هناك حل

ملاحظة:

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

نجد أن هناك الحقل: idtitle أنت تضعه في الكود الأخير باسم datatitle فهل قمت بتحويله في قاعدة البيانات؟

هل اظهار الأخطاء(display_error) معطل لديك؟

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 16 سبتمبر 2011 في 14:11

1

Everything will be fine when we TALK LESS, DO MORE


#22

تم حل المشكله الله يعطيكم العافية.....

مواضيع مشابهة