سال جدید😍 دوره‌های جدید😍 ۳۵٪ تخفیف به همراه ۵ میلیون تومان هدیه 👈 (کلیک کنید)
۰ ثانیه
۰ دقیقه
۰ ساعت
۵۱ دیدگاه نظر امیر صالحی
دريافت اطلاعات از ديتابيس در PHP
دريافت اطلاعات از ديتابيس در PHP

در این مقاله قصد داریم تا به شما نحوه‌ی دريافت اطلاعات از ديتابيس در PHP و نمایش اطلاعات دیتابیس در php را آموزش دهیم. اگر مبتدی هستید و نمی‌‌دانید که چگونه این عملیات را انجام دهید یا اگر نمی‌دانید که روش صحیح انجام این عملیات چگونه است پس با ما همراه باشید تا به شما راه و روش این کار را نشان دهیم.

پیش نیازها

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

اما اگر می‌خواهید که با ما پیش بروید، پس یک دیتابیس به نام myProject ایجاد کنید و یک جدول با اسم users درون آن دیتابیس بسازید. بعد از انجام این دو مورد چهار ستون با نام‌های id, username, email, age اضافه کنید و درون این جدول شروع به وارد کردن داده دلخواه کنید.

پیش نیاز بعدی این است که شما سه فایل با نام‌های config.php، process.php، index.php داشته باشید تا پروژه‌ی کوچک خودمان را پیاده‌سازی کنیم، در ادامه خواهیم گفت که در این سه فایل چه کارهایی قرار است انجام بدهیم.

فایل‌‌های پروژه چه هستند؟

در بالا اشاره کردیم که قرار است سه فایل با نام‌های config.php، process.php، index.php داشته باشیم، اما قرار است این سه فایل شامل چه اطلاعاتی باشند؟

در فایل config.php ما کدهای مربوط به اتصال به دیتابیس را قرار می‌دهیم تا به راحتی قابل دسترس باشند و از بقیه‌ی کدهای پروژه جدا باشند.

در فایل process.php قرار است که ما کدهای مربوط به دریافت اطلاعات از دیتابیس را بنویسیم و در نهایت در فایل index.php ما اطلاعات دریافت شده از دیتابیس را به شکل مناسب به نمایش می‌گذاریم.

دریافت اطلاعات از دیتابیس در PHP

اتصال به دیتابیس در PHP

در ابتدای کار ما باید بتوانیم به دیتابیس متصل بشویم تا اطلاعات درون دیتابیس را استخراج کنیم، برای این‌کار ما باید ابتدا درون فایل process.php کدهای مربوط به اتصال به دیتابیس را بنویسیم.

<?php 
$database = [ 
    'host'   => 'localhost', 
    'dbname' => 'myProject', 
    'user'   => 'root', 
    'pass'   => '' 
];

در کد بالا ما یک آرایه تعریف کرده‌ایم که مشخصات دیتابیس را درون خودش دارد که شامل هاست (host)، نام دیتابیس، نام کاربری دیتابیس و در نهایت رمز عبور دیتابیس‌مان است. حال باید کدهای مربوط به اتصال به دیتابیس را بنویسیم.

try { 
    $db = new PDO("mysql:host={$database['host']};dbname={$database['dbname']}", $database['user'], $database['pass']); 
} catch (PDOException $e) { 
    die("An error happend, Error: " . $e->getMessage()); 
}

ما ابتدا کد اتصال به دیتابیس را درون بلاک try catch قرار داده‌ایم تا اگر خطایی رخ داد بتوانیم خطا را مدیریت کنیم. درون بلاک try ما برای اتصال به دیتابیس از روش PDO استفاده کرده‌ایم که با کلید new یک شی از آن ساخته‌ایم و درون متغیر db قرار داده‌ایم تا بتوانیم کوئری‌های خود را اجرا کنیم.

درون PDO ما نوشته‌ایم: mysql، به این معناست که پایگاه داده ما Mysql است، کلمه‌ی بعدی که host است باید نام host خود را مشخص کنیم که ما آن را درون آرایه‌ای که مشخصات پایگاه داده را در اختیار داشت فراخوانی کرده‌ایم، دو براکت {} بین متغیر برای جلوگیری از تداخل بین رشته و متغیر است.

در ادامه ما با یک ; (سمی کالمن) دو مقدار را از هم جدا کرده‌ایم، رو به روی کلمه dbname ما نام پایگاه داده خود را آورده‌ایم. در خارج از رشته ما نام کاربری و رمز عبور را فراخوانی کرده‌ایم. در نهایت نیز اتصال پایگاه داده را درون متغیر db نگه داشته‌ایم.

بلاک catch نیز زمانی اجرا می‌شود که خطایی در بلاک try رخ دهد و اگر خطایی رخ دهد تابع die اجرا می‌شود که خطا را چاپ و برنامه را متوقف می‌کند.

دریافت اطلاعات از دیتابیس در PHP

در فایل process.php ما کدهای مربوط به دریافت اطلاعات از دیتابیس را می‌نویسیم، قرار است که ما یک تابع بنویسیم تا تمامی اطلاعات درون جدول را استخراج کند و به ما در قالب یک Object بدهد.

قبل از هرچیزی به خاطر داشته باشید که فایل config.php باید در ابتدای این فایل include شود تا بتوانیم از اتصالی که به دیتابیس درون فایل config.php ایجاد شده است، استفاده کنیم، برای include کردن فایل config کافی است کد زیر را بعد از تگ php قرار دهیم.

include_once 'config.php';

تابع include_once باعث می‌شود تا ما یک فایل را فقط یک بار درون یک فایل include کنیم.

function getAllUsers(){
    global $db;
    $sql = "SELECT * FROM users";
    $stmt = $db->prepare($sql);
    $stmt->execute();
    return $stmt->fetchAll(PDO::FETCH_OBJ);
}

در کد بالا ما یک تابع به نام getAllUsers تعریف کرده‌ایم تا نام تابع با کاری که می‌کند مطابقت داشته باشد. درون تابع ما متغیر db را global کرده‌ایم تا بتوانیم از متغیر db که شامل موارد اتصال به دیتابیس است استفاده کنیم توجه کنید که این متغیر درون فایل config.php است و ما آن را include کرده‌‎ایم تا بتوانیم از کدهای درونش استفاده کنیم.

در ادامه ما کوئری مورد نظرمان که دریافت تمامی کاربران از جدول users است را نوشته‌ایم و درون متغیر sql قرار داده‌ایم، در قدم بعدی ما تابع prepare از شئ ساخته شده PDO که درون متغیر db است صدا زده‌ایم و کوئری‌مان را درون تابع قرار داده‌ایم تا برای اجرای کوئری آماده‌سازی کند و آن را درون stmt قرار داده‌ایم تا بتوانیم کوئری را در قدم بعدی اجرا کنیم.

در قدم بعدی ما متغیر stmt را execute کرده‌ایم، تابع execute کوئری ما را اجرا می‌کند و در نهایت به عنوان خروجی با کمک تابع fetchAll که تمامی نتایج برگشت داده شده از سمت دیتابیس است را return کرده‌ایم. درون تابع fetchAll ما PDO::FETCH_OBJ را نوشته‌ایم تا نتایج برگشت داده شده را در قالب یک Object به ما بدهد.

دریافت اطلاعات از دیتابیس در PHP

تابع دريافت اطلاعات از ديتابيس در PHP

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

کد زیر را در پایین کدهای فایل process.php قرار دهید.
$users = getAllUsers();

اکنون متغیر users حاوی اطلاعات درون جدول users است، برای مشاهده نتیجه بازگشتی که درون متغیر result است متغیر result را یک بار var_dump می‌کنیم.

var_dump($users);
array(2) {
  [0]=>
  object(stdClass)#3 (4) {
    ["id"]=>
    string(1) "1"
    ["username"]=>
    string(4) "amir"
    ["email"]=>
    string(6) "salehi@gmail.com"
    ["age"]=>
    string(2) "18"
  }
  [1]=>
  object(stdClass)#4 (4) {
    ["id"]=>
    string(1) "2"
    ["username"]=>
    string(5) "ayoub"
    ["email"]=>
    string(10) "nazarzadeh@gmai.com"
    ["age"]=>
    string(2) "60"
  }
}
خروجی که برای ما برگردانده است یک object است که به راحتی می‌توانیم از مقادیر درونش استفاده کنیم.

نمایش اطلاعات دریافت شده از دیتابیس در PHP

تا الان که توانسته‌ایم اطلاعات را به خوبی از دیتابیس دریافت کنیم و در قالب یک object داشته باشیم حال باید برای نمایش نتایج، به آن یک قالب مناسب بدهیم. برای این کار ما باید سراغ فایل index.php برویم تا نتایج را درون html صفحه نشان دهیم.

برای اینکه در وقتتان صرفه جویی شود از کدهای html و css زیر برای قالب دهی استفاده کنید.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>دریافت اطلاعات از دیتابیس</title>
    <style>
        .container {
            margin: 10px auto;
            width: 80%;
        }
        .post {
            border: 1px solid #eee;
            width: 25%;
            padding: 10px 26px;
            text-align: center;
            display: inline-block;
            margin: 6px;
        }
        span {
            background-color: #eee;
            padding: 4px;
            border-radius: 4px;
        }
        email {
            background-color: cornflowerblue;
            color: white;
            padding: 4px;
            border-radius: 5px;
        }
        h3 {
            background-color: palevioletred;
            padding: 6px;
            color: white;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="post">
            <h3>username</h3>
            <email>email@gmai.com</email>
            <span>12</span>
        </div>
    </div>
</body>
</html>

برای اینکه از نتایج درون متغیر users در فایل process.php استفاده کنیم باید آن را در فایل کنونی که همان index.php است include کنیم. در بالایی‌ترین قسمت فایل index.php کد زیر را قرار دهید.

<?php include 'process.php'; ?>
کد بالا فایل process.php را include می‌کند.

اکنون می‌توانیم با حلقه‌ی foreach نتایج را در قالب موجود درون سند html قرار دهیم، کد زیر که درون فایل index.php است و درون یک div با کلاس container می‌باشد را در نظر بگیرید.

<div class="post"> 
    <h3>username</h3> 
    <email>email@gmai.com</email> 
    <span>12</span> 
</div>
باید بلاک div بالا را درون حلقه قرار دهیم تا این بلاک به تعداد نتایج برگردانده شده تکرار شود تا مقادیر قرار داده شود.
<?php foreach ($users as $user) : ?>
        <div class="post">
                <h3><?= $user->username ?></h3>
                <email><?= $user->email ?></email>
                <span><?= $user->age ?></span>
        </div>
<?php endforeach; ?>

در کد بالا برای اینکه بتوانیم از حلقه‌ استفاده کنیم از تگ php استفاده کرده‌ایم و در آخر تگ div نیز حلقه foreach را بسته‌ایم. از آن جایی که نتایج در قالب object هستند در حلقه foreach به راحتی می‌توان بر روی آن پیمایش کرد. در تگ ‌های html درونی مثل h3 ما از تگ <?   =?> استفاده کرده‌ایم، این تگ باعث می‌شود مقدار PHP که درونش قرار می‌دهیم را چاپ کند، دقیقا مثل echo عمل می‌کند.

جمع‌بندی:

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

اگر به یادگیری بیشتر در زمینه‌ی PHP علاقه داری، شرکت در دوره‌ی آموزشPHP را پیشنهاد می‌کنیم، با شرکت در این دوره، در کمتر از یک سال به یک متخصص PHP تبدیل می‌شوی که آماده‌ی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.
۵۱ دیدگاه
ما همه سوالات و دیدگاه‌ها رو می‌خونیم و پاسخ میدیم
۰۶ فروردین ۱۴۰۱، ۰۵:۱۵

سلام، خیلی عالی اموزش دادین، به من خیلی کمک کرد، استفاده کردم، همیشه موفق باشید. اتصال به دیتابیس در PHP در ابتدای کار ما باید بتوانیم به دیتابیس متصل بشویم تا اطلاعات درون دیتابیس را استخراج کنیم، برای این‌کار ما باید ابتدا درون فایل process.php کدهای مربوط به اتصال به دیتابیس را بنویسیم. درون فایل config.php

۰۷ اسفند ۱۴۰۰، ۰۶:۵۷

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

saeed ۲۶ شهریور ۱۴۰۰، ۱۴:۰۰

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

نازنین کریمی مقدم ۳۱ شهریور ۱۴۰۰، ۱۱:۵۳

درود در بخش اتصال به دیتابیس، درون try و زیر اونجایی که db رو میسازید این خط رو اضافه کنید: mysqli_query($db, "SET NAMES utf8"); اینطوری اسامی تون با فرمت utf8 به درستی نمایش داده میشن.

meysam ۱۶ اردیبهشت ۱۴۰۰، ۲۱:۰۹

سلام ممنون میشم کمکم کنید من یه کد ساده میخوام که وقتی اطلاعات به صورت get بهش ارسال شد بررسی کنه ببینه ایا تو دیتابیس و اون تیبل ایا موجود هست یا نه اگه بود ok برگردونه اگه نبود no ممنون میشم اگه کدش رو دارین ارسال کنید. متد به صورت زیر قراره ارسال بشه : http://exmple.com/check.php?code='url='.$siteurl

نازنین کریمی مقدم ۱۸ اردیبهشت ۱۴۰۰، ۱۴:۳۷

سلام. شما چرا میخواید اول اطلاعات رو گت کنید و بعد تو دیتابیس چک کنید که هست یا نه؟ این بهتر نیست که همون اول موقع گت کردن چک کنه و یه کوئری بیشتر نداشته باشید؟

رضا ۰۵ اردیبهشت ۱۴۰۰، ۲۱:۰۲

وقت بخیر. ببخشید برای جستجوی اطلاعات یک جدول mysql و دریافت نتیجه در اندروید، باید query مربوط به اون رو در یک فایل php بنویسم؟ چطور میشه در اندروید نتایج رو دریافت کرد؟ یعنی ارتباط بین کدهای جاوا در اندروید استودیو با فایل php چطور باید ایجاد بشه؟

نازنین کریمی مقدم ۰۵ اردیبهشت ۱۴۰۰، ۲۳:۱۸

درود جواب سوال تون در قالب کامنت نمیگنجه، اما میتونید طبق <a href="https://www.tutorialspoint.com/android/android_php_mysql.htm" target="_blank" rel="noopener nofollow ugc">این راهنما</a> مرحله به مرحله پیش برید. پاینده باشید.

محمدحسین ۲۴ اسفند ۱۳۹۹، ۰۴:۲۵

سلام من یک پیشنهاد داشتم. لطفا یک لینک برای دیدن پروژه قرار دهید.

نازنین کریمی مقدم ۲۵ اسفند ۱۳۹۹، ۱۷:۱۸

سلام. پیشنهادتون رو بررسی میکنیم و اگر امکان پذیر بود قرار میدیم. ممنون که با ما همراه هستید.

داود ۲۷ آبان ۱۳۹۹، ۱۳:۳۷

سلام با سپاس فراوان، در قسمت "اتصال به دیتابیس در PHP" نام فایل مذکور را جابجا نوشته اید برای مبتدیان اصلاح شود بهتر است. ممنون از نحوه آموزش کامل و دقیقتان

امیر صالحی ۲۸ آبان ۱۳۹۹، ۱۹:۴۸

سلام و احترام ممنون از تذکری که داید حتما اصلاح میشه

Parsa ۲۵ آبان ۱۳۹۹، ۰۵:۱۸

سلام، واقعا سایت شما و وب "سایت نت پارادیس" که از مدعی‌های آموزش برنامه نویسی به خصوص پی اچ پی هستید ؛ یکی از....! ؛ در توضیح بخش اتصال "پی اچ پی به دیتا بیس بودید! برنامه نویسی به هر نحوی یک روند منطقی و یک الگاریتم مشخص دارد که اگر مدرس کارش تدریس نباشد صدها نفر را به سر در گمی می‌کشاند (مخصوصا این مبحث که بسیار باعث چالش برای کاربران برنامه نویس مبتدی است. شما حتما در کلاس اول ابتدایی مساله ریاضی یادتان است! مثلا: 2 +...= 5; این عبارت منطقی روشن دارد که جایگاه خالی با چه عددی باید پر شود. ما برای ارتباط با دیتا بیس (با نتیجه که منطق من بعد از خواندن چند مقاله به آن رسید) نیاز به عملیات با پنج فایل داریم تا ارتباط برقرار شود و خروجی بگیریم ؛ باید مثل نت‌های موسیقی آن‌ها را درست و منطقی توضیح دهید تا کاربری که آن عملیات را انجام می‌دهد از نتیجه به وجد آید و صدتا شبیه آنرا بتواند انجام. 1-فایل ایکس را می‌سازیم (سپس کد). 2-فیل ایگرگ را می‌سازیم (سپس کد) و .... من باید بعد از تمام شدن مرحله پنج به نتیجه برسم. دو بار مقاله شما را خواندم و چهار بار مقاله "نت پارادیس" را,,, (فقط با سه فیلد در مای اس کیو ال) هنوز یک آهنگ از آن خروجی نداشته؟؟؟؟ بیایید یک بار در زندگی نظم را رعایت کنید و این روال را به صورت منطقی برای من ایمیل کنید تا هم خودتان لذت ببرید و (به قول آلمانی‌ها "دریافت گ شنک") منطق زیبای یک روال را بیافرینیدد. متشکرم

نازنین کریمی مقدم ۲۷ آبان ۱۳۹۹، ۱۱:۴۲

سلام. دوست عزیز این مقاله درمورد ارتباط php با دیتابیس هست و برای یادگیری مراحل کلی که هنگام ارتباط با دیتابیس باید طی کنیم و اینکه هر مرحله چه معنی داره، باید به سرفصلهای دوره دیتابیس (برای مثال sql server) مراجعه کنید. دلیل اینکه به جواب مناسبی نمیرسید هم همین هست. ما بنا به درخواست کاربران هر مرحله رو با کد توضیح دادیم. اگر در جایی از این آموزش به مشکلی خوردید، میتونید سوالتون رو در بخش نظرات مطرح کنید. در نهایت اگر قرار هست با چندبار خوندن یک عملیات از یکی دوتا سایت کلا ناامید بشید و یک مبحث رو کنار بگذارید، شاید برنامه نویسی حرفه مناسبی براتون نباشه :)

احمد ۱۹ آبان ۱۳۹۹، ۱۷:۵۸

سلام وقت بخیر میدونم جای سوال من اینجا نیست ولی اگر امکان داره لطف کنید جواب بدید. یک تیکه کد دارم میخوام ارتباط بدم به دیتابیس به این صورت که سطر به سطر خونده بشه و عملیات انجام بده. تیکه کد من به صورت زیر است. من میخواهم قسمت file_code و قسمت new_name از دیتابیس خونده بشه به صورت سطر به سطر

امیر صالحی ۲۸ آبان ۱۳۹۹، ۱۹:۵۲

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

mch@ ۲۲ تیر ۱۳۹۲، ۱۱:۴۰

شما احتمالا کوئری را دست کاری کردین

امید ۱۲ تیر ۱۳۹۲، ۱۸:۳۲

سلام 1- اگر بخوام اطّلاعاتی که دریافت کردم رو در یک جدول که ردیف اوّلش توضیح ستون باشه و از ردیف دوم اطّلاعات دریافتی از دیتابیس رو نمایش بده ،چطوری باید کار کنم ؟ 2- اگر فایل هایی رو (مثلاً همین دو پروژه) توی هاستم بریزم و برای ثبت اطّلاعات و دیدن اطّلاعات کاربرانم استفاده کنم ؛در این صورت اگر فردی آدرس فایل get رو بزنه میتونه تمام اطّلاعات رو نگاه کنه. امّا من میخوام که این اطّلاعات فقط به من نمایش داده بشه : - چطوری برای فایل پسورد بذارم ؟ - میتونم فایل get رو در قسمت مدیریت وردپرس فراخوانی کنم تا مدیر بعد از ورود بتونه اون رو نگاه کنه ؟ ممنون میشم راهنماییم کنید. با تشکّر از آموزش هاتون

کیوان علی محمدی ۲۳ تیر ۱۳۹۲، ۱۳:۵۴

سلام می‌تونی از عنصر جدول برای نمایش اطلاعات استفاده کنی،برای عنوان هر ستون هم فقط کافیه یک سطر (البته با TH) رو خارج از حلقه دریافت اطلاعات بذاری، برای گذاشتن کلمه عبور برای فایل هم می‌تونی از GET استفاده کنی و با یه شرط چک کنی که اگه GET ست شده و مقدارش هم برابر کلمه عبور مد نظر شماست اونوقت اطلاعات رو نمایش بده. برای این کار شما نیاز به طراحی پلاگین و ابزارک برای قسمت مدیریت در وردپرس دارین.

امید ۲۳ تیر ۱۳۹۲، ۱۵:۱۱

من جدول بندی رو انجام دادم. اگر با GET مقدار رمز عبور رو به فایلی مثلاً به اسم Check بفرستم و در اونجا پسورد رو چک کنم (یعنی بنویسم مثلاً $_GET['pass'] برابر "1234" شد برو به صفحه بعد ؛ 1- اینظوری کسی از توی سورس یا جای دیگه ای نمیتونه پسورد رو پیدا کنه ؟ 2- چطوری توی صفحه ای که باید بعد از چک کردن پسورد باز بشه چک کنم که از طرف فایل check به این صفحه اومده تا کسی نتونه با زدن آدرس فایل محتویات رو ببینه ؟ - میشه توی یک صفحه دستور شرطی بذارم که اگر پسورد درست بود دستورات داخل همون شرط رو انجام بده ؟ ---- میشه به جای این کار ،مثلاً یوزر و پسورد اتّصال به دیتابیس رو از کاربر درخواست کنم ؟ (که پسورد رو توی فایل PHP ننویسم) با تشکّر

لقمان آوند ۲۳ تیر ۱۳۹۲، ۱۵:۲۴

پسورد رو نباید با متد GET ارسال کرد . چون به راحتی در url میشه دزدیدش ! از [ltr]$_SERVER['HTTP_REFERER'][/ltr] هم برای دریافت اینکه از کجا درخواست اومده استفاده کن .

امید ۲۳ تیر ۱۳۹۲، ۱۵:۲۹

---- پسورد رو نباید با متد GET ارسال کرد . چون به راحتی در url میشه دزدیدش ! از $_SERVER['HTTP_REFERER'] هم برای دریافت اینکه از کجا درخواست اومده استفاده کن . --- خوب من پسورد رو با متد POST ارسال میکنم که امینتش بالاتر بره ،ولی میشه برای $_SERVER['HTTP_REFERER'] یه کمی توضیح بدید و بگید چطوری باید باهاش کار کرد ؟ - میشه یوزر پسورد اتّصال به دیتابیس رو به جای اینکه در فایل (مثلاً config) قرار بدم از کاربر درخواست کنم ؟ با تشکّر

کیوان علی محمدی ۲۳ تیر ۱۳۹۲، ۱۵:۵۲

$_SERVER['HTTP_REFERER'] آدرسی رو که کاربر از اون صفحه به صفحه فعلی اومده برای شما مشخص میکنه،بله شما می‌تونید اینکارو انجام بدید.

امید ۲۳ تیر ۱۳۹۲، ۱۵:۵۶

یعنی من باید بزنم اگر مقدار $_SERVER['HTTP_REFERER' مثلآً برابر "login" بود نمایش بده ؟ با دستور شرطی if باید این کار رو انجام بدم ؟ چطوری کار زیر رو انجام بدم : - یوزر پسورد اتّصال به دیتابیس رو به جای اینکه در فایل (مثلاً config) قرار بدم از کاربر درخواست کنم ؟ با تشکّر فراوان

کیوان علی محمدی ۲۳ تیر ۱۳۹۲، ۱۶:۰۹

بله با دستور شرطی میشه انجام داد،البته این دستور کل آدرس رو برای شما برمیگردونه،میتونی از input جاوا اسکریپت استفاده کنی،یا یه فرم طراحی کنی و از اونجا نام کاربری و کلمه عبور رو دریافت کنی.

امید ۲۳ تیر ۱۳۹۲، ۱۷:۰۲

مثلاً یک فرم با HTML درست کنم که دوتا فیلد داشته باشه و بعد از تکمیل فرم توسط کاربر و تایید ،اطّلاعات اون فرمک در دو متغیّر ذخیره بشه و با متد post به صفحه مربوط بره و برای انّصال به دیتابیس مثلاً به جای db_user و db_pass اون دو متغیّر قرار بگیره و تلاش کنه که به دیتابیس متّصل بشه. درسته ؟ ---- منظور از کل آدرس برای مثال login.php هست یا www.sate.ir/login.php ؟؟؟

کیوان علی محمدی ۲۳ تیر ۱۳۹۲، ۱۹:۱۴

بله منظورم همین بود،برای آدرس هم دومی درسته.

ho3eintt ۰۹ اردیبهشت ۱۳۹۲، ۰۴:۱۶

به من این ارور رو میده Warning: mysql_fetch_assoc() expects at least 1 parameter, 0 given in C:\xampp\htdocs\a\get.php on line 14 خط 14 هم اینه while($amch=mysql_fetch_assoc($dbresult))

حبیب ۲۲ دی ۱۳۹۱، ۱۵:۵۷

سلام چطور میشه شرطی کرد که مثلا یک چیزی قرار داد و اونو شرط رو از فرم گرفت برای ساخت مثلا دیکشنری

لقمان آوند ۲۲ دی ۱۳۹۱، ۱۶:۱۱

لطفا واضحتر و دقیقتر بگید منظورتون چی هست ؟

حسن ۱۸ آذر ۱۳۹۱، ۱۵:۵۸

اگه میتونستم که خیلی خوب میشد :lol:

حسن ۱۸ آذر ۱۳۹۱، ۱۲:۳۷

سلام ببخشید با این روش باز خانی تمام اطلاعت نشون داده میشن . من میخوام داخل سایتم وقتی یه کاربر رو مسدود میکنم و وقتی اون میخوام وارد بشه رو حالت پیش فرض که خود اسکریپت این امان رو داره مینویسه ایمیل شما توسط یکی از مدیران مسدود شده . من میخوام اونجا دلیل مسدودیت رو بذارم میشه راهنمایی کنید لطفا تیبل مربوط به کاربران اسمش users هست . ممنون میشم یکم راهنمایی کنید . من میخوام برای هرکاربر جدا دلیل بنویسم یعنی وقتی یوزر پس یکاربر رو میزنی یک دلیل که من براش نوشتم نشون داده بشه و وقتی یوزر پس یک کاربر دیگرو میزنی قطعا دلیل مسدود شدن اون باید فرق بکنه الان مشکل اینه که تمام دلایل رو برای تمام یوزر‌های مسدود شده نشون میده من میخوام هر کاربر فقط دلیل مسدود شدن خودش رو ببین . اسکریپت من هم شیرترونیکس هست . لطفا راهنمایی کمید

لقمان آوند ۱۸ آذر ۱۳۹۱، ۱۳:۵۵

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

حسن ۱۸ آذر ۱۳۹۱، ۱۵:۰۸

متوجه نشدم یخورده واضح‌تر بعد چجوری فراخوانی کنم که قاطی نشه ؟

حسن ۱۸ آذر ۱۳۹۱، ۱۵:۱۵

ببینید من داخل جدول یوزر‌ها یه قسمتی ساختم برا اینکارا این قسمت خاصیتش اینه که برا هر کاربر یه شماره در نظر میگیره نمیشه کاره کرد که مثلا من موقع مسدود کردن یه کاربر دلیلشو زیرش نوشتم موقع فراخوانی دلیل از روی اون شماره خونده بشه که اشتباه نشه ؟

لقمان آوند ۱۸ آذر ۱۳۹۱، ۱۵:۴۰

خوب دیگه . فرقی نداره . حالا شما خود دلیل رو اونجا بنویسی یا شماره دلیل رو .می تونی یه آرایه و یا جدول دیتابیس برای ذخیره دلایل و شمارشون بسازی و از اون استفاده کنی .

لقمان آوند ۱۸ آذر ۱۳۹۱، ۱۵:۳۸

خوب باید کد اسکریپتت رو بخونی . اگه بتونی مال خودشو غیر فعال کنی و از مال خودت استفاده کنی .

sasha201059 ۱۱ آذر ۱۳۹۱، ۲۱:۴۶

:oops: :oops: بسیار سپاسگذار موفق و موید باشید

mch@ ۱۷ مرداد ۱۳۹۱، ۰۶:۵۶

سلام بله همه تست شدن من نوشتم تو پست هم و گفتم در صورت مشاهده ي خطا،خطا رو بنويسيد كه چيه! در ضمن شما پروژه قبلو بخونيد تا بهتر متوجه اين يكي بشيد

سجاد دریس ۱۷ مرداد ۱۳۹۱، ۱۸:۰۴

ممنون امین جان :wink: حل شد

mch@ ۱۸ مرداد ۱۳۹۱، ۱۰:۲۰

خدا رو شكر :wink: موفق باشي :oops:

سامان ۱۶ مرداد ۱۳۹۱، ۲۲:۴۶

سلام رفیق!. کار نمیده این کدا. خودت امتحانشون کردی!؟؟! هر چی سعی کردم نشد.!

لقمان آوند ۱۶ مرداد ۱۳۹۱، ۲۳:۳۹

سلام امتحان شدن . چه اروری می‌گیری ؟

سجاد دریس ۱۷ مرداد ۱۳۹۱، ۰۳:۲۰

خطای اتصال به پایگاه داده رو نشون میده

لقمان آوند ۱۷ مرداد ۱۳۹۱، ۱۰:۵۲

خوب این دلایل مختلفی می‌تونه داشته باشه . شاید mysql در حال اجرا نباشه شاید دیتابیستون رو ایجاد نکردید و یا اینکه اطلاعات لازم در فایل config رو اشتباه وارد کردید . مثل نام دیتابیس ، یوزر ، پسورد و یا هاست ! [linkme]

mch@ ۱۷ مرداد ۱۳۹۱، ۱۱:۲۲

همونطور كه آقاي آوند فرمودن،ممكنه اطلاعات فايل كانفيگ رو اشتباه وارد كرديد در ضمن آيا شما پروژه ي قبلي كه ارسال اطلاعات بود رو باموفقيت تونستيد اجرا كنيد؟ چون اين پروژه وابسته به اون يكيه

mch@ ۱۷ مرداد ۱۳۹۱، ۱۱:۲۴

اكثر اين خطاها برميگرده به اينكه يا ديتا بيس رو نساختيد يا اطلاعاتشو اشتباه وارد مي كنيد،بزودي پروژه اي ميذارم كه واستون اين كارارو خودكارانجام بده يعني ديتا بيس بسازه و جدول بندي كنه و فيلداشو بسازه و ... خوبه؟!؟!؟

سجاد دریس ۱۷ مرداد ۱۳۹۱، ۱۷:۴۸

سلام خیلی ممنون. از پاسختون. اشتباهم این بود که دیتابیس رو رو نساخته بودم. :grin:

mch@ ۱۵ مرداد ۱۳۹۱، ۱۲:۱۷

خواهش مي كنم :smile: موئد باشيد :oops:

سامان ۱۵ مرداد ۱۳۹۱، ۱۰:۴۶

سلام رفیق!. کار نمیده این کدا. خودت امتحانشون کردی!؟؟! هر چی سعی کردم نشد.!

AMiN ۱۵ مرداد ۱۳۹۱، ۱۰:۳۹

درود مطلب خوبی بود، سپاس تارنمای بسیار خوبی دارید . به امید موفقیت شما .

  • پیش نیازها
  • فایل‌‌های پروژه چه هستند؟
  • اتصال به دیتابیس در PHP
  • دریافت اطلاعات از دیتابیس در PHP
  • تابع دريافت اطلاعات از ديتابيس در PHP
  • نمایش اطلاعات دریافت شده از دیتابیس در PHP
اشتراک گذاری مقاله در :