2013-10-28 4 views
0

HTML 파일, 기본적으로 간단한 형식이 있습니다. 목적은 PHP 파일 ('alternative.php')에 코드 조각을 실행하는 값을 제출하는 것입니다. html 코드 샘플보기 :PHP 형식의 링크 값

<form name="input" action="alternative.php" method="POST"> 

Area: <input type="text" name="area"><br><br> 
<input type="submit"><br> 

</form><br><br> 

이 원활

가 지금은 두 번째 PHP 파일 ('alternative2.php을')가 실행되며,이 파일이 자동으로 형태로 입력되는 데이터에 연결해야합니다. alternative2을위한 PHP 코드의 발췌 :

<?php 

require_once 'header.php'; 

/** Create HTTP POST */ 
$accomm = 'ACCOMM'; 
$region = ''; 

foreach ($result->area as $entry) { 
$region = $entry->attributes()->area_name; 
break; 
} 

$page = '10'; 

alternative.php 및 alternative2.php 모두 header.php을 필요로한다. header.php의

발췌 :이 가야합니까 어떻게

<?php 

/** Create HTTP POST */ 

$country = 'Australia'; 
$area = htmlspecialchars($_POST["area"]); 
$seek = '<parameters> 
<row><param>COUNTRY</param><value>'. $country .'</value></row> 
<row><param>AREA</param><value>'. $area .'</value></row> 
</parameters>'; 

Currently it returns "Notice: Undefined index: area in C:\xampp\htdocs...." when I run it. 

?

감사

+0

'alternative2.php'에'POST '동작이있는 양식이 있습니까? 그렇다면,'alternative2.php'에'var_dump ($ _ POST);를 시도해서 데이터를 얻기 위해 무엇을 얻을 수 있는지보십시오. 내가보기에 실제로 양식 데이터를 하나의 파일에만 제출하고 있습니다. 왜냐하면'$ _POST [ 'area']'가 초기화되지 않았기 때문입니다. – Crackertastic

+0

@Crackertastic : 네 말이 맞다고 생각해. 하지만 난 그것을 초기화하는 데 문제가 있습니다 .. 당신은 어떤 조언을 제안 할 수 있습니까? 감사합니다 – akinboj

+0

귀하의 질문에 대한 답변을 게시했다. 희망을 갖고 도움을 주시거나 올바른 방향으로 나아갈 수 있도록 아래를 참조하십시오. – Crackertastic

답변

1

오류는 당신이 볼 이유는 다음 그건 당신이 당신의 양식에서 alternative2에 도달하지 않는 경우 $_POST["area"]가 정의되어 있지 않은 것을 제안; 다른 장소 (예 : 직접)에서 대안 2에 도달하려는 경우 또는 변수의 값이 여러 페이지에서 동일해야하는 경우 Sessions을 사용하는 것이 좋습니다.

1

확인 $ _POST 값을 사용하기 전에 존재하는 경우 ...

if (isset($_POST["area"])){ 
    //do stuff 
} 
+0

그랬지만 존재하지 않습니다. 그러나 'alternative2.php'파일을 호출 할 때 사용자가 제출하는 'Spain'값을 어떻게 만들 수 있습니까? – akinboj

+0

$ _POST 변수는 양식이 제출 된 페이지의 전체 공간에 있습니다. 즉, alternative.php에 제출하면 데이터를 가지게되며, alternative2.php에 제출하면받을 수 있습니다. 두 페이지가 어떻게 상호 작용하는지는 모르겠지만 데이터를 alternative.php에 게시하고 별도의 스크립트/페이지에서 액세스 할 수 있도록하려면 데이터베이스에 저장하거나 새 페이지에서 가져 오거나 저장해야합니다. $ _SESSION의 데이터. 또는 기능을 모두 한 페이지로 이동하십시오. – hendr1x

1

은 기본적으로 그것은있는 양식이 실제로에 제출 파일 관련이있다. 양식이 alternative.php에만 제출 된 경우 두 번째 페이지에 POST 정보가 제공되지 않습니다. 내 의견에서 가장 쉽고 논리적 인 선택은 alternative.phpalternative2.php의 기능을 단일 페이지에 병합하거나 세션을 사용하여 POST 정보를 저장 한 다음 두 페이지에서 사용할 수있게하는 것입니다. 세션을 사용한다면 아래와 같이 할 수 있습니다.

양식 입력 (나는 가정 alternative.php를) 처리하는 파일을 시작하고 해당 파일의 상단에

session_start(); 

를 추가합니다. 귀하의 정보가 저장 이제

$_SESSION['area'] = $_POST['area']; 

을하고 요청하는 요청에서 사용할 수 있습니다 : 그런 다음, 코드의 어떤 블록에 당신은 당신의 폼 정보는 다음 줄을 추가 받고있다.

그런 다음 head.php 파일에서 $_SESSION 개의 변수를 통해 정보에 액세스하십시오.

<?php 

/** Start Session */ 
session_start(); 

/** Create HTTP POST */ 

$country = 'Australia'; 
$area = htmlspecialchars($_SESSION['area']); //Access your session variable. 


$seek = '<parameters> 
<row><param>COUNTRY</param><value>'. $country .'</value></row> 
<row><param>AREA</param><value>'. $area .'</value></row> 
</parameters>'; 
?>