gokcin bilgisayarımdaki tüm dosyalarda değil.
Sadece bazı proje klasörlerinde. Örneğin sınav adında bir projem var. Tüm dosyalar etkilenmiş. Resimler bile açılmıyor.
Örnek olarak sınav projesini paylaşıyorum.
İndir
tayfunerbilen, ebykdrms, gokcin teşekkür ederim.
gokcin hocam url bir fonksiyon üzerinden geliyor.
Tam kodum şu şekilde.
<?php
$route = 0;
function parseUrl()
{
$dirname = dirname($_SERVER['SCRIPT_NAME']);
$dirname = $dirname != '/' ? $dirname : null;
$basename = basename($_SERVER['SCRIPT_NAME']);
$request_uri = str_replace([$dirname, $basename], null, $_SERVER['REQUEST_URI']);
return $request_uri;
}
function run($url, $callback, $methods = 'get')
{
$methods = explode('|', strtoupper($methods));
if (in_array($_SERVER['REQUEST_METHOD'], $methods))
{
$patterns = [
'{url}' => '([0-9a-zA-Z]+)',
'{id}' => '([0-9]+)'
];
$url = $url ? str_replace(array_keys($patterns), array_values($patterns), $url) : "";
$request_uri = parseUrl();
if (preg_match('@^' . $url . '$@', $request_uri, $parameters))
{
unset($parameters[0]);
global $route;
$route += 1;
if (is_callable($callback)){
call_user_func_array($callback, $parameters);
} else {
$explode = explode('@', $callback); // $callback'i controller ve method olacak şekilde parçala.
$controller = explode('/', $explode[0]); // controller klasöründe bulunan klasör içerisindeki dosya ismini alabilmek için parçala
$controller = end($controller); // Dosya ismini al
$method = $explode[1]; // Method ismi
$controllerFile = CONTROLLERS_DIR . strtolower($explode[0]) . '.php';
if (file_exists($controllerFile)) {
require $controllerFile;
controller($controller, $method, $parameters);
}else{
echo $controller." dosyası bulunamadı!";
}
}
}
}
}
function notfound()
{
global $route;
if($route == 0)
{
header('Location: '.URL.'/404');
}
}
Örnek run fonksiyonu kullanımı
run("/blog/goster/{id}","blog@tek_blog");
@ebykdrms aşağıdaki hatayı alıyorum hocam.
showVar($duzenlenmisYorumlar);
GÜNCELLEME
Aşağıdaki alanları gösterdiğim şekilde değiştirdiğimde hatalar kayboldu.
Herhangi bir yanlışlık var mı?
ana_yorum
// Bu kısmı
<a href="#" class="mt-2" data-ust-yorum-id="<?= $data['yorum_id'] ?>">Cevapla</a>
// Bu şekilde değiştirdim.
<a href="#" class="mt-2" data-ust-yorum-id="<?= $data['yorum']['yorum_id'] ?>">Cevapla</a>
cevap_yorum
// Bu kısmı
<a href="#" class="mt-2" data-ust-yorum-id="<?= $data['yorum_id'] ?>">Cevapla</a>
// Bu şekilde değiştirdim.
<a href="#" class="mt-2" data-ust-yorum-id="<?= $altYorum['yorum_id'] ?>">Cevapla</a>
@ebykdrms dediğiniz gibi yaptım. Aşağıdaki şekilde bir çıktı alıyorum.
showVar($yorumlar);
showVar($duzenlenmisYorumlar);
@fatihkurtl teşekkür ederim.
@ebykdrms hocam sizin vermiş olduğunuz kodlarıda denemek istedim. Ancak şöyle bir hata alıyorum. Çözemedim?
@fatihkurtl, @ebykdrms ikinize de ayrı ayrı teşekkür ederim arkadaşlar.
@ebykdrms güzel ve beyinde fikirler uyandıracak bilgiler verdiğiniz için teşekkür ederim. Yazmışken sormak istiyorum.
Makaleyi html olarak yazdırıp bunu üyelere nasıl göstereceğiz?
- Kişi makele oku linkine tıkladığında html sayfasını mı görecek?
- Html sayfası php sayfasına include mi edilecek?
- Her makalenin html dosyası olmalı mı?
GÜNCELLEME
Hocam listeleme işleminde bir sorun yaşıyorum.
Resimdeki hatayı alıyorum. Alt cevabı olmayan yorumda hata veriyor
Yardımcı olabilir misiniz?
Yorumlar Tablosu
Hata
db.php
<?php
function yorumlar($makale_id, $ust_yorum_id = null){
global $db;
$sorgu = "SELECT * FROM yorumlar INNER JOIN uyeler ON uyeler.uye_id = yorumlar.uye_id WHERE makale_id = :mak_id AND ust_yorum_id = :ust_yor_id";
$query = $db->prepare($sorgu);
if($ust_yorum_id != null){
$query->execute([":mak_id" => $makale_id, ":ust_yor_id" => $ust_yorum_id]);
}else{
$query->execute([":mak_id" => $makale_id, ":ust_yor_id" => 0]);
}
$yaz = $query->fetchAll(PDO::FETCH_ASSOC);
if($query->rowCount() > 0){
return $yaz;
}else{
return false;
}
}
read.php
<?php
include_once 'inc/db.php';
$mak_id = $_GET["id"];
$yaz = makale($mak_id);
$yorumlar = yorumlar($mak_id);
?>
<div class="yorumlar">
<!-- Ana Yorum Başlangıç -->
<?php foreach($yorumlar as $yorum): ?>
<div class="ana_yorum">
<?php
echo $yorum["uye_adi"];
echo $yorum["yorum_icerik"];
?>
<a href="#" class="mt-2">Cevapla</a>
<!-- Cevap Yorum Başlangıç -->
<?php
$ust_yorum_id = $yorum["yorum_id"];
if($ust_yorum_id != 0):
$ust_yorumlar = yorumlar($mak_id, $ust_yorum_id);
?>
<?php foreach($ust_yorumlar as $ust_yorum): ?>
<div class="cevap_yorum">
<?php
echo $ust_yorum["uye_adi"];
echo $ust_yorum["yorum_icerik"];
?>
<a href="#" class="mt-2">Cevapla</a>
</div>
<?php endforeach; ?>
<?php endif; ?>
<!-- Cevap Yorum Bitiş -->
</div>
<?php endforeach; ?>
<!-- Ana Yorum Bitiş -->
</div>
@gokcin büyük bir resim koymak istediğimde tam olarak oturtamıyorum. Resim büyük geliyor.
Merhaba.
Sütunlardaki yazıları silmekten kastın sütunun satırlarındaki bölümleri boşaltmak ise UPDATE konutunu kullanabilirsin.
UPDATE tablo_adi SET sutun_adi = "";
Aynı şekilde sütunun satırlarındaki bölümlere aynı metin ekleme işlemi yapılacaksa yine UPDATE kullanılabilir.
UPDATE tablo_adi SET sutun_adi = "Deneme metin";
Ancak metinler farklı olacaksa internette php mysql çoklu veri ekleme şeklinde arama yapabilir, Youtube'da videolar bulabilisiniz.