Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Php dosyaya veri ekleme

Arkadaşlar ajax ile çektiğim form'da yine ajax ile xml dosyama veri ekliyorum.Yalnız şöyle bir durum var eğer sayfayı yenilersem sorun olmuyor tek tek istediğin gibi ekliyor ama yenilemezsem 3 tane 5 tane flan aynısından ekliyor.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
$(document).ready(function() {
						   
	$('span#panelKelime input.btn').click(function() {
	$('span#panelKelime input.btn').css('background','');
	$(this).css('background','-webkit-gradient(linear, left top, left bottom, from( #C90), to( #CC0))');
	var name = $(this).attr('name');
	if (name == 'yazilar') {
	$('span#yaziEkle').text('Yazilar'); 
	}
	else if (name == 'yaziEkle') {
	$('span#yaziEkle').html('<input type="text" value="Yazar..." id="yazar" /><textarea>İçerik...</textarea><input type="button" id="btnEkle" value="Ekle" />'); 
	}
	});
	
	$('textarea,input').live('focus',function() {
	$(this).val('');
	});
	
	$('input#btnEkle').live('click',function() {
	$.post('Yazilar/Yazilar.php',{icerik:$('textarea').val(),yazar:$('input#yazar').val(),onay:'1'},function(data) {
	$('span#yaziEkle').html(data);
	});
	


	 						 
    });
});
</script>
<style type="text/css">
textarea {
	float: left;
	height: 100px;
	width: 600px;
	border-radius: 6px;
	padding: 5px;
	border: 2px groove #CCC;
}
input#yazar {
	float:left;
	border-radius:4px;
	padding:1px;
	width: 600px;
	height: 20px;
	margin-bottom: 5px;
}
span#panelKelime {
	float: left;
	height: 30px;
	border-radius: 4px;
	padding: 7px;
	width: 100%;
}
span#panelKelime input.btn {
	background: none;
	background: -webkit-gradient(linear, left top, left bottom, from( #033), to( #036));
	text-align: center;
	color: #FFF;
	font-size: 18px;
	border:none;
	border-left-width: 1px;
	border-left-style: groove;
	border-left-color: #FFF;
	border-bottom-width: 1px;
	border-bottom-style: groove;
	border-bottom-color: #FFF;
	float: left;
	border-radius: 4px;
	font-family: "Times New Roman", Times, serif;
	font-weight: bold;
	height: 30px;
	
}
span#panelKelime input.btn:hover {
	cursor: pointer;
	background: -webkit-gradient(linear, left top, left bottom, from( #C90), to( #CC0));
}
span#yaziEkle {
	float: left;
	margin-top: 20px;	
	width:1000px;
}
#btnEkle {
	background: none;
	background: -webkit-gradient(linear, left top, left bottom, from( #033), to( #036));
	text-align: center;
	color: #FFF;
	font-size: 18px;
	border:none;
	border-left-width: 1px;
	border-left-style: groove;
	border-left-color: #FFF;
	border-bottom-width: 1px;
	border-bottom-style: groove;
	border-bottom-color: #FFF;
	float: left;
	border-radius: 4px;
	font-family: "Times New Roman", Times, serif;
	font-weight: bold;
	height: 115px;
}
#btnEkle:hover {
	cursor: pointer;
	background: -webkit-gradient(linear, left top, left bottom, from( #C90), to( #CC0));
}
</style>
</head>

<body>

<?php
if (@$_POST['onay']!=='1') {
?>
<span id="panelKelime">
<input type="button" class="btn" name="yazilar" value="Yazilar" />
<input type="button" class="btn" name="yaziEkle" value="Yazi Ekle" />
</span>
<span id="yaziEkle"></span>
<span id="sorgu">
<?php
}
else {

if (empty($_POST['icerik']) || empty($_POST['yazar'])) {
echo 'Boş Geçtiniz';
}
else{
	

$veri="<icerik>\n";
$veri.="<yazi>".$_POST['icerik']."</yazi><yazar>".$_POST['yazar']."</yazar><tarih>".date('d.m.Y')."</tarih>\n";
$veri.="</icerik>\n";
$dosya=fopen('Veriler.xml','a');
fputs($dosya,$veri);
fclose($dosya);

}
}
?>
</span>
</body>
</html>
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • kiirpi adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    26 cevap - 0 soru
    Örnek ile açıklamak daha kolay geldi ,

    aşağıdaki kodda ilgili yerlere yorum satırları ile anlatmaya çalıştım

    <?php

    $operation = isset($_REQUEST["op"]) ? $_REQUEST["op"] : "form";

    switch($operation){
    case "ekle":
    // burada dosyaya yazarsın
    break;
    case "form":
    ?>
    <div>
    Form burada
    </div>
    <div>
    liste burada
    </div>
    <script>
    $.post('BU_DOSYANIN_ADI.php',{},function(data){
    // burda dosyadan değil , eklediğin verileri listenin sonuna
    // append ile ekleyebilirsin
    // sayfa ilk yüklendiğinde istediğin kadarını dosyadan okuyup listeye yazarsın
    });
    </script>
    <?php
    break;
    }
    • Frauzer adlı üyenin fotoğrafı Frauzer
      Aslında olay sadece istediğimi yapmak değil problemin kaynağını çözmek.Bir kaç kere yazması için neler olabilir onları öğrenmek istiyordum.
      10 yıl önce yazılmış
    • kiirpi adlı üyenin fotoğrafı kiirpi
      Kodun içerisinde listele kısmını göremedim , yazılar.php 'yi de koyabilir misin?
      10 yıl önce yazılmış
    • Frauzer adlı üyenin fotoğrafı Frauzer
      Bu sayfa yazilar php :) eğer post edilmişse onay değişkeninin gönderiyorum.Eğer post edilmemişse göndermiyorum formu görüntülüyor
      10 yıl önce yazılmış
    • kiirpi adlı üyenin fotoğrafı kiirpi
      Tekrarlanan kısımlar hangisi ?
      10 yıl önce yazılmış
    • Frauzer adlı üyenin fotoğrafı Frauzer
      veri değişkenindekileri birkaç kez yazıyor.Yalnız sayfayı f5'leyip yaptığımda doğru şekilde tek tek yazıyor.
      10 yıl önce yazılmış
  • Frauzer adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    40 cevap - 37 soru
    Problem çözülmüştür.Bakan bakmayan herkese teşekkürler...