ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 3 از 3
Like Tree1Likes
  • 1 Post By adminmsp

موضوع: یک فرم ساده ثبت نام در PHP با امکان کار با دیتابیس MySQL

  1. #1
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    419

    یک فرم ساده ثبت نام در PHP با امکان کار با دیتابیس MySQL

    یکی از سوالاتی که همیشه توسط دوستان مخصوصا آنهایی که به تازگی کار با php را شروع کرده اند ، پرسیده میشود، این است که چطور اطلاعات را از طریق یک فرم از کاربر بگیریم و آن را در دیتابیس ذخیره کنیم.
    برای پاسخ راحت تر اجازه دهید کمی کلیات کار را شرح دهیم و بعد وارد جزئیات شویم تا برای دوستانی که آشنایی کمتری ممکن است با موضوع داشته باشند نیز مفید باشد.

    • فرم دریافت اطلاعات : فرم دریافت اطلاعات شامل ساختاری از تگ های مختلف فرم مانند <form>,<input>,<textarea>,<select> و … می باشد که با توجه به نیازمان می توانیم ورودی های مختلفی مانند متن ، دکمه ، منوی پایین افتادنی،متن طولانی و … را با آنها ایجاد کنیم.در انتها نیز این فرم داده ها را به فایلی که درش مشخص کرده ایم ، ارسال می کند
    • فایل PHP برای پردازش اطلاعات ارسالی فرم : حالا که داده ها را از طریق فرم در اختیار داریم نیاز به کدهایی داریم تا آنها را پردازش کنیم.منظور از پردازش عموما دو کار است.اول اعتبارسنجی (validation) برای اطمینان از اینکه کاربر داده های صحیحی وارد کرده است یا نه .فرضا امتحان می کنیم که در ورودی ارسالی کاربر برای تلفن ، حروف موجود نباشد و … .دوم هم بلایی که می خواهیم بر سر داده ها بیاوریم.ممکن است بخواهیم آنها را به آدرسی ایمیل کنیم ، یا در دیتابیس ذخیره کنیم و یا در یک فایل متنی روی هاست مان ویا اصلا خروجی pdf بگیریم و یا های دیگر

    در اینجا فرض می کنیم که می خواهیم یک فرم ثبت نام کاربران داشته باشیم که سه ورودی نام کاربری ، کلمه عبور و ایمیل کاربر را دریافت کند و بعد از اینکه مطمئن شد آدرس ایمیل از قالب درستی برخوردار است ( [برای نمایش لینک باید عضو شوید. ] ) ، همه اطلاعات را در جدولی بنام users ذخیره کند .

    [h=3]قدم اول – کد HTML[/h] فرم ما کدهایی شبیه زیر خواهد داشتکه باید آن را در فایلی بنام index.html ذخیره کنید :
    <!doctype html>  
    <html lang="fa">
    <head>
    <meta charset="utf-8">
    <title>Simple form</title>

    <style type="text/css">
    body,input[type="submit"]
    {
    text-align:center;
    font:.9em tahoma
    }
    form
    {
    width:400px;
    margin:200px auto 0 auto;
    border:1px silver solid
    }

    </style>
    </head>

    <body dir="rtl">
    <form action="register.php" method="post">
    نام کاربری : <input name="username" type="text" /> <br />
    کلمه عبور : <input name="password" type="password" /><br />
    ایمیل : <input name="email" type="text" /><br />
    <input name="send" type="submit" value="ثبت نام" />
    </form>
    </body>
    </html>



    همانطور که می بینید این صفحه از قوانین html5 نیز تا حدودی تبعیت می کند . در خط ۸ یک سبک css تعریف کردیم تا استایل مربوطه را هم به تگ body اعمال کند و هم به همه تگ های input که خصیصه type شان برابر submit باشد (در کد بالا یکی داریم !)
    در خط ۲۴ نیز دو خصیصه مهم داریم که اولی action است و تعیین می کند بعد از اینکه کاربر روی دکمه ثبت نام کلیک کرد ، اطلاعات فرم به کدام صفحه فرستاده شوند و دومی نیز method یا روش ارسال داده هاست که معمولا از پست استفاده میشود .

    [h=3]قدم دوم – کد PHP[/h] حالا باید ترتیب صفحه ای را بدهیم که در قسمت action فرم تعریف کردیم.
    دقت کنید که می توانیم هر دو یعنی هم فرم و هم کدهای php را در یک صفحه واحد داشته باشیم و در آن صورت خصیصه Action باید خالی باشد.
    کد های صفحه register.php ما به این صورت هستند :



    [COLOR=#ff6600]register.php[/COLOR]


    <?php

    $con=mysql_connect('localhost','root','');

    if(!$con) {die ('MySQL connect error !');}

    if(!mysql_select_db('test')){die('MySQL database select error !');}

    $user=$_POST['username'];
    $pass=$_POST['password'];
    $mail=$_POST['email'];

    if(!$user)
    {

    die('لطفا نام کاربری را وارد کنید !');

    }
    if(!$pass)
    {

    die('لطفا کلمه عبور را وارد کنید !');

    }
    if(!$mail)
    {

    die('لطفا ایمیل را وارد کنید !');
    }
    if(!preg_match("/[a-zA-Z0-9._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z\.]+/",$mail))
    {

    die('آدرس ایمیل صحیح نیست !');

    }

    $pass_hash=md5($pass);
    $query= mysql_query ("insert into users (u_username,u_password,u_email)
    values('$user','$pass_hash','$mail');
    ");

    if(mysql_affected_rows()>0)
    {

    die ('ثبت نام کاربر تکمیل شد !');

    }
    else
    {

    die('مشکلی بوجود آمده است !');

    }
    ?>



    در این کد از خط ۳ تا ۷ به اتصال به دیتابیس و انتخاب پایگاه داده مورد نظر مربوط است.از خط ۱۳ تا ۳۵ نیز کدهای شرطی با دستور if قرار دارند که کار validation (که در ابتدا صحبت شد) را انجام می دهند.
    از خط ۹ تا ۱۱ ، مقادیری را که توسط فرم فرستاده شده اند و در متغیر سراسری POST_$ قرار دارند را می گیریم.
    در خط ۳۰ از عبارات منظم برای تشخیص اینکه قالب ایمیل صحیح است یا نه استفاده شده است.مثلا حتما دارای علامت @ باشد.
    در خط ۳۷ ، رمز عبور را با استفاده از تابع md5 ،هش (hash) کردیم.همانطور که می دانید قبل از ذخیره کلمات عبور در دیتابیس بهتر است آنها را به صورتی در آوریم که اگر توسط افرادی نیز خوانده شدند باز قابل بازگشت به اصل خود نباشند.در واقع تفاوت هش با کد کردن در همین است که هش قابل بازگشت نیست ولی موردی که کد شده باشد را می توان معکوس کرد و آن را بدست آورد.بدین ترتیب یک کد ۳۲ حرفی از رمز کاربر ایجاد می کنیم.
    در خط ۳۸ همه اطلاعات دریافتی را بوسیله یک کوئری ،در پایگاه داده وارد می کنیم.
    از خطوط ۴۲ تا ۵۳ نیز یک شرط قرار دارد تا مشخص شود عملیات وارد کردن داده ها موفقیت آمیز بوده یا نه.این کار توسط تابع mysql_affected_rows انجام می شود.کار این تابع ، برگشت دادن تعداد ردیف هایی است که روی شان عملیات های مختلف مانند : وارد کردن داده (کار ما) ، حذف داده و ویرایش داده رخ داده است.بنابراین در اینجا چون مشخصات یک کاربر را وارد می کنیم ، در صورت انجام موفقیت آمیز ورود داده ، مقدار یک را برگشت می دهد و می توان با توجه به آن پیام مناسبی را به کاربر نمایش داد.

    کدهای sql برای ایجاد جدول user را می توانید از پایین پست دانلود کنید

    حالا می توانید با دیدن جدول users در دیتابیس ببینید که داده مورد نظر وارد شده است یا خیر


    [برای نمایش لینک باید عضو شوید. ]

    منبع:فوتولیا
    digiagahi likes this.
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  2. 1
  3. #2
    pedram_128
    كاربر عادي
    تاریخ عضویت
    2013 Oct
    نوشته ها
    1
    0
    0
    سلام
    این فرمو چطوری باید تو لوکال بالا بیارم ؟
    برای بالا اوردن توی لوکال باید sql server رو نصب کرد؟
    لطفا کامل توضیح بدین
  4. #3
    digiagahi
    كاربر عادي
    تاریخ عضویت
    2014 May
    نوشته ها
    1
    1
    0
    با سلام و خسته باشید خدمت مدیر محترم واقعا مفید بود برای من خیلی ممنونم
نمایش نتایج: از 1 به 3 از 3

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

Content Relevant URLs by vBSEO 3.6.0 RC 2