양식 제출 후 PHP 세션 변수가 전달되지 않음

미쓰이 씨

방금 세션 변수를 사용하기 시작했는데 몇 가지 문제가 있습니다.

양식 처리 스크립트의 변수를 다른 페이지로 다시 내보내려고하는데 현재 결과가 나오지 않습니다.

시작하기 전에이 질문을 포함한 다른 질문을 이미 확인했다고 말하겠습니다.

PHP가 작동하지 않는 세션 변수

나는 첫 번째 답변 목록에서 모든 것을 확인했지만 여전히 아무것도 없습니다.
내가 얻는 유일한 오류는 다음과 같습니다.

알림 : 정의되지 않은 색인 : id

나는 페이지가 처음 시작될 때 ID가 무엇인지 알지 못하지만 오류를 제출 한 후에도 지속되기 때문이라고 가정합니다.

index.php

<?php
    session_start();
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
?>
<!DOCTYPE html>
<html>
<head>
    <title>PHP Sessions</title>
</head>
<body>
    <?php echo $_SESSION['id']; ?>

    <form action="submit.php" method="post">
        <input type="text" name="number" id="number">
        <button type="submit">Submit</button>
    </form>
</body>
</html>

submit.php

<?php
    session_start();

    try {
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            $id = $_POST['number'];
        };

        header('Location: http://home.com/');
        exit();
    } catch (Exception $e) {
        echo $e->getMessage();
    }
?>
펑크 포티 니너

내 의견에서 언급했듯이 아무것도 할당하지 않았기 때문에 해당 알림을 받게됩니다. 따라서을 사용하는 조건문을 사용하십시오 isset().

if(isset($_SESSION['id'])) { 
   echo "The session is set."; 
} else{ 
   echo "Sorry, it's not set."; 
} 

또는

if(isset($_SESSION['id'])) { 
   echo "The session is set.";
} 
   else{ 
    $_SESSION['id'] = "ID123"; 
}
  • 세션 배열을 POST 배열로 전달하십시오.

초기 페이지에서 삼항 연산자 (참조 노트 참조)를 사용하여 설정 여부를 에코 할 수 있습니다.

<?php
    session_start();
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
?>
<!DOCTYPE html>
<html>
<head>
    <title>PHP Sessions</title>
</head>
<body>
    <?php echo isset($_SESSION["id"]) ? $_SESSION["id"] : '' ?>

    <form action="submit.php" method="post">
        <input type="text" name="number" id="number">
        <button type="submit">Submit</button>
    </form>
</body>
</html>
  • 그런 다음 "submit.php"페이지에서 세션 배열을 POST 배열에 전달합니다.

사이드 노트 : 나는이 줄을 주석 처리했고, 다시 넣을 때 주석 echo $id;; 그렇지 않으면 알림이 표시됩니다.

// header('Location: http://home.com/');
// exit();

submit.php!empty()POST 배열에 대한 조건 사용합니다 .

<?php
    session_start();

    try {
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {


    if(!empty($_POST['number'])){

       $_SESSION['id'] = $_POST['number'];

    // $id = $_POST['number'];

       $id = $_SESSION['id'];

        echo $id;

    }

        };

// header('Location: http://home.com/');
// exit();
    } catch (Exception $e) {
        echo $e->getMessage();
    }
?>

''의 끝에 isset($_SESSION["id"]) ? $_SESSION["id"] : ''원하는 경우 기본 텍스트 / 숫자를 넣어 사용할 수 있습니다.

즉 :

isset($_SESSION["id"]) ? $_SESSION["id"] : 'default value'

참조 :

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HTML, PHP : 양식 제출 후 변수가 표시되지 않음

분류에서Dev

PHP-양식 제출 후 $ _POST 변수가 설정되지 않음

분류에서Dev

양식 제출 후 PHP 변수가 표시되지 않음 (닫힘)

분류에서Dev

조건 추가 후 PHP 양식이 제출되지 않음

분류에서Dev

양식 제출 후 변수가 변경되지 않음

분류에서Dev

양식 제출 후 헤더 위치가 리디렉션되지 않음

분류에서Dev

양식의 PHP 세션 데이터가 전달되지 않거나 화면에 인쇄되지 않음

분류에서Dev

양식 제출 후 localStorage 페이지가 표시되지 않음

분류에서Dev

제출 후 php yii 양식이 지워지지 않음

분류에서Dev

제출 후 페이지로 리디렉션되지 않는 PHP의 양식

분류에서Dev

제출 후 양식 값을 세션에 저장하고 양식이 다시 제출 될 때까지 저장 : PHP

분류에서Dev

페이지 리디렉션 후 PHP 세션 변수가 작동하지 않음

분류에서Dev

PHP 양식이 제출되지 않지만 오류가 표시되지 않음

분류에서Dev

성공적인 양식 제출 후 AngularJS reCaptcha가 재설정되지 않음

분류에서Dev

양식 제출 후 리디렉션 PHP

분류에서Dev

PHP 세션 변수를 참조하는 양식 제출 전에 유효성 검사 추가

분류에서Dev

리디렉션 후 전역 PHP 변수가 저장되지 않음

분류에서Dev

URL에 전달되지 않는 PHP 양식 변수

분류에서Dev

PHP 양식이 제출되지 않음, 페이지가 새로 고침 됨

분류에서Dev

입력 확인 후 양식이 제출되지 않음

분류에서Dev

제출 후 Django 양식 필드가 값을 설정하지 않음

분류에서Dev

Ajax 양식 제출 후 JQuery 롤오버가 작동하지 않음

분류에서Dev

Ajax 양식 제출 후 JQuery 롤오버가 작동하지 않음

분류에서Dev

제출 후 JSF <f : ajax> 태그가 내 양식을 렌더링하지 않음

분류에서Dev

양식 유효성 검사 후 양식이 제출되지 않음

분류에서Dev

양식이 제대로 제출되지 않음-PHP / MYSQL

분류에서Dev

세션을 사용한 PHP 로그인은 양식 제출 후 빈 페이지를 반환합니다.

분류에서Dev

세션을 사용한 PHP 로그인은 양식 제출 후 빈 페이지를 반환합니다.

분류에서Dev

OnDemandGrid Dojo dgrid-select 이벤트 리스너가 양식 제출 후 호출되지 않음

Related 관련 기사

  1. 1

    HTML, PHP : 양식 제출 후 변수가 표시되지 않음

  2. 2

    PHP-양식 제출 후 $ _POST 변수가 설정되지 않음

  3. 3

    양식 제출 후 PHP 변수가 표시되지 않음 (닫힘)

  4. 4

    조건 추가 후 PHP 양식이 제출되지 않음

  5. 5

    양식 제출 후 변수가 변경되지 않음

  6. 6

    양식 제출 후 헤더 위치가 리디렉션되지 않음

  7. 7

    양식의 PHP 세션 데이터가 전달되지 않거나 화면에 인쇄되지 않음

  8. 8

    양식 제출 후 localStorage 페이지가 표시되지 않음

  9. 9

    제출 후 php yii 양식이 지워지지 않음

  10. 10

    제출 후 페이지로 리디렉션되지 않는 PHP의 양식

  11. 11

    제출 후 양식 값을 세션에 저장하고 양식이 다시 제출 될 때까지 저장 : PHP

  12. 12

    페이지 리디렉션 후 PHP 세션 변수가 작동하지 않음

  13. 13

    PHP 양식이 제출되지 않지만 오류가 표시되지 않음

  14. 14

    성공적인 양식 제출 후 AngularJS reCaptcha가 재설정되지 않음

  15. 15

    양식 제출 후 리디렉션 PHP

  16. 16

    PHP 세션 변수를 참조하는 양식 제출 전에 유효성 검사 추가

  17. 17

    리디렉션 후 전역 PHP 변수가 저장되지 않음

  18. 18

    URL에 전달되지 않는 PHP 양식 변수

  19. 19

    PHP 양식이 제출되지 않음, 페이지가 새로 고침 됨

  20. 20

    입력 확인 후 양식이 제출되지 않음

  21. 21

    제출 후 Django 양식 필드가 값을 설정하지 않음

  22. 22

    Ajax 양식 제출 후 JQuery 롤오버가 작동하지 않음

  23. 23

    Ajax 양식 제출 후 JQuery 롤오버가 작동하지 않음

  24. 24

    제출 후 JSF <f : ajax> 태그가 내 양식을 렌더링하지 않음

  25. 25

    양식 유효성 검사 후 양식이 제출되지 않음

  26. 26

    양식이 제대로 제출되지 않음-PHP / MYSQL

  27. 27

    세션을 사용한 PHP 로그인은 양식 제출 후 빈 페이지를 반환합니다.

  28. 28

    세션을 사용한 PHP 로그인은 양식 제출 후 빈 페이지를 반환합니다.

  29. 29

    OnDemandGrid Dojo dgrid-select 이벤트 리스너가 양식 제출 후 호출되지 않음

뜨겁다태그

보관