• 23-12-2018, 19:27:53
    #1
    baglan.php
    <?php 
    ob_start();
    
    if(!isset($_SESSION))
    {
    session_start();
    }
    
    
     ?>
    
    <?php
    $dsn = 'mysql:host=localhost;dbname=h';
    $user = 'root';
    $password = '';
    try {$db = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {echo 'Connection failed: ' . $e->getMessage();}
    $db->exec("SET NAMES 'utf8'; SET CHARSET 'utf8'");
    ?>

    menu-ekle.php
    if(isset($_POST['menukaydet']))
    {
    
       $menuekle = $db->prepare("insert into menuler (menu_ad,menu_link) VALUES ('".$_POST['menu_ad']."','".$_POST['menu_link']."')");
        
    
       $menuekle -> execute();
    
    if($menuekle -> rowCount() > 0)
    
    {
        header("Location:../menu-ekle.php?durum=ok");
    
    }
    else {
    
        header("Location:../menu-ekle.php?durum=no");
    
    }
    }


    PHP'yi yeni yeni öğreniyorum ve yukarıda PDO ile insert işlemini bir türlü yapamadım. Mutalaka kodlarda yeni olmamdan kaynaklı eksikler var. Her defasında "menu-ekle.php?durum=no" çeviriyor. Veritabanına ekleme yapmıyor. Nasıl yapabilirim?

    Kısacası insert yapabileceğim PDO kodlarını yeni baştan yardımcı olursanız memnun olurum. Nette gördüğüm PDO insert komutlarını uyguladım ama olmadı hiçbiri.
  • 23-12-2018, 19:37:01
    #2
    $query = $db->prepare("INSERT INTO market SET  accountid =?,  borsa =?  ");
     
    $insert = $query->execute(array( $kul_id, $p_borsa));
    Merhaba benim kullandığım kod bu şekilde. İnsert işlemlerinde bu yapıyı kullanıyorum.
  • 23-12-2018, 19:38:53
    #3
    iki inputun olacak.

    İnputların name kısımları menu_ad ve menu_link olsun

    if($_POST)
    {
    # Değişkenleri tanımla
    $menu_ad = $_POST["menu_ad"];
    $menu_link = $_POST["menu_link"];
    
    # Veri Ekleme İşlemleri
    if('submit')
    {
    $menuEkle = $db->prepare("INSERT INTO menuler (menuID, menu_ad, menu_link) VALUES(NULL, ?, ?) ");
    $calistir = $menuEkle->execute(array($menu_ad, $menu_link));
    
    echo "veri eklendi";
    }else{
    echo "veri eklenemedi";
    }
    }else{
    echo
    ' form kodlarınızı buraya ekleyin ';
    }
  • 23-12-2018, 19:42:48
    #4
    Alaca adlı üyeden alıntı: mesajı görüntüle
    baglan.php
    <?php
    ob_start();
    
    if(!isset($_SESSION))
    {
    session_start();
    }
    
    
     ?>
    
    <?php
    $dsn = 'mysql:host=localhost;dbname=h';
    $user = 'root';
    $password = '';
    try {$db = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {echo 'Connection failed: ' . $e->getMessage();}
    $db->exec("SET NAMES 'utf8'; SET CHARSET 'utf8'");
    ?>
    menu-ekle.php
    if(isset($_POST['menukaydet']))
    {
    
       $menuekle = $db->prepare("insert into menuler (menu_ad,menu_link) VALUES ('".$_POST['menu_ad']."','".$_POST['menu_link']."')");
        
    
       $menuekle -> execute();
    
    if($menuekle -> rowCount() > 0)
    
    {
        header("Location:../menu-ekle.php?durum=ok");
    
    }
    else {
    
        header("Location:../menu-ekle.php?durum=no");
    
    }
    }
    PHP'yi yeni yeni öğreniyorum ve yukarıda PDO ile insert işlemini bir türlü yapamadım. Mutalaka kodlarda yeni olmamdan kaynaklı eksikler var. Her defasında "menu-ekle.php?durum=no" çeviriyor. Veritabanına ekleme yapmıyor. Nasıl yapabilirim?

    Kısacası insert yapabileceğim PDO kodlarını yeni baştan yardımcı olursanız memnun olurum. Nette gördüğüm PDO insert komutlarını uyguladım ama olmadı hiçbiri.
    $var = $_Post[‘menu’]
    $var2 ...
    $menuekle = $db->prepare("insert into menuler (menu_ad,menu_link) VALUES (?,?)");
    $menuekle->execute(array($var,$var2));

    olarak düzenle telefondan yazdığım için tam yazamadım sen düzeltip yazarsan çalışır
  • 23-12-2018, 21:03:33
    #5
    DemirayBilisim adlı üyeden alıntı: mesajı görüntüle
    iki inputun olacak.

    İnputların name kısımları menu_ad ve menu_link olsun

    if($_POST)
    {
    # Değişkenleri tanımla
    $menu_ad = $_POST["menu_ad"];
    $menu_link = $_POST["menu_link"];
    
    # Veri Ekleme İşlemleri
    if('submit')
    {
    $menuEkle = $db->prepare("INSERT INTO menuler (menuID, menu_ad, menu_link) VALUES(NULL, ?, ?) ");
    $calistir = $menuEkle->execute(array($menu_ad, $menu_link));
    
    echo "veri eklendi";
    }else{
    echo "veri eklenemedi";
    }
    }else{
    echo
    ' form kodlarınızı buraya ekleyin ';
    }


    Hocam kodları şu şekilde yaptım ve butona tıkladığumda veri eklendi diyor ama veri tabanına herhangi bir kayıt gelmiyor. Ben nerede hata yapıyorum?
    if($_POST)
    {
    # Değişkenleri tanımla
    $menu_ad = $_POST["menu_ad"];
    $menu_link = $_POST["menu_link"];
     
    # Veri Ekleme İşlemleri
    if('menukaydet')
    {
    $menuEkle = $db->prepare("INSERT INTO menuler (menu_ad, menu_link) VALUES(?,?)");
    $calistir = $menuEkle->execute(array($menu_ad, $menu_link));
     
    echo "veri eklendi";
    }else{
    echo "veri eklenemedi";
    }
    }else{
    echo
    ' form kodlarınızı buraya ekleyin ';
    }




    cleaner80 adlı üyeden alıntı: mesajı görüntüle
    $query = $db->prepare("INSERT INTO market SET  accountid =?,  borsa =?  ");
     
    $insert = $query->execute(array( $kul_id, $p_borsa));
    Merhaba benim kullandığım kod bu şekilde. İnsert işlemlerinde bu yapıyı kullanıyorum.

    Hocam bunu da denedim ama olmadı. Submit butonunun adını filan mı yakalatamıyorum acaba bu sayfada. Yeni olduğum için çabuk göremiyorum. Ve umudumun da kırılmasını istemiyorum şu safhada. 3 gündür buna uğraşıyorum.
  • 24-12-2018, 02:30:56
    #6
    @Alaca;

    </form> etiketi bitişinden önceki menü ekle butonunu

    <button type="submit">Menü Ekle</button>şu şekilde oluşturun.

    Eğer yapamazsanız pm ile skype adresinizi gönderebilirsiniz hocam.
  • 24-12-2018, 07:33:13
    #7
    Hocam butonu o şekilde yapmıştım zaten. Buton çalışıyor ve data eklendi diyor ama veritabanına herhangi bir veri eklenmiyor.
  • 24-12-2018, 07:44:02
    #8
    hocam tablonda ID değeri için bir kolon var mı?
  • 24-12-2018, 07:47:03
    #9
    Evet ID primary auto intrament olarak ayarlı.