• 28-03-2018, 13:26:23
    #1
    Merhaba arkadaşlar, veri tabanında satır sayısını kontrol ettirip eğer önceden ekleme yapılmamış ise ekleme yaptırmak eğer ekleme yaptırılmış ise bilgileri güncelletmek istiyorum.
    Sorgulatıp ekleme yaptırma bölümünde hata alıyorum.
    if ($_POST['site_title'] || $_POST['site_description']|| $_POST['site_keyword']|| $_POST['sms_provider']|| $_POST['sms_approval']|| $_POST['sms_user'] || $_POST['sms_password'] || $_POST['sms_title'] || $_POST['contract']){
            $site_title = $_POST['site_title'];
            $site_description = $_POST['site_description'];
            $site_keyword = $_POST['site_keyword'];
            $sms_user = $_POST['sms_user'];
            $sms_password = $_POST['sms_password'];
            $sms_title = $_POST['sms_title'];
            $contract = $_POST['contract'];
            $sms_provider = $_POST['sms_provider'];
            $sms_approval = $_POST['sms_approval'];
                $sql = $baglanti->query("SELECT COUNT(*) custom");
                $num = $sql->fetchColumn();
                 
                if ($num > 0) {
                    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $sorgu = $baglanti->prepare("INSERT INTO custom (title, description, keyword, sms_provider, sms_approval, sms_user, sms_password, sms_title , contract ) 
                        VALUES (' $site_title' , '$site_description' , '$site_keyword' , '$sms_provider' , '$sms_approval' , '$sms_user' , '$sms_password' ,'$sms_title', '$contract')"); 
                    $sorgu->bindParam(1, $site_title, PDO::PARAM_STR);
                    $sorgu->bindParam(2, $site_description, PDO::PARAM_STR );
                    $sorgu->bindParam(3, $site_keyword, PDO::PARAM_STR );
                    $sorgu->bindParam(4, $sms_provider, PDO::PARAM_INT);
                    $sorgu->bindParam(5, $sms_approval, PDO::PARAM_INT);
                    $sorgu->bindParam(6, $sms_user, PDO::PARAM_STR );
                    $sorgu->bindParam(7, $sms_password, PDO::PARAM_STR );
                    $sorgu->bindParam(8, $sms_title, PDO::PARAM_STR );
                    $sorgu->bindParam(9, $contract, PDO::PARAM_STR );
                    $sorgu->execute();
                    include "../index.php";
                    echo '<script type = "text/javascript"> swal("Kayıt Oluşturuldu", "lütfen Bekleyin Yönlendiriliyorsunuz.", "success") </script>';
                    Yonlendir("index.php",2);
                }
               
                        
                    };
    POST

                        <div class="col-md-12 col-sm-12 col-xs-12">
                            <div class="card">
                                <div class="card-title">
                                    <h4 >Sistem Ayarları</h4>
                                </div>
                                <div class="card-body">
                                    <div class="horizontal-form">
                                        <form class="form-horizontal" action="php/ayar.php" method="post" >
                                            <div class="col-md-12 col-sm-12 col-xs-12  form-group " >
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>Site Title</label>
                                                    <input class="form-control" placeholder="Site Başlığı" name="site_title"  />
                                                </div>
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>Description</label>
                                                    <input class="form-control" placeholder="Açıklama" name="site_description"  />
                                                </div>
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>Keyword</label>
                                                    <input class="form-control" placeholder="Anahtar Kelimeler" name="site_keyword" >
                                                </div>
                                                <div class="form-group col-lg-6 col-sm-12 col-xs-12">
                                                    <label>SMS Sağlayıcısı</label>
                                                    <select class="form-control" name="sms_provider">
                                                        <option value="dakiksms" >Dakiksms</option>
                                                    </select>
                                                </div>
                                                <div class="form-group col-lg-6 col-sm-12 col-xs-12">
                                                    <label>SMS Onayı</label>
                                                    <select class="form-control" name="sms_approval">
                                                        <option value="provider" >Onaylı</option>
                                                        <option value="deprecated" >Onaysız</option>
                                                    </select>
                                                </div>
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>SMS Kullanıcı Adı</label>
                                                    <input class="form-control" placeholder="SMS Kullanıcı Adı" name="sms_user"  />
                                                </div>
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>SMS Kullanıcı Şifresi</label>
                                                    <input class="form-control" placeholder="SMS Kullanıcı Şifresi" name="sms_password"  />
                                                </div>
                                                <div class="form-group col-lg-4 col-sm-12 col-xs-12">
                                                    <label>SMS Başlık</label>
                                                    <input class="form-control" placeholder="Sms Başlığı" name="sms_title" >
                                                </div>
                                                    <div class="card-body">
                                                        <div class="col-lg-12 col-sm-12 col-xs-12 form-group">
                                                        <label>Sözleşme Sayfası</label>
                                                        <textarea class="textarea_editor form-control" rows="5" name="contract" placeholder="Sözleşmeyi Yazınız." style="height:120px"></textarea>
                                                            </div>
                                                        </div>
                                            <div class="form-group">
                                                <div class="col-sm-offset-2 col-sm-10">
                                                    <button type="submit" class="btn btn-default">Ayarları Güncelle</button>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </div>
    Hata :
    ( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'provider' for column 'sms_approval' at row 1' in C:\wamp64\www\smmpanel\admin\php\ayar.php on line 53

    ( ! ) PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'provider' for column 'sms_approval' at row 1 in C:\wamp64\www\smmpanel\admin\php\ayar.php on line 53

    53. Satır : $sorgu->execute();
    Select optionlardan kaynaklı bir hata var veri tabanına eklerken PARAM_INT kabul etmiyor galiba.
  • 28-03-2018, 13:34:47
    #2
    Üyeliği durduruldu
    sms_approval senden int deger istiyor gönderdiğin değerleri bir daha kontrol et istersen
  • 28-03-2018, 13:50:18
    #3
    @DDAYazilim; Teşekkürler sorun çözüldü
    Çözüm : INT değerler VALUES bölümünde tırnak içine alınmıyor. $sms_approval tırnaktan çıkarıldı.
    Aynı zamanda
                                                <div class="form-group col-lg-6 col-sm-12 col-xs-12">
                                                    <label>SMS Onayı</label>
                                                    <select class="form-control" name="sms_approval">
                                                        <option value="1" >Onaylı</option>
                                                        <option value="0" >Onaysız</option>
                                                    </select>
                                                </div>
    bölümünde İNT yazıp STR gönderim yapmışım. üstteki gibi integer yazılması gerekiyor.
  • 28-03-2018, 14:04:54
    #4
    Üyeliği durduruldu
    hayırlı olsun hocam