Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

PHP ile konu devamını yapamadım

Herkese merhaba. Arkadaşlar ne yaptıysam bir türlü konu devamını yapamadım. URL'yi id ile elde etmedim. Yaptığım URL seflink olduğu için örneğin şu şekilde /?id=1 şeklinde yapmadım. Böyle olunca GET ile elde edebiliyoruz. Rica ediyorum TeamViewer ile bağlanın anlatayım olayı.

php
1

Cevaplar (1)

İşlem devam ediyor, lütfen bekleyin..
Yazılım Yazar
Doğru Cevap
@YazilimYAZAR
1 hafta önce

TeamViewer ile bağlanamam fakat yol göstermek için şöyle birşey önereyim hocam.


https://uzmancevap.org/soru/php-ile-konu-devamini-yapamadim


için kullanmanız gereken .htaccess kodları:


RewriteRule ^soru/([0-9a-zA-Z-_]+) goster.php?sef=$1 [L,QSA]


Bu şekilde o bağlantıyı sağlarsın. Herhangi bir eşleşme sunmak zorundasın. id göndermesenizde sef_link göndermeniz gerekiyor.


goster.php'de soruyu göstermek için;


$query  = $db -> prepare("SELECT * FROM sorular WHERE soru_sef = :sef LIMIT 1");
$query -> execute(['sef' => $_GET['sef']]);
$row	= $query -> fetch(PDO::FETCH_ASSOC);


En basit şekliyle böyle anlatabilirim, gerektiği şekilde düzenleyebilirsiniz.

Cevapla @rufiqcavadov1 hafta önce
@YazilimYAZAR, Kardeş Allah Sizden razı olsun! Bu gün bu sorunla çok uğraşmıştım ve çözememiştim. ID ile yaptığım için olmamıştı mantığı oturtamamıştım bir türlü sayenizde çözmüş oldum sorunu. O zaman PHP'de id ile yapmasak da mümkün yani sef ile ?
Cevapla @kadircam1 hafta önce
@rufiqcavadov, mümkün ancak aynı konu adından yaparsanız çakışma olur id ve sef link belirtin sef linki kontrol etmenize gerek yok sef link sadece seo için id de konu içeriğini getirmek için yada aynı konu başlığı varsa yanına -2 diye eklerseniz sorunu yine cozmus olursunuz
Cevapla @YazilimYAZAR6 gün önce
Aynı isimde eklenen içeriklerde sorun yaşamamak içinde ekleme yaparken veritabanında aynı sef_link ile ekli içerik olup olmadığını kontrol edip eğer varsa PHP'nin rand() fonksiyonu ile sonuna rastgele bir sayı ekleterek karışmasını önleyebilirsin. :)
Cevapla @rufiqcavadov6 gün önce
@YazilimYAZAR, Hocam Size bir sorum daha olacak. Peki bunu hallettim ama konuya ait yorumları ekleme listeleme yaparken bu şekilde yapamadım mesela. Şöyle anlatayım Size comment_id ile comment_post_id oluşturdum veritabanında execute içerisine yazdırıp o okunya ait yorumları listeletemiyorum. Onu nasıl ayarlayacağım yardımınız için şimdiden teşekkürler.

<?php

$comment = $db->prepare("SELECT * FROM comments WHERE comment_post_id = ?");
$comment->execute([
7
]);
$comments =$comment->fetchAll();

?>

<?php foreach ($comments as $comment): ?>
<?php if ($comment['comment_status'] == 1): ?>
<div class="media">
<img class="img-center rounded mr-3" alt="image" src="images/blog/blog-thumb/01.jpg">
<div class="media-body">
<h6><?=$comment['comment_author']?></h6>
<p><?=$comment['comment_content']?></p>
<div class="comment-date"> <span class="date"><?=date('d', strtotime($comment['comment_date']));?> <?=date('M', strtotime($comment['comment_date']));?>, <?=date('Y', strtotime($comment['comment_date']));?></span>
</div>
</div>
</div>
<?php endif; ?>
<?php endforeach; ?>

Yorum kısmını bu şekilde yaptım ama comment_post_id = ? soru işaretinin karşılığını execute içerisinde belirtemiyorum. Yani nasıl belirteceğimi daha doğrusu bilmiyorum.
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın

Yabancı Dizi Arşivi