2013-12-13 3 views
2

PHP 변수를 내 양식에서 해당 양식의 데이터베이스 연결을 수행하는 다른 페이지로 전달하려고합니다. 하지만 변수를 전달할 수 없습니다. 양식의 다른 데이터는 post 메소드를 통해 전송됩니다. 어떻게 변수를 보내고 다른 페이지에서받을 수 있습니까?폼의 PHP 변수를 다른 페이지로 넘김

아래 코드의 $branch_idcreate_centre_connect.php 페이지로 전달하고 싶습니다. 에코 부분이 잘하고 있습니다.

아무도 도와 줄 수 있습니까?

<form id="f_c_centre" action="create_centre_connect.php?" method="post">Branch Name 
    <?php echo "". "".$create_centre1. ""; ?> 
    <?php global $branch_id; $branch_id=&$create_centre; ?> 
</form> 
+0

사용중인 코드 중 일부가 잘못 표시 될 수 있습니다. –

+0

필드 값을 숨겨진 양식 요소에 에코합니다. 그러면 게시물과 함께 전송되며 $ _POST – Zarathuztra

답변

5

세션 변수와 같이 특별한 경우가 아니면 변수를 설정하면 해당 프로그램을 실행하기 위해서만 변수가 설정됩니다.

양식을 사용하여 데이터를 전달하려면 해당 데이터를 양식 컨트롤에 넣으십시오. 이 경우 숨겨진 입력이 수행됩니다.

<input 
    type="hidden" 
    name="branch_id" 
    value="<?php echo htmlspecialchars($branch_id); ?>" 
> 
+0

에서 가져올 수 있습니다. 고마워요. 이 htmlspecialchars가 중요하기를 바랍니다. 나는 그것에 대해 모른다. 어떤 식 으로든 내 문제가 해결됩니다. – user2979226

2

그냥 값을 보유하는 입력을하십시오. 그 사이에 클라이언트가있을 때 직접 할 수 없기 때문에 강제로 같은 방법으로 강제 할 수는 없지만 여전히 그렇습니다.

누군가가 ID를 변조했는지 확인할 수 있도록하려면 소금으로 해시 된 값을 추가해야합니다. 그래서 calc는 id와 당신의 비밀에 기초한 hash를 해쉬와 id 만 보내고, 수신 코드에서 hash를 검증합니다.

+0

이것은 작동하지 않을 것입니다 - value = "" –

+0

@MarcelBalzer - 페이지가 XSS에 취약해질 위험이 있습니다. 데이터를 이스케이프 처리해야합니다. – Quentin

+0

어쩌면 ..하지만 전혀 작동하지 않습니다. –

-1

변수를 게시하려면 cURL을 사용하십시오. 당신은 사용자 이름과 암호입니다 양식에 두 개의 입력을 가지고이 같은 시도

을 abc.php하기 위해 다음 보낼 것을

<?php 

if(isset($_POST['submit'])){ 

$curl = curl_init(); 
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1, 
    CURLOPT_URL => 'http://testcURL/abc.php' 
    CURLOPT_POST => 1, 
    CURLOPT_POSTFIELDS => array(
     "username" => $_POST['username'], 
     "password" => $_POST['password'] 
    ) 
)); 

$resp = curl_exec($curl); 
// Close request to clear up some resources 
curl_close($curl); 
$resp; 
} ?> 

척 그리고 사용 abc.php에 귀하의 게시물을 에코하자 print_r($_POST);이 코드를 동일한 파일에 보관하고 양식에 action = "SAMEFIEL"을 설정할 수 있습니다.

0

양식을 통해 전달하려는 모든 것은 양식 요소를 통해 이루어져야합니다. 정보를 웹 페이지에 표시하지 않으려면 숨겨진 필드가 필요합니다. 숨겨진 필드를 통해 전달되지 않아야하는 민감한 데이터는 페이지 소스보기시 표시되므로주의해야합니다.

<form id="f_c_centre" action="create_centre_connect.php" method="post"> 
    <input type='hidden' name='create_centre1' value='<?php echo "$create_centre1"; ?>'> 
    <input type='hidden' name='branch_id' value='<?php echo "$create_centre"; ?>'> 
    <input type='submit' name='submit' value='Sumbit'> 
</form> 

create_centre_connect.php 페이지에서 사용자는 $ _POST를 사용하여 전달한 값을 얻을 수 있습니다.

관련 문제