• 28-05-2014, 01:54:00
    #1
    oyun sayfamda bi hata var ve bu error_log içine yazılıyor. sorunu çözmek istedim. önce araştırdım ama sonuca ulaşamadım. isset ile çözmüş bazı kimseler ama bende olmadı.

    HATA:

    [28-May-2014 01:28:44 Europe/Istanbul] PHP Warning: in_array() expects parameter 2 to be array, boolean given in /home/r10/public_html/oyna.php on line 131

    KOD:

    	
    <?php
    $data = unserialize(isset($_COOKIE['oyladiklarim']));
    ?>
    <script>
    	var voted = false;
    	$('div#stars').raty({
    		<?php 
    			if(in_array((int) $oyun['id'], $data)){
    				echo "readOnly: true,";
    			}	
    		?>
  • 28-05-2014, 04:51:19
    #2
    Misafir adlı üyeden alıntı: mesajı görüntüle
    oyun sayfamda bi hata var ve bu error_log içine yazılıyor. sorunu çözmek istedim. önce araştırdım ama sonuca ulaşamadım. isset ile çözmüş bazı kimseler ama bende olmadı.

    HATA:

    [28-May-2014 01:28:44 Europe/Istanbul] PHP Warning: in_array() expects parameter 2 to be array, boolean given in /home/r10/public_html/oyna.php on line 131

    KOD:

    	
    <?php
    $data = unserialize(isset($_COOKIE['oyladiklarim']));
    ?>
    <script>
    	var voted = false;
    	$('div#stars').raty({
    		<?php 
    			if(in_array((int) $oyun['id'], $data)){
    				echo "readOnly: true,";
    			}	
    		?>
    		<?php 
    			if(isset($data)){
    			if(in_array((int) $oyun['id'], $data)){
    				echo "readOnly: true,";
    			}
    			}
    		?>
    yaparsan çözülür, hata mesajı'nın tercümesi şöyle : "in_array'a verdiğin 2. parametre dizi olmalıdır diyor." ya set olmuyor, yani data tanımlanmıyor, ya da array olarak değil de başka şekilde dönüyor. Bu durumda isset varken de hata veriyorsa set olup array değil de başka şekilde geliyor demektir. datayı print_r ile kontrol ediver.
  • 28-05-2014, 16:13:52
    #3
    DWather adlı üyeden alıntı: mesajı görüntüle
    		<?php 
    			if(isset($data)){
    			if(in_array((int) $oyun['id'], $data)){
    				echo "readOnly: true,";
    			}
    			}
    		?>
    yaparsan çözülür, hata mesajı'nın tercümesi şöyle : "in_array'a verdiğin 2. parametre dizi olmalıdır diyor." ya set olmuyor, yani data tanımlanmıyor, ya da array olarak değil de başka şekilde dönüyor. Bu durumda isset varken de hata veriyorsa set olup array değil de başka şekilde geliyor demektir. datayı print_r ile kontrol ediver.
    teşekkürler ama malesef çalışmadı hocam. print_r yaptığımda da sonuç dönmüyor.
  • 28-05-2014, 19:43:52
    #4
    hocam print_r ile boş dönüyorsa bilin ki gerçekten veri boş geliyor, data'ya veriyi nerede verdiyseniz geriye doğru bakın çözeriz sorunu
  • 28-05-2014, 20:10:52
    #5
    $data = unserialize(isset($_COOKIE['oyladiklarim']));

    satırını

    $data = unserialize($_COOKIE['oyladiklarim']);

    olarak değiştirip tekrar dener misiniz. isset fonksiyonu true veya false döndürdüğü için unserialize edilen değer o oluyor. duruma göre başka bir yerde cookie yi kontrol edersiniz.
  • 28-05-2014, 22:05:20
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Misafir; buyrun

    <?php $data = isset($_COOKIE['oyladiklarim']) ? unserialize($_COOKIE['oyladiklarim']) : array(); ?>
    <script type="text/javascript">
    	var voted = false;
    
    	$('div#stars').raty({
    		<?php
    			if(in_array($oyun['id'], $data))
    			{
    				echo 'readOnly: true,';
    			}
    		?>
  • 28-05-2014, 23:19:22
    #7
    DWather adlı üyeden alıntı: mesajı görüntüle
    hocam print_r ile boş dönüyorsa bilin ki gerçekten veri boş geliyor, data'ya veriyi nerede verdiyseniz geriye doğru bakın çözeriz sorunu
    teşekkürler hocam saintx'in verdiği kod çalıştı. sizi de artıladım.
    Misafir adlı üyeden alıntı: mesajı görüntüle
    $data = unserialize(isset($_COOKIE['oyladiklarim']));

    satırını

    $data = unserialize($_COOKIE['oyladiklarim']);

    olarak değiştirip tekrar dener misiniz. isset fonksiyonu true veya false döndürdüğü için unserialize edilen değer o oluyor. duruma göre başka bir yerde cookie yi kontrol edersiniz.
    denemiştim fakat çalışmamıştı. sorun çözüldü hocam aşağıdaki kod ile.
    saintx adlı üyeden alıntı: mesajı görüntüle
    Misafir; buyrun

    <?php $data = isset($_COOKIE['oyladiklarim']) ? unserialize($_COOKIE['oyladiklarim']) : array(); ?>
    <script type="text/javascript">
    	var voted = false;
    
    	$('div#stars').raty({
    		<?php
    			if(in_array($oyun['id'], $data))
    			{
    				echo 'readOnly: true,';
    			}
    		?>
    teşekkürler artıladım.