اين الخطأ في جملة الــ insert هذه
السلام عليكم ورحمة الله وبركاته
في الحقيقة واجهة مشكلة غريبة
لدرجة انها عقدتني ..
في البداية
هنا صفحة عبارة عن طلب
صفحة الhtml
كود PHP:
<html dir="rtl">
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
</head>
<body>
<form method="POST" action="index.php" enctype="multipart/form-data">
<div align="center">
<b>
<span lang="ar-sa"><font face="Traditional Arabic">إضافة</font></span><font face="Traditional Arabic">
/</font></b><span lang="ar-sa"><b><font face="Traditional Arabic" style="font-size: 11pt"> مساجد بحاجة الي بناء , مساجد بحاجة الي ترميم </font></b></span><br>
<table border="1" style="border-collapse: collapse" width="300" id="table1" bordercolor="#999999">
<tr>
<td>
<div align="center">
<table border="0" cellspacing="2" style="border-collapse: collapse" width="500" id="table2">
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">نوع
المحتوى</font></span></td>
<td width="379">
<select size="1" name="type" style="font-family: Tahoma; font-size: 9pt; width: 350">
<option value="benaa">مساجد بحاجة الي بناء</option>
<option value="trmem">مساجد بحاجة الي ترميم</option>
</select></td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">المدينة </font></span></td>
<td width="379">
<input type="text" name="city" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">الموقع </font></span></td>
<td width="379">
<input type="text" name="location" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">المساحة </font></span></td>
<td width="379">
<input type="text" name="size" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">الهاتف </font></span></td>
<td width="379">
<input type="text" name="phone" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">البريد </font></span></td>
<td width="379">
<input type="text" name="email" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td align="center">
<p align="center">
<span lang="ar-sa">
<font face="Tahoma" style="font-size: 9pt">التفاصيل </font></span></td>
<td width="379">
<textarea rows="12" name="des" cols="25" style="width: 350; height: 114; font-family: Tahoma; font-size: 9pt"></textarea></td>
</tr>
<tr>
<td align="center">
</td>
<td width="379">
<font face="Tahoma" style="font-size: 9pt">
<a href=# onClick="
popUp('http://reyada-forex.com/cms/fckeditor/_samples/php/sample01.php?val='+document.getElementById('disc_a').value);">
المحرر</a></font>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p align="center">
<input type="submit" value="أرسل" name="B1" style="font-family: Tahoma; font-size: 9pt"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<p> </p>
<input type="hidden" name="action" value="add_news_dbaa">
<input type="hidden" name="sid" value="<?=$sid?> ">
<input type="hidden" name="active" value="0">
</form>
</body>
</html>
وهنا الكود الخاص بعملية الانسيرت
كود PHP:
<?
if( $action == 'add_news_dbaa' and $sid ){
$result = mysql_query ( "insert into order(type,city,location,size,phone,email,des,active)values('$type','$city','$location','$size','$phone','$email','$des','$active')" , $link );
$x = mysql_db_query ( $db , $result );
echo "<br><br><center><font face='tahoma' style='font-size: 8pt'>تم إدخال البيانات بنجاح</font>" ;
include( "add_news.php" );
}
?>
01-05-2011, 09:03 PM
جربت الكود سليم لكن المشكلة في اسم الجدول order لازم تحط عليه تنصيص
كود:
<?
if($action == 'add_news_dbaa' and $sid){
$result = mysql_query("insert into `order`(type,city,location,size,phone,email,des,active)values('$type','$city','$location','$size','$phone','$email','$des','$active')",$link);
$x = mysql_db_query($db, $result);
echo "<br><br><center><font face='tahoma' style='font-size: 8pt'>تم إدخال البيانات بنجاح</font>";
include("add_news.php");
}
?> التنصيص المذكور هو شفت+حرف ذ
01-05-2011, 09:41 PM
شكــرا لكــ اخي ..
الكود يعمل 100%
مشكلة اخــرى .. لو سمحت
قمت بعمل فورم تسجيل اعضاء
عندما يقوم بملئ البيانات في لوحة الادارة
جميع البيانات تثبت في القاعدة بشكل سليم
الا اسم المستخدم
يظهر في القاعدة نفس اسم المدير الي قام بانشاء المستخدم
ما حل هذه المشكلة حسب خبــرتك وخبرة الاعضاء والمشرفين الافاضل ..
مع الشكــر
01-05-2011, 09:50 PM
لابد من ارفاق الفورم + امر الاضافة
01-05-2011, 10:25 PM
تفضل ..
الفورم
إقتباس:
<form method="POST" action="index.php" enctype="multipart/form-data">
<div align="center">
<b>
<span lang="ar-sa"><font face="Traditional Arabic">إضافة</font></span><font face="Traditional Arabic">
/<span lang="ar-sa"> </span></font></b><span lang="ar-sa"><b>
<font face="Traditional Arabic" style="font-size: 11pt">
منطقة الأعضاء </font></b></span><br>
<table border="1" style="border-collapse: collapse" width="300" id="table1" bordercolor="#999999">
<tr>
<td>
<div align="center">
<table border="0" cellspacing="2" style="border-collapse: collapse" width="500" id="table2">
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">الصلاحية
</font></span></td>
<td width="379">
<select size="1" name="type" style="font-family: Tahoma; font-size: 9pt; width: 350">
<option value="user">عضو</option>
<option value="admin">مدير</option>
</select></td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">اسم المستخدم </font></span></td>
<td width="379">
<input type="text" name="username" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">كلمة المرور </font></span></td>
<td width="379">
<input type="password" name="password" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">البريد</font></span></td>
<td width="379">
<input type="text" name="email" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">الدولة </font></span></td>
<td width="379">
<input type="text" name="contry" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td width="111" align="center">
<span lang="ar-eg">
<font face="Tahoma" style="font-size: 9pt">رقم الهاتف </font></span></td>
<td width="379">
<input type="text" name="phone" size="20" style="width: 350; font-family: Tahoma; font-size: 9pt">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<p align="center">
<input type="submit" value="أرسل" name="B1" style="font-family: Tahoma; font-size: 9pt"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<p></p>
<input type="hidden" name="action" value="add_user_db">
<input type="hidden" name="sid" value="<?=$sid?>">
</form>
php
إقتباس:
if($action == 'add_user_db' and $sid){
$result = mysql_query("insert into admin(username,password,type,email,contry,phone)values('$username','$password','$type','$email','$co ntry','$phone')",$link);
$x = mysql_db_query($db, $result);
echo "<br><br><center><font face='tahoma' style='font-size: 8pt'>تم إدخال البيانات بنجاح</font>";
include("index.php");
}
01-05-2011, 10:54 PM
طبعا الكود مافيه مشكله و لكن طريقة تعريفك للمتغيرات
ربما تكون هي السبب لاني ربما لا ارى الكود كامل
ولكن جرب وضع التالي بدل كود البي اتش بي
كود:
$username =$_POST['username'] ;
$password =$_POST['password'] ;
$type =$_POST['type'] ;
$email =$_POST['email'] ;
$contry =$_POST['contry'] ;
$phone =$_POST['phone'] ;
if($action == 'add_user_db' and $sid){
$result = mysql_query("insert into admin(username,password,type,email,contry,phone)values('$username','$password','$type','$email','$co ntry','$phone')",$link);
$x = mysql_db_query($db, $result);
echo "<br><br><center><font face='tahoma' style='font-size: 8pt'>تم إدخال البيانات بنجاح</font>";
include("index.php");
}
01-05-2011, 11:10 PM
شكرا لك اخي الفاضل ..
وكل احترام لك
اشتغل تمام بدون مشاكل
جزاك الله كل خيــر
01-05-2011, 11:54 PM
العفو اخوي
ولكن اهم شي انك تعلمت الاخطاء اللي وقعت فيها حتى ماتتكرر معك مره اخرى
02-05-2011, 12:03 AM
بفضل الله ثم بمساعدتك اخــوي ..
اريد ان اسئلك سؤال آخر لو سمحت ..
الان لدي في الموقع ملف الشخصي .. للعضو
يدخل عليه يظهر فورم فيه كل بياناته
يعديل اللي يريده ويضغط على زر تعديل .. (هذه الفكرة المطلوبة )
لكــن عند التطبيق قمت بالاتي
إقتباس:
<form method="POST" action="index.php">
<?
$myquery= "select * from `admin` where id= $id";
$result=mysql_query($myquery,$link) ;
$username = $row["username"];
$password = $row["password"];
$email = $row["email"];
$contry = $row["contry"];
$phone = $row["phone"];
?>
<div align="center">
<table border="1" width="400" id="table6" cellspacing="1" cellpadding="2" style="border-collapse: collapse" bordercolor="#F2F2F2" align="center">
<tr>
<td align="center">
<table border="0" width="100%" id="table7" cellspacing="1" cellpadding="2" style="border-collapse: collapse">
<tr>
<td>
<font face="Tahoma" style="font-size: 9pt" color="#000000">
<span lang="ar-sa">الإسم</span></font></td>
<td>
<input type="text" name="username" value="<?=$username?>" disabled="disabled" size="20" style="font-family: Tahoma; font-size: 9pt; width: 220"></td>
</tr>
<tr>
<td>
<font face="Tahoma" style="font-size: 9pt" color="#000000">
<span lang="ar-sa">كلمة المرور</span></font></td>
<td>
<input type="password" name="password" value="<?=$password?>" size="20" style="font-family: Tahoma; font-size: 9pt; width: 220"></td>
</tr>
<tr>
<td>
<font face="Tahoma" style="font-size: 9pt" color="#000000">
<span lang="ar-sa">البريد</span></font></td>
<td>
<input type="text" name="email" size="20" value="<?=$email?>" style="font-family: Tahoma; font-size: 9pt; width: 220"></td>
</tr>
<tr>
<td>
<font face="Tahoma" style="font-size: 9pt" color="#000000">
<span lang="ar-sa">الدولة</span></font></td>
<td>
<input type="text" name="contry" size="20" value="<?=$contry?>" style="font-family: Tahoma; font-size: 9pt; width: 220"></td>
</tr>
<tr>
<td>
<font face="Tahoma" style="font-size: 9pt" color="#000000">
<span lang="ar-sa">رقم الهاتف</span></font></td>
<td>
<input type="text" name="phone" size="20" style="font-family: Tahoma; font-size: 9pt; width: 220" value="<?=$phone?>"></td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="submit" value="تعديل" name="B1" style="font-family: Tahoma; font-size: 9pt"></td>
</tr>
</table>
</td>
</tr>
</table>
</div><input type="hidden" name="action" value="edit_user_db">
</form>
الخطأ اعتقد في جميل where
كيف يمكن التعامل معها اخــي وكيف يمكنني جلب بيانات العضــو الموجود
وكيف احصل على رقم id العضو لاني اريد ان اعمل خاصية عرض المواضيع الخاصة بالاعضاء
مع العلم اني تعاملت مع السشن بهذا الشكــل ..
إقتباس:
<?
$disc=$_REQUEST['disc'];
include("functions.php");
//$disc = $Body;
include("../conn.php");
if($action == ""){
include("login.php");
}
elseif($action=="login"){
$result=mysql_query("select * from admin where username='$username' and password='$password'");
if($row = mysql_fetch_array($result)){
$expiration = time();
$result1 = mysql_query("delete from logins where expiration < $expiration");
$x = mysql_db_query($db, $result1);
session_start();
$sid = session_id();
session_unset();
session_destroy();
register_session($username, $sid);
$logged=1; }
else {
$logged=0;
include("login.php");
} }
if(($action=='logout') || ((!$action) && ($sid))){
unregister_session($sid);
include("login.php") ;
exit; }
if(($action) && ($action !='login') && (!$sid)){
header ("Location: login.php");
exit; }
if(($action) && ($action !='logout') && ($sid)){
if(check_session_time($sid)){
renew_session($sid);
$main_menu=1; }
else {
unregister_session($sid);
header ("Location: index.php");
exit; } }
وهذا هو ملف الفنكشن
إقتباس:
<?
///////////////////////////////
function auth($username,$password){
global $link;
global $db;
$result=mysql_query("select * from admins where username='$username' and password='$password' and status='Active'",$link);
if($row = mysql_fetch_array($result)){
return 1;
}
else
{
return 0;
}
}
//////////////////////////////////////
function register_session($username, $sid){
global $link;
global $db;
$expiration = time() + 3600;
$result=mysql_query("select * from logins where username='$username' and sid='$sid'",$link);
if(!$row = mysql_fetch_array($result)){
$result = mysql_query("insert into logins (username , sid , expiration) values ('$username' , '$sid' , $expiration)",$link);
$x = mysql_db_query($db, $result);
}
}
//////////////////////////////////////
function unregister_session($sid){
global $link;
global $db;
$result = mysql_query("delete from logins where sid='$sid'");
$x = mysql_db_query($db,$result);
}
//////////////////////////////////////
function renew_session($sid){
global $link;
global $db;
$expiration = time() + 3600;
$result = mysql_query("update logins set expiration=$expiration where sid='$sid'");
$x = mysql_db_query($db,$result);
}
//////////////////////////////////////
function check_session_time($sid){
global $link;
$stime = time();
$result=mysql_query("select * from logins where sid='$sid' and expiration >$stime",$link);
if($row = mysql_fetch_array($result)){
return 1;
}
else
{
return 0;
}
}
?>
بارك الله فيك اخي ..
02-05-2011, 12:22 AM
في البداية تحصل على الاي دي من العنوان
مثلا
عند الضغط على اسم العضو للتعديل على بياناته يصبح العنوان
كود:
www.####.com/edit.php?uid=2 طبعا في كود الصفحه
تحط المتغير
وتكمل
وتكمل ولكن عندك نقص
لازم تحط
كود:
$row=mysql_fetch_row($result); قبل
كود:
$username = $row["username"]; بخصوص الباقي
للاسف ماعندي خبره كافيه فيه ولكن ربما يمشي الحال معك اذا سويت التعديلات
انت جرب التعديلات ورد لي خبر واذا فيه مشكله بنحاول نحلها
02-05-2011, 12:50 AM
السلام عليكم
بالبداية، من الواضح أنك تقوم ببرمجة السكربت او الكود لديك إعتمادا على الجلوبال فاريبلز
أي المتغيرات العامة
وهو الأمر الذي يتم إغلاقه في جميع السيرفرات المستخدمة حاليا في الويب
أي انه ربما برنامجك لن يعمل في أي موقع فعلي على الانترنت أو ربما في أي سيرفر شخصي آخر بشكل سليم
الحل:
عليك استخدام المتغيرات التي ترسل من الفورم على هذا الشكل
كود PHP:
$_POST [ 'username' ]
عوضا عن
والمتغيرات المرسلة في عنوان الصفحة على هذا الشكل
عوضا عن
__________________
الخدمات البرمجية
تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)
المراسلة : http://it.rewaq.com
03-05-2011, 10:29 AM