تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

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

رد  
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: May 2006-
#1 (permalink)  
التحقق من عدم وجود اسم المستخدم عند التسجيل


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

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

خطر لي ان اضع دالة تعودبعدد اسماء المستخدمين المطابق للمدخل الذي ادخله المستخدم وفي حالة رجوع القيمة 0 يتم التسجيل بنجاح وببساطة يتم وضع هذه الدالة في جملة شرط

ولكن ما هذه الدالة التي تعود بعدد الصفوف؟

كود:
select from * where username like '$user_name'
ما هي الدالة التي تعطيني عدد الحقول المتؤثرة باستعلام select هذا؟

وهل هناك طريقة ابسط من هذه؟
ما هي؟
وشكراً لكم مسبقا وجزاكم الله خيرا






i2h.org غير متواجد حالياً   قديم 02-08-2006, 05:13 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2003-
#2 (permalink)  

اخي .. طبعا نعطي الاستعلام السابق متغير مثلا $result

بعد ذلك

كود PHP:
$number_name=mysql_num_rows($result); 
طبعا هذه الدالة تعطيك عدد نتائج الاستعلام result






fayz غير متواجد حالياً   قديم 02-08-2006, 05:25 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

في مثال نفرض انه جدول الاعضاء بقاعده باسم user ومتغير user ،،
كود:
<?php

$sql = mysql_query("select * from where user='$user'";
if (mysql_num_rows($sql)>0){
print "الاسم مسجل من قبل";
}

?>






My Soul Mate غير متواجد حالياً   قديم 02-08-2006, 06:08 AM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#4 (permalink)  

هذا كود اسرع بكثير من العمليات الاخرى و لا يرهق الMySQL ايضاً وهو

كود PHP:
$records_found mysql_result(mysql_query("select count(*) from table where user='$user'"),0); 






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 02-08-2006, 06:47 AM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jun 2005-
#5 (permalink)  

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

أنا لا أستطيع أن أكتب عربى في الغالب فأعذروني

Ok ,, This is my first post here ,!!


What was sent above was great, , but there is a better function called
اقتباس:
mysql_affected_rows()
It does the same as
اقتباس:
mysql_num_rows()
I wish this awas useful !

zxeem *






__________________
zxeem.net@gmail.com
No Hard غير متواجد حالياً   قديم 02-08-2006, 06:47 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2004-
#6 (permalink)  

[LEFT]first salam alikom
as RDBMS (relation database management systems) and compter experts says
let the database work for you
cause RDBMS uses it's indexers in optimizers so it's optimized and faster than your code so let you SQL QUERYS filters your needed data

I.E
if you would like to get only records starts with 's' char so you can use two ways

NORMAL WAY
SELECT * FROM tableName ;
then try to filter ur resultset using programming language u use .

OPTIMIZED WAY
SELECT * FROM tableName where record Like 's%';

SO in our example it's better to use that query
كود PHP:
SELECT COUNT(filedfrom tableName 
;[/LEFT]






islam992001 غير متواجد حالياً   قديم 03-08-2006, 05:19 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#7 (permalink)  

الطريقة هي ك التالي :.
كود PHP:
<?
$SQL 
mysql_query("select * from table where username='$UserName' ");
$Num mysql_num_rows($SQL);
if(
$Num ){
echo 
" الاسم المراد التسجيل به مستخدم مسبقا ";
}else{
// ادخل الجديد
}
?>
طبعاً عدل عليه حسب الي يناسبك ...

ولك خالص حبي وتقديري

Malphp






__________________
Arab Team 4 PHP
Malphp غير متواجد حالياً   قديم 03-08-2006, 01:24 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#8 (permalink)  

بارك الله فيكم جميعا

هذا ما كنت ابحث عنه بالضبط
ولكن لم افهم كود اخي hilaby

كود PHP:
 $records_found mysql_result(mysql_query("select count(*) from table where user='$user'"),0); 
هل لك اخي الكريم ان تشرحه لي






i2h.org غير متواجد حالياً   قديم 03-08-2006, 06:53 PM
رد مع اقتباس
Moderator
تاريخ التسجيل: Aug 2004-
#9 (permalink)  

المتغير records_found$ سيحتوي على الناتج من العمليه .. اي اذا كان محتوى المتغير 0 "صفر" اذاً .. الاسم غير مسجل بعد .. واذا كانت 1 او اكثر .. اذا الاسم موجود مسبقاً






__________________
هلابي افضل المواقع العربية تصميماً
انصح باستخدام ابونتو
hilaby غير متواجد حالياً   قديم 03-08-2006, 10:04 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#10 (permalink)  

hilaby
وصلت المعلومة بارك الله فيك ونفع بك






i2h.org غير متواجد حالياً   قديم 04-08-2006, 08:30 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#11 (permalink)  

هناك مشكلة اخي اكريم كل مرة أحاول تطبيقه يظهر لي الخطأ

mysql_result(): supplied argument is not a valid MySQL result resource

فما هي المشكلة






__________________
webayu لحلول الإنترنت
www.webayu.net

لأول مرة في الإستضافات العربية.......الآن300000 ميغا بايت بسعر 6.99شهريا فقط ...
webayu غير متواجد حالياً   قديم 25-06-2007, 08:20 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#12 (permalink)  

اقتباس:
هناك مشكلة اخي اكريم كل مرة أحاول تطبيقه يظهر لي الخطأ

mysql_result(): supplied argument is not a valid MySQL result resource

فما هي المشكلة

اتوقع لان الداتا بيس فاضية ...

استبدله بهذا :
كود PHP:
$records_found = @mysql_result(@mysql_query("select count(*) from table where user='$user'"),0); 
ادخل لو حقل بالداتا بيس وجرب وشوف ...

تحياتي .






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 26-06-2007, 10:07 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#13 (permalink)  

أخي الكريم نفس الخطأ إنظر إلى الكود البرمجي

هذه نسخة من الملف المسؤول عن الإضافة و هي نسخة نظيفة :
كود:
<?php
include_once ('config.php');
$tbl_name="forum_question"; // اسم الجدول 

$datetime=date("d/m/y h:i:s"); //تحديد تاريخ حفظ الموضوع 
$sql="INSERT INTO $tbl_name(xname, adre, cu, email, first_name, last_name, pass, card, phone, datetime)VALUES('$xname', '$adre', '$cu', '$email', '$first_name', '$last_name', '$pass', '$card', '$phone', '$datetime')";
$result=mysql_query($sql);

if($result){
echo " تم حفظ الموضوع بنجاح<BR>";
echo "<a href=index.php>العودة إلى الصفحة الرئيسية</a>";
}
else {
echo "خطأ أو أن اسم المستخدم محجوز سابقا الرجاء تغير اسم المستخدم";
}
mysql_close();
?>
و هذا هو ملف قاعدة البيانات


كود:
CREATE TABLE forum_question (
  id int(4) NOT NULL auto_increment,
  xname varchar(255) NOT NULL default '',
  adre longtext NOT NULL,
  cu varchar(16) NOT NULL default '',
  email varchar(65) NOT NULL default '',
  datetime varchar(25) NOT NULL default '',
  first_name varchar(16) NOT NULL default '',
  last_name varchar(16) NOT NULL default '',
  pass varchar(255) NOT NULL default '',
  card varchar(16) NOT NULL default '',
  phone int(18) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
أنا استخدمت الكود الذي أعطيتني إياه و لكن المشكلة ظلت نفسها

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

تم حفظ الموضوع بنجاح
العودة إلى الصفحة الرئيسية


كما أنني أدخلت أكثر من حقل في القاعدة






__________________
webayu لحلول الإنترنت
www.webayu.net

لأول مرة في الإستضافات العربية.......الآن300000 ميغا بايت بسعر 6.99شهريا فقط ...
webayu غير متواجد حالياً   قديم 26-06-2007, 12:05 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#14 (permalink)  

جرب هذا بدل اللي فوق حق الإدخال :
كود PHP:
<?php
include_once ('config.php');
$tbl_name="forum_question"// اسم الجدول 

$datetime=date("d/m/y h:i:s"); //تحديد تاريخ حفظ الموضوع 
$sql="INSERT INTO $tbl_name(id, xname, adre, cu, email, first_name, last_name, pass, card, phone, datetime)VALUES(NULL, '$xname', '$adre', '$cu', '$email', '$first_name', '$last_name', '$pass', '$card', '$phone', '$datetime')";
$result=mysql_query($sql);

if(
$result){
echo 
" تم حفظ الموضوع بنجاح<BR>";
echo 
"<a href=index.php>العودة إلى الصفحة الرئيسية</a>";
}
else {
echo 
"خطأ أو أن اسم المستخدم محجوز سابقا الرجاء تغير اسم المستخدم";
}
mysql_close();
?>
ان شاء الله بيضبط ...


تحياتي ,






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 26-06-2007, 04:32 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#15 (permalink)  

شكرا أخي الكريم و لكن أين سأضع كود التأكيد من أن اسم المستخدم محجوز سابقا ؟






__________________
webayu لحلول الإنترنت
www.webayu.net

لأول مرة في الإستضافات العربية.......الآن300000 ميغا بايت بسعر 6.99شهريا فقط ...
webayu غير متواجد حالياً   قديم 26-06-2007, 06:33 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#16 (permalink)  

اقتباس:
شكرا أخي الكريم و لكن أين سأضع كود التأكيد من أن اسم المستخدم محجوز سابقا ؟
العفو

بعد الـ $sql مباشرة ...






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 26-06-2007, 07:25 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#17 (permalink)  

أخي الكريم الكود لم يعمل الرجاء لصق الكود مع النص البرمجي السابق في المكان الصحيح و شكرا علما أن اسم المتغير هو cu و اسم الجدول هو forum_question و شكرا لك






__________________
webayu لحلول الإنترنت
www.webayu.net

لأول مرة في الإستضافات العربية.......الآن300000 ميغا بايت بسعر 6.99شهريا فقط ...
webayu غير متواجد حالياً   قديم 26-06-2007, 10:06 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: May 2004-
#18 (permalink)  

اقتباس:
أخي الكريم الكود لم يعمل الرجاء لصق الكود مع النص البرمجي السابق في المكان الصحيح و شكرا علما أن اسم المتغير هو cu و اسم الجدول هو forum_question و شكرا لك
جرب هذه :

كود PHP:
<?php 
include_once ('config.php'); 
$tbl_name="forum_question"// اسم الجدول  

$datetime=date("d/m/y h:i:s"); //تحديد تاريخ حفظ الموضوع  
$sql="INSERT INTO $tbl_name(id, xname, adre, cu, email, first_name, last_name, pass, card, phone, datetime)VALUES(NULL, '$xname', '$adre', '$cu', '$email', '$first_name', '$last_name', '$pass', '$card', '$phone', '$datetime')";  
$newsql = @mysql_query("select * from forum_question where cu='$cu' "); 
$nurrows = @mysql_num_rows($newsql); 
if(
$nurrows 0) {
echo 
"<center>إسم المستخدم مسجل لدينا مسبقاً, فضلاً قم بإختيار إسم اخر ...</center>" ;
exit ;
}

$result=mysql_query($sql); 

if(
$result){ 
echo 
" تم حفظ الموضوع بنجاح<BR>"
echo 
"<a href=index.php>العودة إلى الصفحة الرئيسية</a>"

else { 
echo 
"خطأ أو أن اسم المستخدم محجوز سابقا الرجاء تغير اسم المستخدم"

mysql_close(); 
?>
تحياتي .






__________________
دروس php بالفيديو !
marabe7 غير متواجد حالياً   قديم 27-06-2007, 09:39 AM
رد مع اقتباس
رد


 

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

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

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



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