• 14-06-2021, 23:18:01
    #1

    Seo url'yi öğrenmek için şöyle basit bir şey yaptım ve size yapmak istediğimi anlatıcam;
    Şuanda bu url'lere tıklanınca "http://localhost/sefurl/servis.php?servisler_id=1" gibi sorgular döndürüyor ancak ben bunu şöyle yapmak istiyorum; "http://localhost/sefurl/yazi-editorlugu/" ve bu istediğim doğrultusunda dosyalarımı oluşturuyorum;

    index.php dosyam (En yukarıdaki resimdeki yer yani servislerin listeleneceği alan.) Ve Kodları Şu şekilde;
    <?php
    require_once('baglan.php');
    $servisler=$db->prepare("SELECT * FROM servisler");
    $servisler->execute();
    ?>
    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
    
        <title>Hello, world!</title>
      </head>
      <body>
      
            <div class="container">
            <div class="row mt-5">
          
            <?php
            while ($vericek=$servisler->fetch(PDO::FETCH_ASSOC)) { ?>
            <div class="col-md-4">
            <div class="shadow-lg p-3 mb-5 bg-body rounded">
            <div class="text-center">
            <i class="<?php echo $vericek['servisler_icon'] ?> fa-5x"></i>
            <h2 class="mt-3"><?php echo $vericek['servisler_title'] ?></h2>
            <p><?php echo $vericek['servisler_text'] ?></p>
            <a href="<?=seo($vericek["servisler_title"]).'/'.$veri["servisler_id"]?>"><button class="btn btn-success">İNCELE</button></a>
            </div>
            </div>
            </div>
    
            <?php
            }
    ?>
            </div>
            </div>
            <?php
    function seo($s) {
        $tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',');
        $eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','');
        $s = str_replace($tr,$eng,$s);
        $s = strtolower($s);
        $s = preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $s);
        $s = preg_replace('/\s+/', '-', $s);
        $s = preg_replace('|-+|', '-', $s);
        $s = preg_replace('/#/', '', $s);
        $s = str_replace('.', '', $s);
        $s = trim($s, '-');
        return $s;
       }
    ?>
        <!-- Optional JavaScript; choose one of the two! -->
    
        <!-- Option 1: Bootstrap Bundle with Popper -->
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script>
        <script src="https://kit.fontawesome.com/267d24fc8a.js" crossorigin="anonymous"></script>
      </body>
    </html>
    servis.php dosyam (servislerim detaylarının gösterileceği yer.) Ve kodları;
    [COLOR=#ffffff][FONT=Consolas][COLOR=#e1efff]<?php[/COLOR][/FONT][/COLOR]
    require_once('baglan.php');
    
    $sorgu=$db->prepare("SELECT * FROM servisler where servisler_id=:id");
    $sorgu->execute(array(
      'id'=>$_GET['servisler_id']
    ));
    
    $vericek=$sorgu->fetch(PDO::FETCH_ASSOC);
    ?>
    <!doctype html>
    <html lang="en">
      <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        <!-- Bootstrap CSS -->
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
    
        <title>Hello, world!</title>
      </head>
      <body>
      
            <div class="container">
            <div class="row">
            <div class="col-md-12">
            
            <div class="shadow-lg p-3 mb-5 bg-body rounded  mt-5">
            <div class="text-center">
            <i class="<?php echo $vericek['servisler_icon'] ?> fa-5x"></i>
                    <h2><?php echo $vericek['servisler_title']  ?></h2>
            <?php echo $vericek['servisler_text'] ?></div>
            </div>
            </div>
            </div>
            </div>
    
        <!-- Optional JavaScript; choose one of the two! -->
    
        <!-- Option 1: Bootstrap Bundle with Popper -->
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script>
        <script src="https://kit.fontawesome.com/267d24fc8a.js" crossorigin="anonymous"></script>
      </body>
    </html>
    baglan.php dosyam (veritabanı bağlantımı yaptığım yer) ve kodları;(Not:error_reporting(0); kullanmamın nedeni dizin ifşasını önlemektir.)
    <?php
    
    error_reporting(0);
    
    try{
        $db=new PDO("mysql:host=localhost;dbname=sefurl;charset=utf8","root","");
      
    
    }catch(PDOEXception $hata){
        echo $hata->getMessage();
    
    }
    
    ?>
    .htaccess dosyam ve kodları;
    RewriteEngine on
     
    RewriteRule ^servisler/([0-9a-zA-Z-_]+)/([0-9]+)$  servis.php?sef=$1&id=$2 [L,QSA]
    Ve son olarak veritabanım (Veritabanı adım sefurl çalıştığım tablo ise servisler tablosu İD değerimi auto increment olarak saklıyorum.) ve görünümü;


    1-2 Haftadır uğraşıyorum fazlasıyla bıktırdı lütfen bana daha önce yazılmış blogları vs. atmayın google'da aramasını yapıp çıkan ilk 5 sayfaya da baktım olmadı. Bana bunu öğretecek kişiye yazılımcıların işine yarayacak bir platform olan 1 adet envato elements hesabı ve R10+ ileteceğim. Şimdiden herkese teşekkürler iyi forumlar
  • 15-06-2021, 00:24:30
    #2
    https://m.youtube.com/watch?v=ax7BMwBX3UY


    Ben Emrah yüksel hocadan öğrendim, Belki işine yarar.