lostyazilim
tr.link

Php+ajax takvim uygulaması {Soru/Sorun}

5 Mesajlar 1.243 Okunma
lstbozum
tr.link

hackus hackus WM Aracı Kullanıcı
  • Üyelik 17.03.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad Ö** K**
  • Mesajlar 7
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Merhaba foruma yeni katıldım ilk konumun tabi ki lap diye girer girmez soru sormak olmasını istemezdim fakat her insan gibi çalışırken takıldığımız kısımlar oluyor ben konuya geçeyim. Şimdiden teşekkürler.

Php ye yeni başladım fakat onchange özelliği direkt olarak php de kullanamıyormuşuz. Biraz araştırdım ajax ile yapmak mümkünmüş ve bunu yaptım sanırım veriyi aktarıyorum, çıktıyı alıyorum ama çıktıyı istediğim gibi alamıyorum bir türlü. Benim istediğimse sadece php kısmına sayfayı yenilemeden örn: ay bölümünden mart seçildi ve bunu sayfa yenilemeden post veya get edip takvimi değiştirmesi

1. resim [Burada üstte bulunan form da işlemi yapıyorum ve ajax çalışıyor, veriyi gönderip #gonder adlı div'in içine nakil ediyor. Ediyor etmesine ama kırmızı ile çizdiğim bölgede bulunan form dahil meta ve title alanlarını bile çekiyor]



2. resim [Kodların Yarısı burada, php kısmı da lazım olursa atarım]



3. resim [Buda console çıktısı tüm sayfayı çekiyor ]

 

 

wmaraci
reklam

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
html page :














javascript ( jquery ) :

$(document).ready(function(){
$("select").on("change",function () {
var data = {
'ay' : $(this).val(),
'yil' : $("input[name='yil']").val()
}

if(data['yil'] == undefined || data['yil'] == ''){
alert("lütfen yılı giriniz.");

$("select option:selected").prop("selected", false);
$("select option:first").prop("selected", "selected");

$("input[name='yil']").focus();
}else{
// post başla
var url = $("form").attr("action");
$.post(url,data,function(cb){
$(".sonuc").html(cb);
});
}
});
})


Php page :


if($_POST){
$veriable = $_POST; // bu bölümde veri temizleme ve parçalama işlemi yapılacaktır.
if($veriable != ''){
echo "Gönderdiğiniz bilgiler ".$veriable['yil']." yılının ".$veriable['ay']." ayında olarak kayıt edilebilir.";
}else{
echo 'veri alınamadı !';
}

}else{
echo 'Sayfayı çalıştırmak için bir şeyler göndermelisin.';
}



not : kod çalışır durumdadır.
 

 

hackus hackus WM Aracı Kullanıcı
  • Üyelik 17.03.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad Ö** K**
  • Mesajlar 7
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Hocam benim istediğim şey şu; şimdi veriyi gönderiyoruz ama veri gönderirken veri dahil form içindeki select ve inputu da çekiyor ve bunu yaptığı için 1 adet daha input oluşturuyor 2. bir sayfamı yapmam lazım bunun için ?






<script></script>
<script>
function gonder(){
$.ajax({
type: "POST",
url: "takvim.php",
data: $('#gonder').serialize(),
success: function(veri)
{
$('#gunler').html(veri);
}
});
}
</script>




Ay:

Yıl:




$ay = $_POST['ay'];
$yil = $_POST['yil'];
$ay2 = $ay;
$ayinkaci = 1;
switch ($ay2) {
case "1":
$ay2 = 'Ocak';
break;
case "2":
$ay2 = 'Şubat';
break;
case "3":
$ay2 = 'Mart';
break;
case "4":
$ay2 = 'Nisan';
break;
case "5":
$ay2 = 'Mayıs';
break;
case "6":
$ay2 = 'Haziran';
break;
case "7":
$ay2 = 'Temmuz';
break;
case "8":
$ay2 = 'Ağustos';
break;
case "9":
$ay2 = 'Eylül';
break;
case "10":
$ay2 = 'Ekim';
break;
case "11":
$ay2 = 'Kasım';
break;
case "12":
$ay2 = 'Aralık';
break;
}
function degis($turkce){
$yabancikelimeler=array("January","February","March","April","May","June","July","August","September","October","November","December");
$turkcekelimeler=array("Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık");
$degistir=str_replace($yabancikelimeler,$turkcekelimeler,$turkce);
return $degistir;
}
$bugun = degis(getdate($ay));
$ilkgun = degis(getdate(mktime(0,0,0,$ay,1,$yil)));
$songun = degis(getdate(mktime(0,0,0,$ay+1,0,$yil)));
$tarih = degis(getdate(mktime($ay, $yil,0)));
$songun2= degis(getdate(mktime(0,0,0,$ay,0,$yil)));
echo '';
echo ' ";
echo '';
echo ' ';
echo ' ';

if ($ilkgun['wday'] == 0) $ilkgun['wday'] = 7;
for($i=1;$i<$ilkgun['wday'];$i++){
}
$q = $songun2['mday'] - $i+1;

for($i=1;$i<$ilkgun['wday'];$i++){
$q++;
echo '';

}
$actday = 0;
for($i=$ilkgun['wday'];$i<=7;$i++){
$actday++;
if ($actday == $bugun['mday']) {
$class = ' class="actday"';
} else {
$class = '';
}
echo "$actday";
}
echo '
';

$hafta = floor(($songun['mday']-$actday)/7);

for ($i=0;$i<$hafta;$i++){
echo '';
for ($j=0;$j<7;$j++){
$actday++;
if ($actday == $bugun['mday']) {
$class = ' class="actday"';
} else {
$class = '';
}
echo "$actday";
}
echo '
';
}

if ($actday < $songun['mday']){
echo '';

for ($i=0; $i<7;$i++){
$actday++;
if ($actday == $bugun['mday']) {
$class = ' class="actday"';
} else {
$class = '';
}

if ($actday <= $songun['mday']){
echo "$actday";
}
else {
echo '
';
}
}

echo '';
}

echo '
'.$ay2." - ".$yil."
PztSalÇarPerCumCmtPaz
'.$q.'
'.$ayinkaci++.'
';
?>


 

 

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)
yaptığım kodu bi incelerseniz hatanın nereden kaynaklandığını anlarsınız hocam.
hackus

kişi bu mesajı beğendi.

wmaraci
wmaraci

hackus hackus WM Aracı Kullanıcı
  • Üyelik 17.03.2017
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad Ö** K**
  • Mesajlar 7
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
Halletim hocam sorunu çok sağolun
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al