v2.5.2
Giriş yap

Session Dizisine Yeni Eleman Ekleme

coder
410 defa görüntülendi

Merhaba.

Session dizisi oluştuktan sonra bu diziye yeni bir eleman ekleme işlemini nasıl yapabilirim?

Örneğin aşağıdaki gibi bir session dizisi oluşmuş olsun. Sonra bu diziye email elemanını nasıl ekleyebiliriz?

[User] => Array
(
    [user_id] => 1
    [user_name] => Coder
)

Kodlarım

<?php
 
class Session
{
 
	private static $SessionStart = false;
 
    public static function SessionStart()
    {
        if(self::$SessionStart == false){
            session_start();
            self::$SessionStart = true;
        }
    }
 
	public static function Exists($name)
	    {
	        if(isset($_SESSION[$name])){
	            return true;
	        }else{
	            return false;
	        }
	    }
	
	public static function CreateSession($name, $data)
	    {
	        if(!self::Exists($name)){
	
	            $_SESSION[$name] = true;
	            if( is_array($data)){
	                $_SESSION[$name] = [];
	                foreach ($data as $key => $value){
	                    if($_SESSION[$name][!isset($key)]){
	                        $_SESSION[$name][$key] = $value;
	                    }else{
	                        $_SESSION[$name][$key] = $value;
	                    }
	                }
	            }else{
	                $_SESSION[$name] = $data;
	            }
	
	        }
	    }
 
}
 
----------------------------------
// Kullanım
 
Session::SessionStart();
 
Session::CreateSession("User",[
    "user_id" => 1,
    "user_name" => "Coder"
]);
 
Session::CreateSession("Merhaba","Merhaba dünya");
abdullahx
942 gün önce
<?php

class Session
{
 
	private static $SessionStart = false;
 
    public static function sessionStart()
    {
        if(!self::$SessionStart){
            session_start();
            self::$SessionStart = true;
        }
    }
 
	public static function exist($name): bool
	    {
	        if(isset($_SESSION[$name]))
	            return true;
	        return false;
	    }
	
	public static function createSession(string $name, $data): bool
	    {
	        if(!self::exist($name)) {
	           $_SESSION[$name] = $data;
	           return true;
	        } 
	        else return false;
	    }
	    
	 public static function updateSession(string $name, string $key, $data): bool
	 {
	 	if (self::exist($name))
	 	{
	 		if (is_array($_SESSION[$name]))
	 		{
	 			$_SESSION[$name][$key] = $data;
	 			return true;
	 		} else return false;
	 	} else return false;
	 }
 
 	public static function removeSession(string $name, $multidimensional = false, $key = ''): bool
 	{
 		if (exist($name))
 		{
 			if (!$multidimensional) {
 				unset($_SESSION[$name]);
 				return true;
 			} else {
 				if (is_array($_SESSION[$name])) {
 				if (array_key_exists($key, $_SESSION[$name])) {
 					unset($_SESSION[$name][$key]);
 					} else return false;
 				} else return false;
 			}
 		} else return false;
 	}
} 

Not: Sadece iki boyutlu dizide çalışır