foreach وبلاگ نکته های برنامه نویسی و طراحی وب سایت

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

foreach وبلاگ نکته های برنامه نویسی و طراحی وب سایت

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

خیلی بلد نیستم.
ولی تا جایی که بتونم و وقت کنم ، کمک می کنم.
و جایی که بلد نبودم، یا میگم بلد نیستم یا جواب رو پیدا می کنم و راهنمایی می کنم.
توی زمینه های php و css و Html و JavaScript و jQuery و کار با MySql
البته php رو بیشتر بلدم و JavaScript رو کمتر.
فریم ورک هم yii .
این وبلاگ بیشتر به درد کسایی مخوره که برنامه نویسی مقدماتی رو بلدن.
و هرچه جلوتر میریم،پیشرفته تر خواهد شد انشاءالله.

آخرین نظرات
کلمات کلیدی

php و کار با mysql + بررسی یک مثال

شنبه, ۳۰ شهریور ۱۳۹۲، ۰۲:۴۰ ب.ظ

سلام دوستان

عذرخواهی بابت تاخیر خیلی خیلی زیاد(هم به خاطر امتحانات و هم کار و هم ...)

از این به بعد سعی میکنم انشاالله هر ماه حداقل یک یا دو پست مفید بذارم.


این بار میخوایم راجع به استفاده از MySQL در php صحبت کنیم

و توی یک پروژه کوچیک اون رو یاد بگیریم

پس به ادامه مطلب بریم 


یادگیری با مثال بهترین راه یادگیریه پس مرحله به مرحله یک مثال رو بررسی میکنیم:
1. عضویت کاربران
برای این که افراد بتونن عضو سایت ما بشن ، باید اول از همه یه فرم درست کنیم که از طریق اون ، اطلاعاتشونو برای ما ارسال کنن. پس کد زیر که یک فرم Html ساده هست رو داخل فایلی به نام registerForm.php ذخیره کنید!( تعجب کردید؟ با پسوند php ؟! بله. یک بار دیگه هم میگم که php یک زبان اسکریپتی است و خط به خط اجرا میشه. پس شما میتونید هرجای فایل php  که خواستید، تگ php رو باز و بسته کنید و یا از کدهای html(خارج تگ php استفاده کنید.))
و اما کد :
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
// php Code
?>
<form method="post" action="register.php">
    <table>
        <tr>
            <td>User Name:</td>
            <td><input type="text" name="user_name" /></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" name="password" /></td>
        </tr>
        <tr>
            <td>Password Repeat:</td>
            <td><input type="password" name="password_repeat" /></td>
        </tr>       
    </table>
</form>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
حالا این اطلاعات رو باید توی فایل register.php دریافت و صحت اونها رو بررسی کنیم . سپس اگر ok بود، وارد دیتابیس کنیم.
کدهای زیر رو توی فایل register.php ذخیره کنید:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
$error_flag = false;
if (!isset($_POST['user_name']) || empty($_POST['user_name']))
{
    echo 'user name cannot be blank.<br />';
    $error_flag = true;
}
if(!isset($_POST['password']) || empty($_POST['password']))
{
    echo 'password cannot be blank.<br />';
    $error_flag = true;
}
if(!isset($_POST['password_repeat']) || empty($_POST['password_repeat']))
{
    echo 'password repeat cannot be blank.<br />';
    $error_flag = true;
}

if(!$error_flag)
{
    if($_POST['password_repeat'] != $_POST['password'])
    {
        echo 'password repeat must be repeated exactly.<br />';
        $error_flag = true;       
    }
}
if(!$error_flag)
{
    //check DB for new userName
}
if(!$error_flag)
{
    //Save data into DB
}
?>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
و اما بریم سراغ کد اصلی ارتباط با دیتابیس که باید به جای کامنت اول بذاریم ( یعنی کدهای زیر رو به جای این کامنت توی کد بالا بذارید:
//check DB for new userName
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    $user_name = $_POST['user_name'];
    $password = $_POST['password'];
   
    $db_conn = mysql_connect("localhost", "root", "");
    mysql_select_db('DBName');
    $query = 'select * from tbl_user '
       ."where username='$user_name '";
    $result = mysql_query($query, $db_conn);
    if(mysql_num_rows($result) >0 )
    {
    // if they are in the database register the username
        echo "user name ( $user_name ) has already been taken.<br />";
        $error_flag = true;
    }
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
توضیحی راجع به کد بالا : با تابع mysql_connect همون طور که از اسمش پیداس، به mysql متصل میشیم. root اسم یوزرنیم و "" هم پسوردمونه یعنی پسوردی ست نکردیم.( اگر تاحالا به یوزر و پس mysql تون دست نزدید، همینجوری که نوشتم باید بنویسید.)
با تابع mysql_select_db دیتابیسمون رو انتخاب میکنیم.
دستورات مختلف mysql رو از اینترنت گیر بیارید و یاد بگیرید. شبیه دستورات sql هست.ما توی اینجا از دستور select استفاده کردیم.
و یک string طبق استاندارد موجود درست کردیم و ریختیم داخل متغیر query  و اون رو دادیم به تابع mysql_query که اصطلاحا به این کار میگن کوئری زدن به mysql و نتیجه رو به صورت آرایه به ما برمیگردونه که ما توی متغیر result ذخیره کردیم.
بعد چک میکنیم که آیا حداقل یک سطر به ما برگردونده یا نه.
درخواست ما چی بود؟ ما به mysql گفتیم که برو از دیتابیس DBName و جدول tbl_user تمام اطلاعات(علامت * به معنای تمام ستون های جدول است) رو برداد بیار به شرطی که( where ) ستون username اونها، برابر باشه با متغیر user_name ما.
حالا اگر چیزی برگردونه بهمون، یعنی که قبلا یه نفر این یوزرنیم رو گرفته. پس پیغام error میدیم.

و اما اگر همه چیز ok بود و این یوزرنیم رو کسی نگرفته بود، باید اون رو توی دیتابیس ذخیره کنیم که به عنوان تمرین انجامش بدید و توی قسمت نظرات کدتون رو بذارید.

درضمن شما میتونستید این دو تافایل رو توی یه فایل جا بدید و تمام کدهاتونو با یک فایل مثلا register.php اجرا کنید. اگه کسی تونست بگه چجوری؟

موفق باشید .
خدا نگهدار.

  • foreach

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی