• 06-07-2020, 00:10:29
    #1
    Ücretsiz bir firma scripti buldum sıkıntısız çalışıyor fakat 1 problem var.

    Örneğin, sayfa düzenleme (tüm düzenleme sayfaları ürün vs vs. aynı sorun.)

    Sayfa düzenle diyorum. Sayfanın başlığını değiştiriyorum, kaydet diyorum sıkıntı yok. Her alanı düzenleme yapınca düzeltiyor fakat tek sorun SEFURL kısmı düzenlenmiyor.

    Biraz kurcaladım.... Şöyle bir sonuç çıktı.

    Örneğin sayfa başlığı: Hakkımızda sayfası. Ben bunun başlığını Şirket Hakkında yapıp kaydet dediğimde kayıt oluyor. Fakat, sefurl kısmı halen hakkımızda olarak duruyor. Tekrar düzenle deyince sayfa başlığı düzenlenmiş gözüküyor, Şirket Hakkında yazıyor. Olduğu gibi düzeltmeden tekrar kayıt et deyince. Bu sefer SEFURL kısmı da değişmiş oluyor. Yani ilk düzenleme de sef url değişmiyor, ama ikinci düzenleme de sefurl değişiyor.

    İşin özeti bir tık geriden geliyor. Bunu nasıl düzeltebilirim?

    Kullandığım sayfaduzenle.php kodları
    <?php } if(@$_GET["editID"]){ ?>
             <div class="templatemo-content-widget white-bg">
    <h2 class="margin-bottom-10">Sayfa Düzenle</h2>
    <p>
    <?php
    $id = mysql_real_escape_string($_GET['editID']);
    $data = $mth->ins(module_table,'*',"WHERE id='$id'");
    
        if($_POST){
            $empty = array('baslik','sira','kategori','content');
            $mth->medit(module_table,"WHERE id='$id'",$_POST,$empty);
    $data = $mth->ins(module_table,'*',"WHERE id='$id'");
        }
    ?>
            </p>
    <form class="templatemo-login-form" method="post" name="rg">
                             <div class="row form-group">
    <div class="col-lg-12 col-md-12 form-group">
    <label for="inputFirstName">Sayfa Kategorisi Seç</label>
                        <select name="kategori" class="form-control">
                            <?php $sorgu1 = mysql_query("select * from pagekat where id='".$data["kategori"]."' order by sira desc"); while($gelen1 = mysql_fetch_array($sorgu1)){ ?>        
                            <option value="<?php echo $gelen1['id']; ?>"><?php echo $gelen1['baslik']; ?></option>
                            <?php } ?>
                        </select>
    </div>
    </div>
    <div class="row form-group">
    <div class="col-lg-6 col-md-6 form-group">
    <label for="inputFirstName">Başlık</label>
    <input type="text" class="form-control" id="baslik" name="baslik" value="<?=$data["baslik"]?>" placeholder="Sayfa başlık">
    </div>
    <div class="col-lg-6 col-md-6 form-group">
    <label for="inputLastName">Gösterim Sırası</label>
    <input type="text" class="form-control" id="sira" name="sira" value="<?=$data["sira"]?>" placeholder="Sayfa gösterim sırası">
    </div>
    </div>
                
    <div class="row form-group">
    <div class="col-lg-12 form-group">
    <label class="control-label" for="inputNote">İçerik</label>
    <textarea class="form-control ckeditor" id="editor" name="content" rows="3"><?=$data["content"]?></textarea>
    <?php
    $mth->editor();
    ?>
    </div>
    </div>
                
    <div class="form-group text-right">
                 <input type="hidden" id="sefurl" name="sefurl" value="<?=$mth->seoUrl($data["baslik"])?>">
    <button type="submit" class="templatemo-blue-button">Düzenle</button>
    <button type="reset" class="templatemo-white-button">Temizle</button>
    </div>
    </form>
              </div>
  • 06-07-2020, 12:28:53
    #2
    Sanırım
    $mth->seoUrl($data["baslik"])
    kısmını formdan alıp PHP tarafına vermen gerek. Şöyle;
    $_POST['sefurl'] = $mth->seoUrl($data["baslik"]);
    Çünkü formdaki fonksiyon sonraki istekler için doğru sonuç vermesi için konmuş,bu tür anlık değişiklikleri PHP tarafında yapman daha garanti olur.

    Ayrıca bu firma scripti falan değil, spagetti ile gelişi güzel yazılmış bir şey. Yarın mutlaka başka bir yerden patlak verecektir.
  • 06-07-2020, 12:56:22
    #3
    Egoisto adlı üyeden alıntı: mesajı görüntüle
    Sanırım
    $mth->seoUrl($data["baslik"])
    kısmını formdan alıp PHP tarafına vermen gerek. Şöyle;
    $_POST['sefurl'] = $mth->seoUrl($data["baslik"]);
    Çünkü formdaki fonksiyon sonraki istekler için doğru sonuç vermesi için konmuş,bu tür anlık değişiklikleri PHP tarafında yapman daha garanti olur.

    Ayrıca bu firma scripti falan değil, spagetti ile gelişi güzel yazılmış bir şey. Yarın mutlaka başka bir yerden patlak verecektir.
    Hocam dediğiniz şekilde yaptım.

        <input type="hidden" id="sefurl" name="sefurl" value="<?$_POST['sefurl'] = $mth->seoUrl($data["baslik"]);?>">
    fakat bu sefer mysql tablosunda sefurl kısmı boş kalıyor.
  • 06-07-2020, 13:17:13
    #4
    GirindirNet adlı üyeden alıntı: mesajı görüntüle
    Hocam dediğiniz şekilde yaptım.

     <input type="hidden" id="sefurl" name="sefurl" value="<?$_POST['sefurl'] = $mth->seoUrl($data["baslik"]);?>">
    fakat bu sefer mysql tablosunda sefurl kısmı boş kalıyor.
    Hmm, kopyala yapıştır yaptığım için kaçırmışım, şöyle olması gerek.
    $_POST['sefurl'] = $mth->seoUrl($_POST["baslik"]);