Hei,
Sitter fast med noe jeg er ganske overbevist på at dere kan gi meg svare på ganske raskt.
Jeg holder på å lage en side hvor jeg benytter meg av et rettighets system. Rettighetene er samlet i en MySQL tabell i en kolonne som er en JSON kryptert array. Problemet mitt er at etter jeg har kryptert ("news"=>1,"applications"=>1) og satt den inn i databasen for deretter å trekke den ut igjen så er det ikke lengre en array, men et stdClass Object. Da jeg skal prøve å verifisere at brukeren har news på 1 så feiler den.
Jeg satte opp en liten test for å se hvor den blir til et stdClass Object:
Dette blir til:
Hvorfor er det slik? 
Dette er forøvrig funksjonen hvor det failer:
Som igjen er brukt her:
Dette er igjen slik tabellen i databasen ser ut:
http://content.screencast.com/users/Kristure/folders/Jing/media/85ebd781-12ad-4ad9-b91b-a471f19e6c15/2011-05-08_0331.png
Takk på forhånd for all hjelp
Sitter fast med noe jeg er ganske overbevist på at dere kan gi meg svare på ganske raskt.
Jeg holder på å lage en side hvor jeg benytter meg av et rettighets system. Rettighetene er samlet i en MySQL tabell i en kolonne som er en JSON kryptert array. Problemet mitt er at etter jeg har kryptert ("news"=>1,"applications"=>1) og satt den inn i databasen for deretter å trekke den ut igjen så er det ikke lengre en array, men et stdClass Object. Da jeg skal prøve å verifisere at brukeren har news på 1 så feiler den.
Jeg satte opp en liten test for å se hvor den blir til et stdClass Object:
Kode
<?php $arr = array("news"=>1,"applications"=>1); print_r($arr); echo "<br />"; $arr = json_encode($arr); print_r($arr); echo "<br />"; $arr = json_decode($arr); print_r($arr); ?>
Kode
Array ( [news] => 1 [applications] => 1 ) {"news":1,"applications":1} stdClass Object ( [news] => 1 [applications] => 1 )

Dette er forøvrig funksjonen hvor det failer:
Kode
function check_rights($rights,$user,$db_name){ $con = connect($db_name); // Benytter seg av en tidligere funksjon... $query = mysql_query("SELECT * FROM admins WHERE username='$user'"); $row = mysql_fetch_assoc($query); $theright = $row['rights']; $theright = json_decode($theright); print_r($theright); if($theright["news"]!=0){ echo $test; } }
Kode
check_rights("news",$active_admin,"exidas");
http://content.screencast.com/users/Kristure/folders/Jing/media/85ebd781-12ad-4ad9-b91b-a471f19e6c15/2011-05-08_0331.png
Takk på forhånd for all hjelp
