السلام عليكم و رحمة الله
من يصحح لي هذا الكود
http://pastebin.com/XEHmXRcG
واكون له شاكر هههه
اخوكم مبتدئ :happy:
السلام عليكم و رحمة الله
من يصحح لي هذا الكود
http://pastebin.com/XEHmXRcG
واكون له شاكر هههه
اخوكم مبتدئ :happy:
وضح وماذا تريد
السلام عليكم
يرجى عليك مراجعة قواعد اللغة وهذا مرادف الكلمات وما تعنية فى اللغة
!= لا يساوى == يساوى || أو && و --------------------- != not equal == equal || or && and
ويبدوا أنك تريد أن تتأكد أن القيمة المدخلة من المستخدم عبارة عن قيمة عددية كسرية فيصبح الكود على الشكل التالى :
$n=$_POST['n'];
if(gettype($n)!='double' && gettype($n)!='null'){
echo "لم تفم بإدخال قيمة صحيحة";
exit;}أما إذا كنت تريد أنها أى قيمة بخلاف القيمة الفارغة أو الكسرية فيكون على الشكل :
$n=$_POST['n'];
if(gettype($n)!='double' || gettype($n)!='null'){
echo "لم تفم بإدخال قيمة صحيحة";
exit;}لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق
لا إله إلا أنت سبحانك إني كنت من الظالمين
السلام عليكم
مشكورين على الردود
لم يعمل الكود :sad:
ahmedsaoud31 كتب:السلام عليكم
يرجى عليك مراجعة قواعد اللغة وهذا مرادف الكلمات وما تعنية فى اللغة
!= لا يساوى == يساوى || أو && و --------------------- != not equal == equal || or && andويبدوا أنك تريد أن تتأكد أن القيمة المدخلة من المستخدم عبارة عن قيمة عددية كسرية فيصبح الكود على الشكل التالى :
$n=$_POST['n']; if(gettype($n)!='double' && gettype($n)!='null'){ echo "لم تفم بإدخال قيمة صحيحة"; exit;}أما إذا كنت تريد أنها أى قيمة بخلاف القيمة الفارغة أو الكسرية فيكون على الشكل :
$n=$_POST['n']; if(gettype($n)!='double' || gettype($n)!='null'){ echo "لم تفم بإدخال قيمة صحيحة"; exit;}
الكود المطلوب هو للتحقق أن قيمة المتغير عددية
أرجو المساعدة :wink:
تم تعديل هذه المشاركة بواسطة kadmix في 12 يونيو 2012 في 11:17
جرب هذا
$n=$_POST['n'];
if(gettype($n)!='double' or !isset($n)){
echo "لم تفم بإدخال قيمة صحيحة";
exit;
}السلام عليكم
$n=$_POST['n'];
if(gettype($n)!='double' or !isset($n)){
echo "لم تفم بإدخال قيمة صحيحة";
exit;
}
لأول مرة أعلم أن لغة php تعتمد التعامل مباشراً مع or و and , لهذا ظننت الخطأ فى الكود هو or يبدو أنا هو من عليه مراجعة قواعد اللغة ![]()
لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق
لا إله إلا أنت سبحانك إني كنت من الظالمين
M.B.O كتب:جرب هذا
$n=$_POST['n']; if(gettype($n)!='double' or !isset($n)){ echo "لم تفم بإدخال قيمة صحيحة"; exit; }
مشكور يأخي و جزاك الله خيرا
ولكن
لم يعمل يا أخي
herch كتب:
هذا نا قمت به لكن عندما تكون القيمة فارغة يعمل exit
أنا حاب يكون المتغيير إما عدد أو يكون قيمة فارغة
if(is_numeric ($n)== false ) echo"قم بإدخال قيمة عددية"; exit;}
وشكرا على الردود و على وقتكم
تم تعديل هذه المشاركة بواسطة kadmix في 13 يونيو 2012 في 15:29
المشكلة أنه إذا كانت قيمة n فارغة فنوع المتغير هو string
تم تعديل هذه المشاركة بواسطة kadmix في 13 يونيو 2012 في 16:26
ممكن توضح كيف لم يعمل ؟
وماهو الشي الذي تريد ان تقوم به بالضبط !!
السلام عليكم
حقيقاً أخى لا أعلم ما تريد تحديداً فمن كلامك أظن أنك تريد أن يطبع للمستخدم المدخلات صحيحة فى حالة كانت المدخلات إما Double أو قيمة فارغة ويطبع المدخلات غير صحية ويقوم بعمل exit فى خلاف ذلك .
قمت بعمل دالة سميتها isDouble تقوم بالتحقق من القيمة المدخلة إليها إن كانت عدد كسرى تعود true وغير ذلك تعود بـ false وهذا هو الكود :
$n=$_POST['n'];
if(isDouble($n) || $n==null){
echo "القيمة المدخلة صحيحة";
}else{
echo "القيمة المدخلة غير صحيحة";
exit;
}
function isDouble($n){
$dotCount=0;
if(strlen($n)<3) return false;
if($n==null) return false;
if($n[0]=='.'||$n[strlen($n)-1]=='.') return false;
for($i=0;$i<strlen($n);$i++){
if($n[$i]=='.') $dotCount++;
if(!(($n[$i]>='0'&&$n[$i]<='9')||($n[$i]=='.'))) return false;
}
if($dotCount!=1) return false;
return true;
}أرجو أن يكون هذا ما تريده
لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق
لا إله إلا أنت سبحانك إني كنت من الظالمين
ahmedsaoud31 كتب:السلام عليكم
حقيقاً أخى لا أعلم ما تريد تحديداً فمن كلامك أظن أنك تريد أن يطبع للمستخدم المدخلات صحيحة فى حالة كانت المدخلات إما Double أو قيمة فارغة ويطبع المدخلات غير صحية ويقوم بعمل exit فى خلاف ذلك .
قمت بعمل دالة سميتها isDouble تقوم بالتحقق من القيمة المدخلة إليها إن كانت عدد كسرى تعود true وغير ذلك تعود بـ false وهذا هو الكود :
$n=$_POST['n']; if(isDouble($n) || $n==null){ echo "القيمة المدخلة صحيحة"; }else{ echo "القيمة المدخلة غير صحيحة"; exit; } function isDouble($n){ $dotCount=0; if(strlen($n)<3) return false; if($n==null) return false; if($n[0]=='.'||$n[strlen($n)-1]=='.') return false; for($i=0;$i<strlen($n);$i++){ if($n[$i]=='.') $dotCount++; if(!(($n[$i]>='0'&&$n[$i]<='9')||($n[$i]=='.'))) return false; } if($dotCount!=1) return false; return true; }أرجو أن يكون هذا ما تريده
مشكور يا أخي
تم بنجاح
فقط
is_double
وليس
isDouble
السلام عليكم
الحمد لله أن تم حل مشكلتك , ولكن أخى isDouble هذه دالة قمت أنا بإنشاءها كما هو واضح من الكود السابق و is_double هذه دالة مضمنة ضمن دوال اللغة مسبقاً .
دمت بخير
لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق
لا إله إلا أنت سبحانك إني كنت من الظالمين
ahmedsaoud31 كتب:السلام عليكم
الحمد لله أن تم حل مشكلتك , ولكن أخى isDouble هذه دالة قمت أنا بإنشاءها كما هو واضح من الكود السابق و is_double هذه دالة مضمنة ضمن دوال اللغة مسبقاً .
دمت بخير
مشكور يا أخي و جازاك الله كل خير