• 29-04-2018, 18:37:24
    #1
    Selamlar. Php üzerinden kodladığım bir sistemde textbox içine girilen verileri bir txt'ye kaydetmek istiyorum. Fakat kaydetmiyor. Dosya oluşuyor fakat textbox'a girilen text yazdırmıyor.

    index.php

    <form action="kaydet.php" method="post"> <textarea name="icerik"></textarea> 
    <br /> 
    <input type="submit" value="KAYDET"> </form>
    <?php $icerik= $_POST['icerik']; $dosya= "dosya.txt"; $dosyakaydet = fopen($dosya, 'w'); fwrite($dosya, $icerik); fclose($dosya); ?>
  • 29-04-2018, 18:41:54
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Aşağıdaki şekilde dener misin ?


    $icerik= $_POST['icerik']; file_put_contents("dosya.txt", $icerik, FILE_APPEND);
  • 29-04-2018, 18:47:47
    #3
    chmod ayarlarindan emin misiniz? error.log olustuyor bir kac nedeni olabilir fwrite fopen gibi dosya islem fonksiyonlarina sinirlama gelmis olabilir chmod sorun yaratiyor olabilir error.log paylasirsaniz ya da kendi debug sisteminiz var log dosyasinda gerekli alani iletirseniz daha net cevap alirsiniz deneme yanilma yolundan
  • 29-04-2018, 19:02:15
    #4
    textarea yerine input type text dener misiniz? ya da değişkeni $icerik= htmlentities($_POST['icerik']); şeklinde değiştirmeyi dener misin?
  • 29-04-2018, 20:17:37
    #5
    grafiemo adlı üyeden alıntı: mesajı görüntüle
    Aşağıdaki şekilde dener misin ?


    $icerik= $_POST['icerik']; file_put_contents("dosya.txt", $icerik, FILE_APPEND);
    SaidYildiz adlı üyeden alıntı: mesajı görüntüle
    chmod ayarlarindan emin misiniz? error.log olustuyor bir kac nedeni olabilir fwrite fopen gibi dosya islem fonksiyonlarina sinirlama gelmis olabilir chmod sorun yaratiyor olabilir error.log paylasirsaniz ya da kendi debug sisteminiz var log dosyasinda gerekli alani iletirseniz daha net cevap alirsiniz deneme yanilma yolundan
    black_scorpion adlı üyeden alıntı: mesajı görüntüle
    textarea yerine input type text dener misiniz? ya da değişkeni $icerik= htmlentities($_POST['icerik']); şeklinde değiştirmeyi dener misin?


    Error log'da aldığım hata


    [29-Apr-2018 20:16:02 Europe/Moscow] PHP Warning: fclose() expects parameter 1 to be resource, string given in /home/xxxxxxxx/public_html/sc/kaydet.php on line 1


    İzinler 777 durumunda.
  • 29-04-2018, 20:27:20
    #6
    FurkanOdabasi adlı üyeden alıntı: mesajı görüntüle
    Error log'da aldığım hata


    [29-Apr-2018 20:16:02 Europe/Moscow] PHP Warning: fclose() expects parameter 1 to be resource, string given in /home/xxxxxxxx/public_html/sc/kaydet.php on line 1


    İzinler 777 durumunda.
    Bahsettigim gibi errorlog her zaman en iyi yontemdir hatayi algilamak için.fclose ile siz dosyayi kapatmaya calisiyorsunuz. fakat fclose ile dosya taniticisini kapatiriz.
    dosya taniticisi: http://php.net/manual/tr/function.fopen.php
    dosya taniticisini kapatmak: http://php.net/manual/tr/function.fclose.php
    fclose($dosya); olarak degil
    [PHPR]fclose($dosyakaydet);[/PHPR]
    olarak tanimlaman gerekir.
  • 29-04-2018, 20:30:24
    #7
    SaidYildiz adlı üyeden alıntı: mesajı görüntüle
    Bahsettigim gibi errorlog her zaman en iyi yontemdir hatayi algilamak için.fclose ile siz dosyayi kapatmaya calisiyorsunuz. fakat fclose ile dosya taniticisini kapatiriz.
    dosya taniticisi: http://php.net/manual/tr/function.fopen.php
    dosya taniticisini kapatmak: http://php.net/manual/tr/function.fclose.php
    fclose($dosya); olarak degil
    [PHPR]fclose($dosyakaydet);[/PHPR]
    olarak tanimlaman gerekir.
    Değişkenin ismini değiştirmek ne fayda edecek ki hocam?
  • 29-04-2018, 20:42:26
    #8
    FurkanOdabasi adlı üyeden alıntı: mesajı görüntüle
    Değişkenin ismini değiştirmek ne fayda edecek ki hocam?
    cunku tanim noktalarini degistirecek degiskenleri degistirmekle $dosya= "dosya.txt"; //burada dosya ile dosya adini yazdiniz.
    fclose($dosya); //derseniz "dosya.txt" string ifadesini kapatmaya calisirsiniz fakat
    //fakat fclose string ifade kapatmaz php.net sitesinde tanimi su sekildedir. Açık bir dosya tanıtıcısını kapatır
    $dosyakaydet = fopen($dosya, 'w');
    //acik bir dosya taniticisi yani fopen'a atanmis olan degiskeni ister senden fclose o yuzden
    fclose($dosyakaydet);
    //dersin degiskenin adini degistirmiyoruz sadece fclose fonksyinonuda belirtilmis degiskeni degistiriyoruz degisken ismi degistirmek degil degiskeni degistirmek oluyor bu

    <?php $icerik= $_POST['icerik']; $dosya= "dosya.txt"; $dosyakaydet = fopen($dosya, 'w'); fwrite($dosya, $icerik); fclose($dosyakaydet); ?>


    seklinde bir deneyin sonra iki kodu bir karsilastirin hala anlam veremezseniz tekrar tartisalim konu uzerinde
  • 29-04-2018, 20:45:11
    #9
    SaidYildiz adlı üyeden alıntı: mesajı görüntüle
    cunku tanim noktalarini degistirecek degiskenleri degistirmekle $dosya= "dosya.txt"; //burada dosya ile dosya adini yazdiniz.
    fclose($dosya); //derseniz "dosya.txt" string ifadesini kapatmaya calisirsiniz fakat
    //fakat fclose string ifade kapatmaz php.net sitesinde tanimi su sekildedir. Açık bir dosya tanıtıcısını kapatır
    $dosyakaydet = fopen($dosya, 'w');
    //acik bir dosya taniticisi yani fopen'a atanmis olan degiskeni ister senden fclose o yuzden
    fclose($dosyakaydet);
    //dersin degiskenin adini degistirmiyoruz sadece fclose fonksyinonuda belirtilmis degiskeni degistiriyoruz degisken ismi degistirmek degil degiskeni degistirmek oluyor bu

    <?php $icerik= $_POST['icerik']; $dosya= "dosya.txt"; $dosyakaydet = fopen($dosya, 'w'); fwrite($dosya, $icerik); fclose($dosyakaydet); ?>


    seklinde bir deneyin sonra iki kodu bir karsilastirin hala anlam veremezseniz tekrar tartisalim konu uzerinde
    Denedim, kaydet.php dosyasına son attığınız kodu girdim fakat sorun devam ediyor. Error log'daki hata da değişmedi