• 25-09-2010, 23:48:10
    #1
    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?
  • 25-09-2010, 23:51:39
    #2
    Bence Aynı sayfada yapman Daha iyi olur.
  • 26-09-2010, 01:30:59
    #3
    Eposta Aktivasyonu Gerekmekte
    Gelen 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:16
    #4
    Kimlik 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));
    }