نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#1 (permalink)  
كيف امنع تكرار البيانات الكود في الداخل..


السلام عليكم
إخواني الكرام لدي فورم تسجيل العملاء و كل عميل يقوم بالتسجيل يجب ان ان يسجل معه 3 عملاء آخرين
ويجب ان تكون بياناتهم تختلف اقصد لايمكن يسجل رقم جوال او ايميل مرتين في اي حقل ..
وهذا كود الفورم :
كود بلغة HTML:
<form method="POST" action="send.php"> <p align="center"><b><span lang="ar-sa">سجل نفسك أولا</span></b></p> <p><span lang="ar-sa">الاسم*:<input type="text" name="name" size="20"></span></p> <p><span lang="ar-sa">الجوال*:<input type="text" name="mobile" size="20"></span></p> <p><span lang="ar-sa">الايميل*:<input type="text" name="email" size="20"></span></p> <p align="center"><b><span lang="ar-sa">زميلك1 </span></b></p> <p><span lang="ar-sa">الاسم*:<input type="text" name="name0" size="20"></span></p> <p><span lang="ar-sa">الجوال*:<input type="text" name="mobile0" size="20"></span></p> <p><span lang="ar-sa">الايميل*:<input type="text" name="email0" size="20"></span></p> <p align="right">&nbsp;</p> <p align="center"><b><span lang="ar-sa">زميلك</span></b><span lang="ar-sa"> <b>2</b></span></p> <p><span lang="ar-sa">الاسم*:<input type="text" name="name1" size="20"></span></p> <p><span lang="ar-sa">الجوال*:<input type="text" name="mobile1" size="20"></span></p> <p><span lang="ar-sa">الايميل*:<input type="text" name="email1" size="20"></span></p> <p align="center">&nbsp;</p> <p align="center"><b><span lang="ar-sa">زميلك </span></b><span lang="ar-sa"> <b>3</b></span></p> <p><span lang="ar-sa">الاسم*:<input type="text" name="name2" size="20"></span></p> <p><span lang="ar-sa">الجوال*:<input type="text" name="mobile2" size="20"></span></p> <p><span lang="ar-sa">الايميل*:<input type="text" name="email2" size="20"></span></p> <p align="center">&nbsp;</p> <p align="center"><input type="submit" value="أرسل" name="B1"></p>
</form
وفي ملف send.php

كود PHP:
<?php
// الاتصال بالقاعدة
include('config.php');
//جلب محتويات الحقول
//بيانات الشخص الاول
$name=$_POST['name'];
$mobile=$_POST['mobile'];
$email=$_POST['email'];
//بيانات الثاني
$name0=$_POST['name0'];
$mobile0=$_POST['mobile0'];
$email0=$_POST['email0'];

//بيانات الثالث
$name1=$_POST['name1'];
$mobile1=$_POST['mobile1'];
$email1=$_POST['email1'];
//بيانات الرابع
$name2=$_POST['name2'];
$mobile2=$_POST['mobile2'];
$email2=$_POST['email2'];

//عمل مصفوفة من كل بيانات كل زائر على حدة
$guest1=array($name$mobile$email);
$guest2=array($name0$mobile0$email0);
$guest3=array($name1$mobile1$email1);
$guest4=array($name2$mobile2$email2);
 
//التحقق من عدم وجود تكرار في بيانات الحقول
if($guest1=$guest2 or $guest1=$guest3 or $guest1=$guest4 or $guest2=$guest3 or $guest2=$guest4 or $guest3=$guest4);{
    echo 
"عفوا لايمكن التسجيل ببيانات مكررة";
    }else{

   if(

$check=mysql_num_rows(mysql_query("select * from omla where name='$name' or
 mobile='$mobile' or email='$email' "
));
if(
$check==0){

//كود ادخال البيانات
$sql="INSERT INTO omla(id,name,mobile,email) VALUES(NULL,'$name','$mobile','$email')";
$insert=mysql_query($sql);

}else{

echo 
"عفوا بعض المعلومات موجودة في القاعدة";


   }
   }
?>
اين الخلل اخواني الكرام في الكود السابق
بارك الله فيكم؟






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 01-01-2008, 05:14 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#2 (permalink)  

انا برد عليك حسب معرفتي

لانهة الحقيقة لا يوجد لدي php على الجهاز حاليا لاتأكد من الحل

اولا

في الشرط التالي اتوقع انه يجب ان تكون علامة اليساوي مزدوجة ==
if($guest1=$guest2 or $guest1=$guest3 or $guest1=$guest4 or $guest2=$guest3 or $guest2=$guest4 or $guest3=$guest4);{

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






عقل الكمبيوتر غير متواجد حالياً   قديم 01-01-2008, 05:38 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#3 (permalink)  

كود PHP:
if($guest1=$guest2 or $guest1=$guest3 or $guest1=$guest4 or $guest2=$guest3 or $guest2=$guest4 or $guest3=$guest4); 
الغي الفاصلة المنقوطة في اخر هذا السطر وسيعمل معك جيدا.






__________________
شكر خاص لادارة سوالف لتفعيل العضوية.
انا undefinedmatrix.
undefinedmatrix@hotmail.com
من برمجتي: http://www.alsalafway.com
muslem غير متواجد حالياً   قديم 01-01-2008, 07:09 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#4 (permalink)  

أخوي الكريمين جربت الفكرتين ولكن لازال الخطأ يظهر وهذه رسالته :
كود:
Parse error: syntax error, unexpected T_ELSE in c:\appserv\www\pro\t2\t\send.php on line 31
وهذا الكود بعد التعديل :
كود PHP:
<?php
// الاتصال بالقاعدة
include('config.php');
//جلب محتويات الحقول
//بيانات الشخص الاول
$name=$_POST['name'];
$mobile=$_POST['mobile'];
$email=$_POST['email'];
//بيانات الثاني
$name0=$_POST['name0'];
$mobile0=$_POST['mobile0'];
$email0=$_POST['email0'];

//بيانات الثالث
$name1=$_POST['name1'];
$mobile1=$_POST['mobile1'];
$email1=$_POST['email1'];
//بيانات الرابع
$name2=$_POST['name2'];
$mobile2=$_POST['mobile2'];
$email2=$_POST['email2'];

//عمل مصفوفة من كل بيانات كل زائر على حدة
$guest1=array($name$mobile$email);
$guest2=array($name0$mobile0$email0);
$guest3=array($name1$mobile1$email1);
$guest4=array($name2$mobile2$email2);
 
//التحقق من عدم وجود تكرار في بيانات الحقول
      
if($guest1=$guest2 or $guest1=$guest3 or $guest1=$guest4 or $guest2=$guest3 or $guest2=$guest4 or $guest3=$guest4){
    echo 
"عفوا لايمكن التسجيل ببيانات مكررة";
       }else{

   if(

$check=mysql_num_rows(mysql_query("select * from omla where name='$name' or
 mobile='$mobile' or email='$email' "
));
if(
$check==0){

//كود ادخال البيانات
$sql="INSERT INTO omla(id,name,mobile,email) VALUES(NULL,'$name','$mobile','$email')";
$insert=mysql_query($sql);

           if(
$insert) {
              echo 
"شكرا لتسجيلك معنا";
              }else{
                  echo 
"هناك خلل لم يتم ادراج البيانات";

}else{

echo 
"عفوا بعض المعلومات موجودة في القاعدة";



     }
   }
?>
شاكرا تعاونكم وصبركم معي






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 01-01-2008, 07:49 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#5 (permalink)  

قمت بتعديلات بسيطه بنفس الفكرة التي برمجت انت بها اي لم اعدل الفكرة ولو كان بها مشكلة فاخبرني لأصيغه لك بفكرة مني.
كود PHP:
<?php
// الاتصال بالقاعدة
include('config.php');
//جلب محتويات الحقول
//بيانات الشخص الاول
$name=$_POST['name'];
$mobile=$_POST['mobile'];
$email=$_POST['email'];
//بيانات الثاني
$name0=$_POST['name0'];
$mobile0=$_POST['mobile0'];
$email0=$_POST['email0'];
//بيانات الثالث
$name1=$_POST['name1'];
$mobile1=$_POST['mobile1'];
$email1=$_POST['email1'];
//بيانات الرابع
$name2=$_POST['name2'];
$mobile2=$_POST['mobile2'];
$email2=$_POST['email2'];
//عمل مصفوفة من كل بيانات كل زائر على حدة
$guest1=array($name$mobile$email);
$guest2=array($name0$mobile0$email0);
$guest3=array($name1$mobile1$email1);
$guest4=array($name2$mobile2$email2);
//التحقق من عدم وجود تكرار في بيانات الحقول
if($guest1==$guest2 or $guest1==$guest3 or $guest1==$guest4 or $guest2==$guest3 or $guest2==$guest4 or $guest3==$guest4)
{
    echo 
"عفوا لايمكن التسجيل ببيانات مكررة";
}
else
{
    if(
mysql_num_rows(mysql_query("select * from omla where name='$name' or mobile='$mobile' or email='$email' "))==0)
    {
        
//كود ادخال البيانات
        
$sql="INSERT INTO omla(id,name,mobile,email) VALUES(NULL,'$name','$mobile','$email')";
        
$insert=mysql_query($sql);
    }
    else
    {
        echo 
"عفوا بعض المعلومات موجودة في القاعدة";
    }
}
?>






__________________
شكر خاص لادارة سوالف لتفعيل العضوية.
انا undefinedmatrix.
undefinedmatrix@hotmail.com
من برمجتي: http://www.alsalafway.com
muslem غير متواجد حالياً   قديم 01-01-2008, 08:23 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#6 (permalink)  

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

Parse error: syntax error, unexpected T_ELSE in c:\appserv\www\pro\t2\t\send.php on line 31






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 01-01-2008, 08:40 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#7 (permalink)  

أخي الكريم خذ الكود في اخر رد لي وسيعمل معك باذن الله تعالي ولا تتسرع في الرد :-)






__________________
شكر خاص لادارة سوالف لتفعيل العضوية.
انا undefinedmatrix.
undefinedmatrix@hotmail.com
من برمجتي: http://www.alsalafway.com
muslem غير متواجد حالياً   قديم 01-01-2008, 08:42 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#8 (permalink)  

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






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 01-01-2008, 10:04 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Aug 2007-
#9 (permalink)  

اخي الكريم اخذت الكود الذي كتبته لك اخر مرة وجربته مرة أخري ولم يظهر اي مشكلة في السطر الذي تقصده وانا متأكد منه ووضعته في ملف مرفق تأكد من رفعه علي الموقع.






الملفات المرفقة
نوع الملف: zip send.zip‏ (704 بايت, المشاهدات 9)
__________________
شكر خاص لادارة سوالف لتفعيل العضوية.
انا undefinedmatrix.
undefinedmatrix@hotmail.com
من برمجتي: http://www.alsalafway.com
muslem غير متواجد حالياً   قديم 02-01-2008, 01:06 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Aug 2005-
#10 (permalink)  

جرب هذا

كود PHP:
<?php
// الاتصال بالقاعدة
include('config.php');
//جلب محتويات الحقول

//بيانات الشخص الاول
$name $_POST['name'];
$mobile $_POST['mobile'];
$email $_POST['email'];

//بيانات الثاني
$name0 $_POST['name0'];
$mobile0 $_POST['mobile0'];
$email0 $_POST['email0'];

//بيانات الثالث
$name1 $_POST['name1'];
$mobile1 $_POST['mobile1'];
$email1 $_POST['email1'];

//بيانات الرابع
$name2 $_POST['name2'];
$mobile2 $_POST['mobile2'];
$email2 $_POST['email2'];

//عمل مصفوفة من كل بيانات كل زائر على حدة
$guest1 = array($name$mobile$email);
$guest2 = array($name0$mobile0$email0);
$guest3 = array($name1$mobile1$email1);
$guest4 = array($name2$mobile2$email2);

 
//التحقق من عدم وجود تكرار في بيانات الحقول
if($guest1 == $guest2 or $guest1 == $guest3 or $guest1 == $guest4 or $guest2 == $guest3 or $guest2 == $guest4 or $guest3 == $guest4)
{
    echo 
"عفوا لايمكن التسجيل ببيانات مكررة";
}
else
{
    
$check mysql_num_rows(mysql_query("select * from omla where name = '$name' or mobile = '$mobile' or email = '$email'"));
    if(
$check == 0)
    {
        
//كود ادخال البيانات
        
$insert mysql_query("INSERT INTO omla (id, name, mobile, email) VALUES (NULL, '$name', '$mobile', '$email')");
        
        if(
$insert)
        {
            echo 
"شكرا لتسجيلك معنا";
        }
        else
        {
            echo 
"هناك خلل لم يتم ادراج البيانات";
        }
    }
    else
    {
        echo 
"عفوا بعض المعلومات موجودة في القاعدة";
    }
}
?>

اذا كانت هناك مشكلة أخرى فالأكيد أنها من ملف config.php






مدمن نت غير متواجد حالياً   قديم 02-01-2008, 03:08 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#11 (permalink)  

أخي الكريم جزاك الله خيرا على الجهد معي
لكني حملت الملف ولاحظت التالي :
- لاتظهر رسالة ان البيانات مكررة الا في حالة كون كل البيانات متطابقة لشخصين او اكثر
وليس هذا المطلوب المطلوب لو كان هناك تطابق في حقل رقم الجوال بين اثنين فقط فانه
تظهر له رسالة تقول لايمكنكم التسجيل ببيانات مكررة ...
- عند تعبئة النموذج ببيانات كاملة وغير متطابقة . لايتم ادراجها في القاعدة ولا تظهر اي رسالة تظهر فقط صفحة بيضاء بعد الارسال ..
المفروض ان يتم ادراج بيانات الاشخاص الأربعة في القاعدة بشكل متوالي .
ملف الكونفق سليم جدا واستعمله مع بقية صفحات الموقع

وللتجربة هذا كود جدول قاعدة البيانات :
كود PHP:
CREATE TABLE `omla` (
  `
idint(99NOT NULL default '0',
  `
namevarchar(150NOT NULL,
  `
mobilevarchar(150NOT NULL,
  `
emailvarchar(150NOT NULL,
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM DEFAULT CHARSET=latin1
جزاكم الله خيرا جميعا






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 03-01-2008, 06:58 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2003-
#12 (permalink)  

اخواني الكرام
هل طلبي معقد لها الدرجة...
لا اعتقد ..
هي كلها مشكلتين ..
- عدم السماح بادخال بيانات مكررة
- تكرار الإدخال لنفس الحقول في القاعدة






__________________
ترقبوا.. توب ماكس .. حلة جديدة وافكار اكثر ابداعا...
الحضرمي غير متواجد حالياً   قديم 05-01-2008, 06:01 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#13 (permalink)  

اخي الكريم بالنسبة لطلبك الأول الخاص بوجود رقم الجوال من قبل هذا كود للتأكد :
كود PHP:
$query mysql_query("SELECT * FROM `colom name` WHERE mobile_number='" $number "'");
$query_num mysql_num_rows($query);
if (
$query_num 0)
{
echo 
'عذراً يبدو أن مسجل لدينا من قبل';
}else{
// عملية إدخال البيانات هُنا 

بالنسبة لكود التأكد من تطابق الحقول هذا هو ضعه قبل الكود اللي كتبته لك :
كود PHP:
if (شروط اللي انت عاوزها هنا){
echo 
'عُذراً ولكن هناك حقول مكررة';
}else{ 
يعني بالنتيجة الكود ككل هو :


كود PHP:
if (شروط اللي انت عاوزها هنا){
echo 
'عُذراً ولكن هناك حقول مكررة';
}else{
$query mysql_query("SELECT * FROM `colom name` WHERE mobile_number='" $number "'");
$query_num mysql_num_rows($query);
if (
$query_num 0)
{
echo 
'عذراً يبدو أن مسجل لدينا من قبل';
}else{
// عملية إدخال البيانات هُنا 
}

جربه .

تحياتي
فراس






__________________
مدونتي
Www.AlMashroo.Com
feras007 غير متواجد حالياً   قديم 05-01-2008, 02:12 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#14 (permalink)  

السلام عليكم

أخوي قمت بكتابة كود لك يقوم بالآتي:
- التحقق من عدم تكرار أي بيانات مرسلة
- التحقق من عدم وجود أي حقول فارغة أو تحتوي مسافات بيضاء فقط
- حذف المسافات البيضاء الزائدة من البيانات المرسلة
- التحقق من عدم تطابق أي بيانات مرسلة مع بيانات أي عميل مسجل مسبقا في القاعدة

الملفات في المرفقات

ملاحظة: قمت بكتابة الكود دون تجربته لأني مستعجل نوعا ما. المعذرة عن أي أخطء قد توجد.






الملفات المرفقة
نوع الملف: zip Omla.zip‏ (1.4 كيلوبايت, المشاهدات 22)
التصميم غير متواجد حالياً   قديم 05-01-2008, 05:45 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كيف يمكن ترتيب البيانات المسحوبه من قاعده البيانات حسب الاى دى؟؟ Hossam Ahmed قواعد البيانات بمختلف أنواعها 3 30-07-2007 01:39 PM
Page.IsPostBack ومشكلة كود تحديث البيانات nothing4u ASP و ASP.NET 1 24-05-2007 01:58 PM
خبراء قاعدة البيانات .. كيف اتصل بالقاعدة و أكون شريط آخر الإضافات ؟؟ Habboubih PHP 5 28-11-2006 11:54 PM
احتفظت بمجلد السيرفر كاملاً .. كيف يمكنني استخراج قواعد البيانات منه ؟ Samir Al-Qaseer تطوير الويب 4 26-04-2004 02:22 PM
كيف يمكن نقل البيانات من صفحة لاخرى ؟ ASP4DB تطوير الويب 4 12-09-2002 03:23 AM


الساعة الآن: 01:52 AM بتوقيت المملكة العربية السعودية