2012-09-15 3 views
0

에서 변수를 가져옵니다 내가 폼의 텍스트 상자의 값을 할당하는 경우 조건에서 변수를 얻으려면 : 누르면 이름 :다른 조건 블록

<form action="" method="POST"> 
    <input type="text" name="name"> 
    <input type="submit" value="Click Here!" name="submit"> 
    <?php 
     if (isset($_POST['submit'])) { 
      $name = $_POST['name']; 
      echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">"; 
     } 

     if (isset($_POST['show'])) { 
      echo $name; //i got "Notice: Undefined variable: name" here 
     } 
    ?> 
</form> 

내가 입력 한 후 $name의 값을 표시합니다.

+1

이동 변수의 선언을 시도 조건 (또는 경우 두 번째 내부 이동). 하지만 코드가 전체적으로 정확하다고는 생각하지 않습니다 (두 개의 제출 버튼). – knittl

답변

0

안녕하세요 경우 처음에 제한 유래에 오신 것을 환영된다는 것이다 2 단계로 양식을 작성하려면 "이름"값을 중간 양식에 저장해야합니다. 지적하는

<form action="" method="POST">                        
    <input type="text" name="name">                       
    <input type="submit" value="Click Here!" name="submit">                 
    <?php 
    if (isset($_POST['submit'])) 
    { 
     $name = htmlentities($_POST['name']); 
     echo "<input type=\"hidden\" value=\"{$name}\" name=\"name\">"; 
     echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">"; 
    } 

    if (isset($_POST['show'])) 
    { 
     $name = htmlentities($_POST['name']); 
     echo $name; 
    } 
    ?>                              
</form> 

몇 가지 : 그런 방법으로 당신이 당신의 $ 이름

  • 를 저장 "숨겨진"타입의 필드 두 번째 단계에서 복구 할 수있는

    희망이 있습니다.

    귀하의 첫 번째 전에 here

  • 1

    이 문제

    $name = ""; 
    
        if (isset($_POST['submit'])) { 
         $name = $_POST['name']; 
         echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">"; 
        } 
    
        if (isset($_POST['show'])) { 
         echo $name; 
        } 
    
    를 해결해야

    코드의 문제는 $name의 범위가

    은 당신이 원하는 경우,

    +0

    그건 그렇고, 왜 다른 제출을 출력하는지 모르겠습니다.하지만 다른 문제가 있습니다. – nico

    +0

    제출하는 다른 양식을 출력하는 것이 어떨까요? 더 좋은 방법이 될 수 있습니까? –

    +0

    @Bakti Elvian : 그것은 당신이 성취하고자하는 것에 달려 있습니다. 개인적으로 JS를 사용하여 일부 텍스트를 표시하거나 숨기고 페이지를 다시 제출할 필요가 없습니다. – nico