2013-06-24 4 views
-3

"제출"을 클릭하면 함수의 값이 코드에 표시됩니다. 아래 코드는 다음과 같습니다.PHP를 사용하여 숨겨진 입력 값 전달

<form method="post"> 
    <input type="hidden" name="HDN_FormClicked" value= <?php echo $clicked ?> /> 
    <?php 
    if($_POST){ 
    $clicked= "You have clicked the button";} 
    ?> 
    <input class="button" type="submit"/> 
    </form> 

코드를 작동 시키려면 $ _get을 사용해야합니까?

+0

'

'의 방법은 무엇입니까? – andrewsi

+0

value = , 값 = '' – Fallen

+0

method = "post"질문으로 업데이트하겠습니다. – Pluto

답변

6
<?php 
    if(isset($_POST['submit_button'])) 
     $clicked = 'You have clicked the button'; 

?> 

<form method="post"> 
<input type="hidden" name="HDN_FormClicked" value="<?php echo (isset($clicked)) ? $clicked : '' ?>" /> 
<input class="button" name="submit_button" type="submit"/> 
</form> 

대안 여기

<?php 
    $clicked = ''; 

    if(isset($_POST['submit_button'])) 
     $clicked = 'You have clicked the button'; 
?> 

<form method="post"> 
<input type="hidden" name="HDN_FormClicked" value="<?= $clicked?>" /> 
<input class="button" name="submit_button" type="submit"/> 
</form> 
+0

니스. 그것은 효과가있다! PHP 코드를 함수로 대체하려고합니다. 감사합니다! – Pluto

0

당신이 코드에있는 것은 PHP와 자바 스크립트를 혼합처럼 보이는 ...

당신이 사용할 수있는 PHP로 폼에서 값을 전달하려면 다음

<form action="phpfile.php" method="post">

과에 당신의 PHP 파일은 $_POST을 사용하여 값을 "사용"할 수 있습니다.

<form action="http://somesite.com/prog/adduser" method="post"> 
<input type="text" name="info_to_get_1" value="" /> 
<input type="text" name="info_to_get_2" value="" /> 
<input type="submit" value="Send"> 

과 PHP 파일 : 예

당신은 사용자가 클릭 할 경우 정보를 갖고 싶어 귀하의 경우에는
$value_1 = $_POST["info_to_get_1"]; 
$value_2 = $_POST["info_to_get_2"]; 

,이처럼 예를 들어 뭔가를 작성해야 :

if(isset($_POST["HDN_FormClicked"])){$clicked= "You have clicked the button";}

0

명왕성, 귀하의 문제는 tha입니다. 실제로 정의되기 전에 $ clicked 변수를 사용하려고합니다. 숨겨진 요소의 value 속성을 통해 PHP 코드를 전달하는 이유는 무엇입니까? 당신의 접근 방식은 복잡한 것처럼 보입니다. 양식을 작성하고 게시하는 표준 절차를 읽어보십시오. 폼 제출의

+0

이것은 실제로 유효성 검사 코드입니다. 예를 들어, 한 필드가 비어 있으면 오류 메시지는 "유효하지 않은 필드"여야합니다. PHP를 사용하여 기본 코드를 완료했지만 오류 메시지가 아래에 표시됩니다. 그래서 나는 그 (것)들 정상에 시도했다. – Pluto

+0

클라이언트 측 유효성 검사를 위해 javascript를 사용하십시오. 그것은 어리석은 증거는 아니지만 많은 두통을 덜어 줄 것입니다. 어느 쪽이든 - HTML 중간에 삽입 된 PHP 코드를 피하기 위해 최선을 다하십시오. 그것은 지저분하고 나쁜 습관을 고려하며 - 개발자를 혼란스럽게 할뿐입니다. – RutledgePaulV

0

작은 예 :

<form method="POST" action="/form.php" name="myForm"> 
    <input type="hidden" name="myHiddenValue" value="<?php echo $clicked ?>" /> 
    <input type="text" placeholder="Type in some text" name="myText" value="" /> 
    <button name="mySubmit" type="submit">Submit the form!</button> 
</form> 

<?php 
    $clicked = "not_clicked"; 
    if ($_POST) { 
     if (isset($_POST['myForm']) && isset($_POST['mySubmit'])) { 
      $clicked = "clicked"; 
      var_dump($_POST); // dumps your $_POST array. 
     } 
    } 
?> 

설명 : 방법에

는 요청 방법을 변경 때문이다. 이 경우 POST하지만 GET 할 수 있습니다.
action 속성은 양식 데이터를 보낼 위치를 설정합니다.
입력의 숨김 유형이 입력을 숨 깁니다.
name 속성을 사용하면 양식 및 양식 필드의 이름을 '지정'합니다.

관련 문제