• 18-03-2020, 20:12:37
    #1
    Merhabalar üye profil sayfası yaptım ama bir sorunum var.


    profil detay kod bloğum şu şekilde
    $username = $_GET['username'];
    $query = $db->query("SELECT * FROM uyeler WHERE username = '{$username}'")->fetch(PDO::FETCH_ASSOC);

    link şu şekilde
    <a href="profil-detay/<?=seo($query["username"]) ?>">Profilim</a>

    ama halen profil-detay/username şeklinde veriler gözükmüyor.

    http://localhost/script/profil-detay?username=dogukan2 bu şekilde veriler geliyor ben yukarıdaki gibi gelmesini istiyorum ama yapamadım.

    .htaccess

    RewriteRule ^profil-detay/ profil-detay.php?sef=$1&username=$2 [L,QSA]
  • 18-03-2020, 20:46:46
    #2
    ilgili sayfada print_r($_GET) ile çekersen aslında sef ile alacağını görürsün
  • 18-03-2020, 20:49:26
    #3
    RewriteRule ^profil-detay/ profil-detay.php?username=$1 [L,QSA]
  • 18-03-2020, 20:54:02
    #4
    RewriteRule ^profil-detay/([0-9a-zA-z-]+)$ profil-detay.php?username=$1 [L,QSA]

    olarak denermisin.

    Ayrıca dosya isimlerinde - işaretini kullanmamanı öneririm.
    URL kısmında - işaretini kullanabilirsin dosya isminde olması farklı sunucularda hataya yol açacaktır.




    refalert adlı üyeden alıntı: mesajı görüntüle
    RewriteRule ^profil-detay/ profil-detay.php?username=$1 [L,QSA]
    Bu şekilde isime göre değer alamaz.
  • 18-03-2020, 21:52:36
    #5
    ufuxio adlı üyeden alıntı: mesajı görüntüle
    RewriteRule ^profil-detay/([0-9a-zA-z-]+)$ profil-detay.php?username=$1 [L,QSA]

    olarak denermisin.

    Ayrıca dosya isimlerinde - işaretini kullanmamanı öneririm.
    URL kısmında - işaretini kullanabilirsin dosya isminde olması farklı sunucularda hataya yol açacaktır.


    Bu şekilde isime göre değer alamaz.

    Teşekkür ederim. zaten local de test için böyle bir url kullandım.




    refalert adlı üyeden alıntı: mesajı görüntüle
    RewriteRule ^profil-detay/ profil-detay.php?username=$1 [L,QSA]

    teşekkür ederim
  • 18-03-2020, 23:12:33
    #6
    + olarak sql sorgunuzun içinde dışarıdan değer ekleyecekseniz query yerine prepare statement kullanarak daha güvenli bir kod yazabilirsiniz;

    $db->prepare('SELECT * FROM users WHERE username = :username');
    $db->execute([
        'username' => $username
    ]);
  • 18-03-2020, 23:38:07
    #7
    coder63 adlı üyeden alıntı: mesajı görüntüle
    + olarak sql sorgunuzun içinde dışarıdan değer ekleyecekseniz query yerine prepare statement kullanarak daha güvenli bir kod yazabilirsiniz;

    $db->prepare('SELECT * FROM users WHERE username = :username');
    $db->execute([
        'username' => $username
    ]);

    Merhaba Teşekkür ederim GET ile veri çekiyorum;

    <?php

    $username = $_GET['username'];
    $query = $db->query("SELECT * FROM uyeler WHERE username = '{$username}'")->fetch(PDO::FETCH_ASSOC);
    if ( $query ){
    echo $query["username"]." profil";
    }

    ?>

    bu şekilde kullanmaktayım sizce nasıl kullanmalıyım
  • 18-03-2020, 23:39:52
    #8
    Örnek kod yazdım hocam , onu uyarlayabilirsiniz
  • 18-03-2020, 23:43:27
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Aslında en güzeli https://github.com/appaydin/pd-user

    Şunun gibi bir şey kullanmak..