• 21-10-2012, 17:01:44
    #1
    Üyeliği durduruldu
    merhaba arkadaslar. öğrenmek istediğim şey php ile yapılmış admin panelime mesaj geldiğinde mp3 dosyası çaldırmak istiyorum. yani msj geldiğinde uyarı mahiyetinde. bilgisi olan varmı acaba bu konuda.
  • 21-10-2012, 17:05:14
    #2
    Reveloper
    Örnek:
    if (($context['user']['unread_messages']) >= 1)
    	{
    		echo '
    	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="0" height="0" id="gotmail" align="middle">
    		<param name="allowScriptAccess" value="sameDomain" />
    		<param name="movie" value="'. $settings['images_url'] . '/mesajvar.swf" />
    		<param name="quality" value="high" />
    		<param name="bgcolor" value="#ffffff" />
    		<embed src="'. $settings['images_url'] . '/mesajvar.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="gotmail" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    	</object>';
    	}
  • 21-10-2012, 19:12:28
    #3
    Üyeliği durduruldu
    Hocam kodum şunlar php bilgim az oldugu için yapamadım sanırım, onları nereye yerleştirmem gerekiyor.

    <h2 class="j">Siparişler</h2> 
    <?php  
    
        if (!$_SESSION["oturum"]){ 
        function yonlendir($sure,$sayfa){  
      $deger = "<meta http-equiv=\"refresh\" content=\"$sure;URL=$sayfa\">";  
      echo $deger; 
     } 
        yonlendir(0,"index.php"); 
         
        } 
    ?> 
    <?php  
    if ($id = $_GET["s-oku"]){ 
    $baglan = mysql_query("select * from siparisler where id='$id'"); 
    $say = mysql_num_rows($baglan); 
    if ($say > 0){ 
    $goster = mysql_fetch_array($baglan); 
        echo '<div class="moku"><div class="spanlar"> 
        <span class="s1">Ad soyad</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["isim"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Telefon numarası</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["telefon"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Sipariş tarihi</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["gond_tarih"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">İstediği saat</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["saat_tarih"].' </span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Siparişi</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:600px;">'.$goster["siparis"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1" style="padding:1px;"></span> 
        <span class="s2" style="padding:1px;"></span> 
        <span class="s3"><br/><a class="buton" style="color:#000; padding:10px; text-decoration:none;" href="anasayfa.php?p=siparisler&s-sil='.$goster["id"].'">Siparişi sil</a></span> 
        </div> 
        <br /> 
        <br /> 
        </div> 
        '; 
        } 
    }elseif ($id = $_GET["s-sil"]){ 
        $sil = mysql_query("delete from siparisler where id='$id'"); 
        if ($sil){ 
        yonlendir(0,"anasayfa.php?p=siparisler"); 
        }else { 
        bilgi("Bir hata oluştu.","Mesaj bir nedenden dolayı silinemedi.","hata"); 
        } 
    }else { 
    $bul = mysql_query("select * from siparisler order by gond_tarih desc"); 
    $say = mysql_num_rows($bul); 
    if ($say > 0){ 
    echo '<div class="mesajlar"><ul>'; 
    while ($goster = mysql_fetch_array($bul)){ 
    extract($goster); 
    echo '<li>';  
    echo '<a href="anasayfa.php?p=siparisler&s-oku='.$id.'">'.$isim.'</a><span><a href="anasayfa.php?p=siparisler&s-sil='.$id.'">Siparişi sil</a></span></li>'; 
    } 
    echo '</ul></div>'; 
    } 
    } 
    
    
    ?>
  • 21-10-2012, 22:13:07
    #4
    Üyeliği durduruldu
    admin paneline mesaj geldiğin mesaj çalması eğer real time ( gerçek zamanlı ) olucak ise yani siz başka birşey ile ilgilenirken mesaj geldiğinde ses gelmesini istiyorsanız iş biraz ajax tarafına kayar

    ama ben sayfayı yenilediğimde çalsın derseniz bunun için display none stiline sahip bir flash ile işi halledebilirsiniz
  • 22-10-2012, 01:01:33
    #5
    Byte adlı üyeden alıntı: mesajı görüntüle
    Hocam kodum şunlar php bilgim az oldugu için yapamadım sanırım, onları nereye yerleştirmem gerekiyor.

    <h2 class="j">Siparişler</h2> 
    <?php  
    
        if (!$_SESSION["oturum"]){ 
        function yonlendir($sure,$sayfa){  
      $deger = "<meta http-equiv=\"refresh\" content=\"$sure;URL=$sayfa\">";  
      echo $deger; 
     } 
        yonlendir(0,"index.php"); 
         
        } 
    ?> 
    <?php  
    if ($id = $_GET["s-oku"]){ 
    $baglan = mysql_query("select * from siparisler where id='$id'"); 
    $say = mysql_num_rows($baglan); 
    if ($say > 0){ 
    $goster = mysql_fetch_array($baglan); 
        echo '<div class="moku"><div class="spanlar"> 
        <span class="s1">Ad soyad</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["isim"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Telefon numarası</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["telefon"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Sipariş tarihi</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["gond_tarih"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">İstediği saat</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:300px;">'.$goster["saat_tarih"].' </span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1">Siparişi</span> 
        <span class="s2">:</span> 
        <span class="s3" style="width:600px;">'.$goster["siparis"].'</span> 
        </div> 
        <div class="spanlar"> 
        <span class="s1" style="padding:1px;"></span> 
        <span class="s2" style="padding:1px;"></span> 
        <span class="s3"><br/><a class="buton" style="color:#000; padding:10px; text-decoration:none;" href="anasayfa.php?p=siparisler&s-sil='.$goster["id"].'">Siparişi sil</a></span> 
        </div> 
        <br /> 
        <br /> 
        </div> 
        '; 
        } 
    }elseif ($id = $_GET["s-sil"]){ 
        $sil = mysql_query("delete from siparisler where id='$id'"); 
        if ($sil){ 
        yonlendir(0,"anasayfa.php?p=siparisler"); 
        }else { 
        bilgi("Bir hata oluştu.","Mesaj bir nedenden dolayı silinemedi.","hata"); 
        } 
    }else { 
    $bul = mysql_query("select * from siparisler order by gond_tarih desc"); 
    $say = mysql_num_rows($bul); 
    if ($say > 0){ 
    echo '<div class="mesajlar"><ul>'; 
    while ($goster = mysql_fetch_array($bul)){ 
    extract($goster); 
    echo '<li>';  
    echo '<a href="anasayfa.php?p=siparisler&s-oku='.$id.'">'.$isim.'</a><span><a href="anasayfa.php?p=siparisler&s-sil='.$id.'">Siparişi sil</a></span></li>'; 
    } 
    echo '</ul></div>'; 
    } 
    } 
    
    
    ?>
    mesaj geldi uyarısını ekrana nerede bastırıyorsan kodları da oraya ekle. mesaj görüntülendiğinde ses de gelir. eş zamanlı için arkadaşın dediği gibi jquery'e girmen gerekir, ki bu işlem için gereksiz..
  • 22-10-2012, 18:24:47
    #6
    Üyeliği durduruldu
    Hocam aslında eş zamanlı lazım sipariş hattı için kullanacaktım bunu. fast-food sipariş yani
  • 23-10-2012, 00:16:56
    #7
    O halde bir Ajax timer veya Cronjob ile probleminizi çözebilirsiniz.

    Şu sayfaya göz atabilirsiniz. http://stackoverflow.com/questions/4...each-x-minutes
  • 23-10-2012, 07:23:46
    #8
    Üyeliği durduruldu
    cemozden adlı üyeden alıntı: mesajı görüntüle
    O halde bir Ajax timer veya Cronjob ile probleminizi çözebilirsiniz.

    Şu sayfaya göz atabilirsiniz. http://stackoverflow.com/questions/4...each-x-minutes
    tşkler bakayım baskan.
  • 23-10-2012, 13:26:30
    #9
    cemozden adlı üyeden alıntı: mesajı görüntüle
    O halde bir Ajax timer veya Cronjob ile probleminizi çözebilirsiniz.

    Şu sayfaya göz atabilirsiniz. http://stackoverflow.com/questions/4...each-x-minutes
    cronjob'un bununla alakası yok ki o sadece arkadan çalıştırılması gereken şeyleri çalıştırır..

    yapılması gereken:

    öncelikle jquery ve ajax öğren.

    daha sonra sayfana bir tane html5 müzik çalar ve gizli bir div ekle:
    <audio controls="controls" id="audio" style="display:none;" loop="loop">
      <source src="uploads/alarm.mp3" type="audio/mpeg" />
    </audio>
    <div id="check" style="display:none;"></div>
    daha sonra onu çaldırıp susturacak 2 ayrı fonksiyon hazırla:

    function alarmcal()
    {
    	if($("#audio")[0].paused)
    	{
    		$("#audio")[0].play();
    	}
    }
    function alarmsustur()
    {	
    	if($("#audio")[0].played)
    	{
    		$("#audio")[0].pause();
    		$("#audio")[0].currentTime=0;
    	}	
    }
    ve jquery ile bi fonksiyon hazırlayıp ajax ile bi sayfa çağırman lazım.

    function refresh()
    {
    		$.ajax({
    			type		: 'POST',
    			url		: 'admin/check.php',
    			data		: '',
    			success: function(cevap)
    			{
    				$('#check').html(cevap);
    			}
    		});
    }
    ve bunu rekürsif bir döngü ile zaman aralığı içinde tekrar tekrar çalıştırman lazım.

    function yenile()
    {
    	refresh();
    	window.setTimeout(function(){
    		yenile();
    	}, 1000);//1000 olan kısıma kaç milisaniyede bir kontrol etmesini istiyosan onu yaz (1 sn = 1000 ms.)
    }
    ve check.php içinde görülmemiş olanları alıp num rows ile kaç eleman olduğunu kontrol ediceksin.


    <?php
    if($gorulmems_islem > 0)
    {
    ?>
    <script type="text/javascript">
    if($('#sesliuyari').attr('checked') == undefined)
    		{
    			alarmsustur();
    		}else
    		{
    			alarmcal();
    		}
    </script>
    <?php
    }else
    {
    ?>
    <script type="text/javascript">
      alarmsustur();
    </script>
    <?php
    }
    ?>
    bu arada sayfana sesliuyari id'li bir checkbox ekle ve click olayına refresh(); ekle


    hadi kolay gele