programing

세션 변수로 배열

shortcode 2022. 11. 6. 17:25
반응형

세션 변수로 배열

PHP에서 어레이를 세션 변수로 만들 수 있습니까?

특정 페이지에 대한 링크가 있는 셀이 있는 테이블(1페이지)이 있는 경우입니다.다음 페이지에는 이름 목록(세션 배열에 보관하고 싶은 페이지 2)과 각각의 체크박스가 표시됩니다.이 양식을 제출하면 트랜잭션 페이지로 연결됩니다(3페이지, 게시된 체크박스의 값은 대응하는 이름의 데이터베이스에 보관됩니다).첫 페이지로 돌아가서 다른 셀을 클릭하면 세션 배열에 새 이름 목록이 포함됩니까? 아니면 이전 이름 목록이 포함됩니까?

예, PHP는 세션 변수로 어레이를 지원합니다.예에 대해서는, 이 페이지를 참조해 주세요.

두 번째 질문입니다.세션 변수를 설정하면 변경할 때까지 변경되지 않습니다.따라서 세 번째 페이지에서 세션 변수를 변경하지 않으면 두 번째 페이지에서 다시 변경할 때까지 그대로 유지됩니다.

예, 어레이를 세션에 배치할 수 있습니다. 예:

$_SESSION['name_here'] = $your_array;

이제 를 사용할 수 있습니다.$_SESSION['name_here']원하는 페이지를 표시하지만, 반드시 이 페이지를 표시해 주세요.session_start()세션 함수를 사용하기 전에 줄을 그어야 합니다.따라서 코드는 다음과 같습니다.

 session_start();
 $_SESSION['name_here'] = $your_array;

가능한 예:

 session_start();
 $_SESSION['name_here'] = $_POST;

이제 다음과 같은 모든 페이지에서 필드 값을 얻을 수 있습니다.

 echo $_SESSION['name_here']['field_name'];

질문의 두 번째 부분에 대해서는 다른 배열 데이터를 할당하지 않는 한 세션 변수가 남아 있습니다.

 $_SESSION['name_here'] = $your_array;

세션 라이프 타임이 php.ini 파일로 설정됩니다.

자세한 내용은 이쪽

<?php // PHP part
    session_start();          // Start the session
    $_SESSION['student']=array(); // Makes the session an array
    $student_name=$_POST['student_name']; //student_name form field name
    $student_city=$_POST['city_id'];   //city_id form field name
    array_push($_SESSION['student'],$student_name,$student_city);   
    //print_r($_SESSION['student']);
?>

<table class="table">     <!-- HTML Part (optional) -->
    <tr>
      <th>Name</th>
      <th>City</th>
    </tr>
                                                        
    <tr>
     <?php for($i = 0 ; $i < count($_SESSION['student']) ; $i++) {
     echo '<td>'.$_SESSION['student'][$i].'</td>';
     }  ?>
    </tr>
</table>

먼저 innode() 함수를 사용하여 어레이를 문자열로 변경합니다.:

$number = array(1,2,3,4,5);

# Implode into a string using | as the separator.
$stringofnumber = implode('|', $number);

# Pass the string to a session. e.g
$_SESSION['string'] = $stringofnumber;

따라서 어레이를 사용하는 페이지로 이동하면 문자열을 확장하기만 하면 됩니다.:

# Required before $_SESSION can be accessed.
session_start();

# Explode back to an array using | as the needle.
$number=explode('|', $_SESSION['string']);

현재 어레이는$number.

언급URL : https://stackoverflow.com/questions/2306159/array-as-session-variable

반응형