mrasoul

مشکل با صفحه عضویت در php

12 پست در این موضوع قرار دارد

با عرض سلام و خسته نباشید . من با استفاده از php یک فرم ساده برای عضویت درست کرده ام . اما خوب این عضویت مشکلاتی رو داره . بعد از عضو شدن ریدایرکت صورت نمیگیره فکر کنم و با این ارور مواجه شدم


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26
Warning: 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);
?>

کسی میتونه تشخیص بده مشکل از چیه ؟

من حتی از فرمی که قبل کامل شده بود استفاده کردم که اونم که هیچ مشکلی نداشت روی سیستم من با این مشکل روبه روی میشد . بنظر این فرم فقط با سیستم من این مشکل رو داره

0

به اشتراک گذاری این پست


لینک به پست

الان که روی هاستینگ امتحان کردم فهمیدم این خطا فقط مختص لوکال هاسته . یکی میتونه بگه چرا روی لوکال هاست این خطا و میده و چیکار باید کنم ؟


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26
Warning: 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

0

به اشتراک گذاری این پست


لینک به پست

سلام

با noteoad++ باز کنید و از منوی Encoding روی utf-8 without BOM تنظیم کنید ببینید حل میشه یا نه.

3

به اشتراک گذاری این پست


لینک به پست

سلام

با 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 21
Warning: 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

0

به اشتراک گذاری این پست


لینک به پست

از توابع mysql استفاده نکنید منسوخ شده.

خطا هم احتمال داره از ورودی هاتون باشه

3

به اشتراک گذاری این پست


لینک به پست

از توابع mysql استفاده نکنید منسوخ شده.

خطا هم احتمال داره از ورودی هاتون باشه

یعنی چی از ورودی ها باشه؟

0

به اشتراک گذاری این پست


لینک به پست

کد خودتونو به صورت زیر تغییر بدید

			    $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

به اشتراک گذاری این پست


لینک به پست

من فکر میکنم ممکنه مشکل از متغییر های اتصال به دیتابیس (نام کاربری و پسورد) مشکل داشته باشه :


$host_username="root";
$host_password="";

یه نام کاربری جدید با یه پسورد ایجاد و تست کنید ...

1

به اشتراک گذاری این پست


لینک به پست

من فکر میکنم ممکنه مشکل از متغییر های اتصال به دیتابیس (نام کاربری و پسورد) مشکل داشته باشه :


$host_username="root";
$host_password="";

یه نام کاربری جدید با یه پسورد ایجاد و تست کنید ...

برای عضویت این فرم فقط اون خطا رو میده اما برای سایر کارها خطایی نمیده . میشه وارد شد . تو صفحه ها رفت از سشن هم استفاده کردم که اون هم درسته و کار میکنه اما وقتی عضو میشم اون خطا رو میده

0

به اشتراک گذاری این پست


لینک به پست

برای ثبت کاربر جدید نیازی به این موارد نیست ، خود وردپرس یه سری توابع داره ، این یه نمونش : 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

به اشتراک گذاری این پست


لینک به پست

کد خودتونو به صورت زیر تغییر بدید

			 $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 نوشتم و کاملا بیربط به وردپرس هستند

0

به اشتراک گذاری این پست


لینک به پست

اگه کوئری شما به هر دلیلی مشکل داشته باشه یا در حین اجرا خطایی پیش بیاد تابع mysql_query مقدار false برمیگردونه که باعث ایجاد خطا و اشکال در تابع mysql_num_rows میشه برای جلوگیری از این حالت از کد زیر استفاده شده

if ($result==false)
{
die(mysql_error());
}

2

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط oghyanoos98
      سلام
      پلاگین برای وردپرس مانند سایت idigic رو میخواستیم برای فروش فالوور و لایک اینستاگرام
       فقط بخش سفارششو میخوایم سایت رو داریم خودمون، که اطلاعات یوزر رو از اینستا بگیره مثل سایت بالا و  به ای پی ای ما وصل شه و سفارشش رو اتومات ثبت کنه .
      ممنون
    • توسط MohamamdZarei
      سلام،
      در حال ساخت یک قالب آموزشی هستم. در صفحات دوره، لیست دوره ها رو قرار دادیم که کاربر ( بعد از شرایطی ) بر روی محتوا و درس مورد نظرش کلیک کنه و صفحه به قسمت ویدیوپلیر اسکرول بشه ولینک این درس با لینک قبلی جایگزین بشه ( با js ).
      مشکلمون در حقیقت اینه که اون  "بعد از شرایطی"  رو دقیقا نتونستیم اجرا کنیم. مشکل اینجاست که بعضی از درس های دوره رایگان هستند و همه کاربران ( چه خریدار و چه بازدیدکننده) میتوانند این ویدیو را ببینند. خریدار دوره نیز میتواند همه درس ها را ببیند. برای قرار دادن اطلاعات دروس در صفحه قالب ، از افزونه Advanced Custom Fields و قابلیت Nested Repeaters استفاده شده است. شرط هایی که قرار میدیم همش غلطه
      <ul class="course-accordion"> <?php if( have_rows('chapters') ): ?> <?php while( have_rows('chapters') ): the_row(); ?> <li class="accordion-option opened"> <div class="option-title"><?php the_sub_field('chapter'); ?></div> <div class="option-wrapper"> <ul class="option-items"> <?php if( have_rows('lessons') ): ?> <?php while( have_rows('lessons') ): the_row(); ?> <?php if( have_rows('lesson') ): ?> <?php while( have_rows('lesson') ): the_row(); ?> <li class="option-item"><a><?php if (the_sub_field('Lfree') == "True") { echo '1'; } else { echo '2'; } ?></a> <div class="pull-right"><span class="duration"></span><a href="#"><i class="zmdi zmdi-hc-2x"></i></a> </div> <a href="#"><?php echo the_sub_field('Lname'); ?></a></li> <?php endwhile; ?> <?php endif; ?> <?php endwhile; ?> <?php endif; ?> </ul> </div> </li> <?php endwhile; ?> <?php endif; ?> </ul> Lfree برای هر درس تعیین شده که برای این قرار گرفته که اگه این درس رایگان بود لینکش قابل دسترسی باشه. مشکل اینجاست وقتی مقدار Lfree برای هر درس رو چاپ می کنیم یه عبارت مشخصه. بعد شرط if میزاریم که اگر مساوی با اون عبارت بود... اما همیشه شرط غلط اجرا میشه. بنظرم باید مربوط به حلقه while و اینجور چیزا باشه
      ممنون از پاسختون
    • توسط m2sali
      چطور میتونم در وردپرس یوزر کاربری که لاگین کرده رو با متد پست به یه صفحه asp ارسال کنم.

      من میخوام یه لینک تو سایت وردپرسی یه لینک بذارم که کاربر که کلیک کرد ، اول چک کنه که لاگین کرده یا نه ، اگه لاگین نکرده اول مجبور باشه لاگین کنه و بعد از لاگین نام کاربریش از طریق متد پست به یه لینک خارجی ارسال بشه.
    • توسط cloudgamer
      سلام خدمت همه ی دوستان.
      دنبال چند تابع هستم که بتونه تو موارد زیر کمکم کنه.
      1-نمایش تعداد تمام پست های منتشر شده (فقط تعدادشون)
      2-نمایش تمام کاربران (فقط تعدادشون)
      3-نمایش تعداد تمام نظرات (فقط تعدادشون)
    • توسط behnazi1995
      با سلام 
      من تا جای ممکن سعی میکنم سوالم رو واضح بنویسم ولی اگر نیازی به توضیح بیشتر بود در خدمتم:
      من با php یک فرم چندمرحله ای نوشتم و ابن کد رو به قالبم وصل کردم و از طریق یکی از گزینه های منو میتونم اجراش کنم.
      حالا میخوام برای بخش ورود به سایتم از یک پلاگین استفاده کنم (که هر کاربر پنل کاربری داشته باشه) 
      سوالم اینه که چطور کدهای php خودم رو به پلاگین وصل کنم؟
      یعنی کاربر از طریق فرم های من ثبت نام کنه بعد از آخرین مرحله اش وارد حساب کاربریش بشه که همین پلاگین آماده اس.