PDA

View Full Version : سوال: مشکل در die



m_basij
جمعه 14 آبان 1389, 19:18 عصر
سلام من یک کد می خواهم بنویسم برای ثبت نام ، اول چک میکنم که نام کاربری و ایمیل موجود هست یا نه ولی ب مشکل عجیبی روبرو شدم ، همیشه محتوای die نمایش داده میشه یعنی پیغام خطام نمایش داده میشه(چه باشه در دیتابیس چه نباشه پیامم نمایش داده میشه) ، این کد

if($pass1!=$pass2 or $pass1=='')
{
echo('پسوردهای وارد شده مطابق یکدیگر نمی باشند به عقب بازگشته و انها را اصلاح کنید.');
}
else if ($email1 != $email2 or $email1 == '')
{
echo('ایمیل وارد شده مطابق یکدیگر نمی باشند یا وارد نشده است به عقب بازگشته و انها را اصلاح کنید.');
}
else
{
$cOnect=mysql_connect('localhost','root','');
$sElectDb=mysql_select_db('cmmir');
$ss = mysql_query("SELECT `namekarbari`
FROM `user`
WHERE `namekarbari` = '$namekarbari'
") or die('error'.mysql_error());

$TotalResults = mysql_num_rows($ss);
if ( $TotalResults <= 0)
die('نام کاربری تکراری می باشد به عقب بازگشته و ان را اصلح کنید');

$ss2 = mysql_query("SELECT `email`
FROM `user`
WHERE `email` = '$email1'
") or die('error'.mysql_error());
$nmberss2 = mysql_num_rows( $ss2 );
if ( $numberss2 <= 0)
die('ایمیل وارد شده تکراری است به عقب بازگشته و ان را اصلاح کنید');
}
}

در ضمن از xamp استفاده می کنم.

funpatogh
جمعه 14 آبان 1389, 19:40 عصر
کد شما آخرش یک { اضافه دارد و خطا میدهد

m_basij
شنبه 15 آبان 1389, 12:57 عصر
نه اونا من اشتبای تو کپی پیست کردن کد زیادی نوشتم
کد اجرا میشه ولی همیشه پیام داخل die زیر نشون داده میشه وقتی کد میرسه به این خط

if ( $TotalResults <= 0)
die('نام کاربری تکراری می باشد به عقب بازگشته و ان را اصلح کنید');
نمی دونم چرا ولی همیشه شرطم را غلطمیگیره تو این شکل و اگه شرطا عوض کنم همیشه درست!!!!

binyaft
شنبه 15 آبان 1389, 14:13 عصر
$TotalResults را echo کنید ببینید نتیجه چیست

m_basij
شنبه 15 آبان 1389, 18:24 عصر
خروجی نداره !!! چراشا نمی دونم.
بجای اینا از

if( mysql_fetch_object($ss))
استفاده کردم مشکل حل شد.
ممنون از همه دوستان ولی اگه بتونید بگید چرا اون کد جواب نداد ممنون میشم.

Arthas1990
شنبه 15 آبان 1389, 19:40 عصر
متغيير را با 0چك كن.
خروجي تابع mysql_num_rows اگر query مقدار نداشته باشه 0ميشه
از جايي كه گفتي متغيير رو اكو كردي و هيچي چاپ نشده فكر ميكنم مشكل از همينجايه .

funpatogh
شنبه 15 آبان 1389, 21:10 عصر
این شرط شما غلط هست یا من منظور شما رو نفهمیدم


$TotalResults = mysql_num_rows($ss);
if ( $TotalResults <= 0)
die('نام کاربری تکراری می باشد به عقب بازگشته و ان را اصلح کنید');

اینجا شما گفتید که چنانچه نام کاربری موجود نباشد پیغام بدهد که نام کاربری تکراری می باشد و به عقب ....
در صورتی که باید اینجا بگید


if ( $TotalResults > 0)

یعنی اگر نام کاربری موجود بود پیغام بدهد که نام کاربری تکراری هستش

m_basij
یک شنبه 16 آبان 1389, 13:47 عصر
حرف شما درسته و شرط اشتباه است ولی وقتی شرط را عوض میکنی چه موجود باشه چه نباشه پیام نشون داده نمیشه. الان چک کردم بازم.
خروجیش ناله.

funpatogh
یک شنبه 16 آبان 1389, 19:43 عصر
خوب شما مطمئن هستی که نام کاربری که وارد میکنی تو بانک هستش؟