با سلام.
من یک کدی میخوام بنویسم که وقتی کاربر روی دکمه ایجاد فایل اکسل کلیک میکنه از لیست کاربرانی که ثبت نام کرده اند و اطلاعات در دیتابیس ذخیره شده یک فایل اکسل تهیه کنه.اما وقتی از کدی استفاده میکنم تو خروجی یعنی فایل اکسل کدهای html هم دیده میشه این دلیلش چی میتونه باشه؟
این کدی هست که من تا الان نوشتم قسمت
html:
<form action="/search.php" method="post" novalidate>
<button type="submit" name="excel" class="btn btn-outline-primary">ایجاد فایل اکسل</button>
</form>
php:
$db = new PDO("mysql:host=localhost;dbname=pasak", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$select_stmt = $db->prepare("SELECT * FROM search ");
$select_stmt->execute();
if(isset ($_POST['excel'])){
if ($select_stmt) {
$delimiter = ";";
$filename = "users_" . date('Y-m-d') . ".csv";
header('Content-Encoding: UTF-8');
header('Content-type: application/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=' . $filename);
$f = fopen('php://output', 'w');
fputs($f, "\xEF\xBB\xBF"); // UTF-8 BOM !!!!!
$fields = ['شناسه', 'نام', 'نام خانوادگی', 'سن'];
fputcsv($f, $fields, $delimiter);
while ($row = $select_stmt->fetch(PDO::FETCH_ASSOC )) {
$linedata = [$row['id'], $row['name'], $row['family'], $row['age']];
fputcsv($f, $linedata, $delimiter);
}
fpassthru($f);
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟