mrasoul 86 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 با عرض سلام و خسته نباشید . من با استفاده از php یک فرم ساده برای عضویت درست کرده ام . اما خوب این عضویت مشکلاتی رو داره . بعد از عضو شدن ریدایرکت صورت نمیگیره فکر کنم و با این ارور مواجه شدم Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:26) in D:\xampp\htdocs\chapter4\submit.php on line 35این تمام کدهای مربوط به صفحه signup.php<?php/** To change this template, choose Tools | Templates* and open the template in the editor.*/$host="localhost";$host_username="root";$host_password="";$db_name="db_firstweb";$db_link=mysql_connect($host, $host_username, $host_password) or die(mysql_errno());mysql_select_db($db_name, $db_link) or die(mysql_errno());$tbl_name="tbl_login";$username=$_POST["username"];$pwd1=$_POST["password1"];$pwd2=$_POST["password2"];//Write sql code here$successfull=FALSE;if(strlen($username)>0 && strlen($pwd1)>0 && strlen($pwd2)>0){ if($pwd1==$pwd2){ $sql="select * from $tbl_name where username=$username"; $result= mysql_query($sql,$db_link); $count=mysql_num_rows($result); if($count == 0){ $sql="insert into $tbl_name(username,password) values('$username','$pwd1')"; mysql_query($sql,$db_link); $successfull=true; ///Make sure User data submit successfully... } }}if($successfull==TRUE){ header("location: login_success.php");}else{ header("location: signup.php");}//mysql_close($db_link);?>کسی میتونه تشخیص بده مشکل از چیه ؟من حتی از فرمی که قبل کامل شده بود استفاده کردم که اونم که هیچ مشکلی نداشت روی سیستم من با این مشکل روبه روی میشد . بنظر این فرم فقط با سیستم من این مشکل رو داره نقل قول لینک به ارسال
mrasoul 86 ارسال شده در اسفند 93 مالک گزارش بازنشر ارسال شده در اسفند 93 الان که روی هاستینگ امتحان کردم فهمیدم این خطا فقط مختص لوکال هاسته . یکی میتونه بگه چرا روی لوکال هاست این خطا و میده و چیکار باید کنم ؟Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:26) in D:\xampp\htdocs\chapter4\submit.php on line 35 نقل قول لینک به ارسال
SM-Mahdavi 5427 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 سلامبا noteoad++ باز کنید و از منوی Encoding روی utf-8 without BOM تنظیم کنید ببینید حل میشه یا نه. 3 نقل قول لینک به ارسال
mrasoul 86 ارسال شده در اسفند 93 مالک گزارش بازنشر ارسال شده در اسفند 93 سلامبا noteoad++ باز کنید و از منوی Encoding روی utf-8 without BOM تنظیم کنید ببینید حل میشه یا نه.خطاهای داده شدهWarning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 21Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:21) in D:\xampp\htdocs\chapter4\submit.php on line 30 نقل قول لینک به ارسال
Morteza 34190 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 از توابع mysql استفاده نکنید منسوخ شده.خطا هم احتمال داره از ورودی هاتون باشه 3 نقل قول لینک به ارسال
mrasoul 86 ارسال شده در اسفند 93 مالک گزارش بازنشر ارسال شده در اسفند 93 از توابع mysql استفاده نکنید منسوخ شده.خطا هم احتمال داره از ورودی هاتون باشهیعنی چی از ورودی ها باشه؟ نقل قول لینک به ارسال
Mobin 1669 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 کد خودتونو به صورت زیر تغییر بدید $sql="select * from $tbl_name where username='$username'"; $result= mysql_query($sql,$db_link); if ($result==false) { die(mysql_error()); } $count=mysql_num_rows($result);توجه داشته باشید وقتی میخواهید یک مقدار رشته string رو درون کوئری قرار بدید باید داخل کوت قرار بگیره 2 نقل قول لینک به ارسال
استاد اعظم 900 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 من فکر میکنم ممکنه مشکل از متغییر های اتصال به دیتابیس (نام کاربری و پسورد) مشکل داشته باشه :$host_username="root";$host_password="";یه نام کاربری جدید با یه پسورد ایجاد و تست کنید ... 1 نقل قول لینک به ارسال
mrasoul 86 ارسال شده در اسفند 93 مالک گزارش بازنشر ارسال شده در اسفند 93 من فکر میکنم ممکنه مشکل از متغییر های اتصال به دیتابیس (نام کاربری و پسورد) مشکل داشته باشه :$host_username="root";$host_password="";یه نام کاربری جدید با یه پسورد ایجاد و تست کنید ...برای عضویت این فرم فقط اون خطا رو میده اما برای سایر کارها خطایی نمیده . میشه وارد شد . تو صفحه ها رفت از سشن هم استفاده کردم که اون هم درسته و کار میکنه اما وقتی عضو میشم اون خطا رو میده نقل قول لینک به ارسال
استاد اعظم 900 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 برای ثبت کاربر جدید نیازی به این موارد نیست ، خود وردپرس یه سری توابع داره ، این یه نمونش : http://www.sutanaryan.com/wordpress-custom-registration-without-using-a-plugin/برای لوگین هم : http://www.sutanaryan.com/wordpress-custom-login-page-without-using-a-plugin-the-right-way/ 1 نقل قول لینک به ارسال
mrasoul 86 ارسال شده در اسفند 93 مالک گزارش بازنشر ارسال شده در اسفند 93 کد خودتونو به صورت زیر تغییر بدید $sql="select * from $tbl_name where username='$username'"; $result= mysql_query($sql,$db_link);if ($result==false){ die(mysql_error());} $count=mysql_num_rows($result);توجه داشته باشید وقتی میخواهید یک مقدار رشته string رو درون کوئری قرار بدید باید داخل کوت قرار بگیرهمشکل فقط همون کوت بود که اونو قرار دادم ردست شد . خودم اصلا دقت نکرده بودم . اما یه سوال دیگه ؟if ($result==false) { die(mysql_error()); }این رو چرا اضافه کنم به کدهام ؟برای ثبت کاربر جدید نیازی به این موارد نیست ، خود وردپرس یه سری توابع داره ، این یه نمونش : http://www.sutanarya...using-a-plugin/برای لوگین هم : http://www.sutanarya...-the-right-way/ممنون جالب بودن . اما من اصلا کاری به وردپرس نداشتم و فرمی خودم با php نوشتم و کاملا بیربط به وردپرس هستند نقل قول لینک به ارسال
Mobin 1669 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 اگه کوئری شما به هر دلیلی مشکل داشته باشه یا در حین اجرا خطایی پیش بیاد تابع mysql_query مقدار false برمیگردونه که باعث ایجاد خطا و اشکال در تابع mysql_num_rows میشه برای جلوگیری از این حالت از کد زیر استفاده شدهif ($result==false) { die(mysql_error()); } 2 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .