Arkadaşlar mesela üye giriş yaptı diyelim ve birşeyler ekleyecek ,eklediğini düzenleyecek ya da silecek.
Bu işlemler aynı sayfada da yapılabilir farklı sayfalarda da yapılabilir.Siz hangisini önerirsiniz?Her işlem farklı sayfadamı açılmalı yoksa aynı sayfada işlemler halledilmeli mi?Performans açısından,yazım profesyonelliği açısından ve yazma kolaylığı açısından görüşleriniz nedir?
düzenleme,silme,ekleme işlemleri için bir öneri alacağım.
3
●366
- 25-09-2010, 23:48:10
- 26-09-2010, 01:30:59Eposta Aktivasyonu GerekmekteGelen querystring'e göre gruplayıp farklı sayfalarda çalışman kod okunabilirliği ve düzenliği açısında önemli olur. Tek sayfada da yazarsın ama aradığını bulmak neyin ne olduğunu çözmek daha zorlaştırır.
Performans konusu senin yazılımını ne derecede düzenli yazdığından ziyade yaptılan hatalı sorgular ve kullanılan hatalı methodlar v.b'den kaynaklı olur.
Ör.
//querystring require 'kategoriler.php'; $kategori = new Kategori(); require 'makaleler.php'; $makale = new Makale(); switch($_GET['yapilmakIstenen']): case 'kategoriEkle': $kategori->ekle(); break; case 'kategoriGuncelle': $kategori->guncelle($_GET['kategoriID']); break; case 'kategoriSil': $kategori->sil($_GET['kategoriID']); break; case 'kategoriGetir': $kategori->getir($_GET['kategoriID']); break; case 'makaleEkle': $makale->ekle(); break; case 'makaleGuncelle': $makale->guncelle($_GET['makaleID']); break; case 'makaleSil': $makale->sil($_GET['makaleID']); break; case 'makaleGetir': $makale->getir($_GET['makaleID']); break; endswitch;Tabi bunlar dahada detaylandırılır ama basit bir şekilde gösterdim. - 26-09-2010, 01:35:16Kimlik doğrulama veya yönetimden onay bekliyor.Bir çalışmamdan örnek bir kısım:
if (isset($_GET['delete'])) { $id_page = (int) $_GET['delete']; mysql_query(" DELETE FROM {$db_prefix}pages WHERE id_page = $id_page"); redirectexit('admin/index.php?action=pages'); } if (isset($_GET['move']) && ($_GET['direction'] == 'up' || $_GET['direction'] == 'down')) { $id_page = (int) $_GET['move']; $direction = $_GET['direction']; fixMenuOrdering($id_page, $direction); redirectexit('admin/index.php?action=pages'); } if (isset($_GET['status'])) { $id_page = (int) $_GET['status']; $request = mysql_query(" SELECT status FROM {$db_prefix}pages WHERE id_page = $id_page"); list ($status) = mysql_fetch_row($request); mysql_free_result($request); $new_status = $status ? 0 : 1; mysql_query(" UPDATE {$db_prefix}pages SET status = $new_status WHERE id_page = $id_page"); redirectexit('admin/index.php?action=pages'); } // Verileri listelediğim kısım...redirectexit fonksiyonu:
function redirectexit($setLocation = '', $refresh = false) { global $scripturl; $add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0; if ($add) $setLocation = $scripturl . ($setLocation != '' ? (substr($setLocation, 0, 1) != '?' ? '' : '?') . $setLocation : ''); if ($refresh !== false) echo '<meta http-equiv="refresh" content="' . $refresh . ';url=' . $setLocation . '" />'; else header('Location: ' . str_replace(' ', '%20', $setLocation)); }