2013-02-01 3 views
2
내가 PHP에서 Savy은 아니에요 이후 2 일에 도움이 필요

다음에 따라 변경 내용 :이 옵션에 이름을 부여 PHP를함으로써, PHP를 사용하여 수행 할 수 있다고 생각<select>에 따라 내용을 변경하는 방법은 무엇입니까?

<select> 
    <option>Option 1</option> 
    <option>Option 2</option> 
</select> 

그 이름에 따라 변수를 생성하고 변화하는 내용을 보여주는 "include"를 넣으십시오. 여기

스크립트에 대한 모델의 : 사용자가
다음 "PAGE1, 페이지 2, PAGE3"
표시 "변수 1, varialbe2 등"을 선택하면

READ가
를 선택 * 페이지 내에서 페이지 변경 때문에

<?php include 'page1.php'; ?> 

콘텐츠가 버튼을 포함하는 것으로, 그 버튼에 따라, 나는 텍스트를 원하는 : 사용자가 다시 변경하려는 경우가 해달라고하면 다시 가야 ... 어쩌면이 사용하여 수행 할 수 있습니다 상자에 certai로 채워진다. n 텍스트.

<input type="button" value=""> 

다음 버튼의 값에 따라 PHP는 텍스트를 텍스트 상자에 넣습니다. 에서 나는 $ 요청 및 $ 포스트 ... (물론 이것은 별도의 PHP입니다) 당신은 당신의 select 태그에 name 필드가 필요

+0

내가 바꾸려고하자. 당신이 바꿀 때, 텍스트를로드하고 이전 텍스트 대신 표시하는 선택 상자가 필요합니다. 맞습니까? – user20232359723568423357842364

답변

3

달성하기 위해 서로 다른 몇 가지 방법이있을 수 있습니다 당신의 골. 요청한대로 PHP를 사용한다면이 같은 것이 가장 좋습니다. 여기서는 보안을 위해 사례/스위치를 사용하고 URL 조작을 막기 위해 GET 대신 POST를 사용했습니다. 대/소문자를 바꾸면 어쨌든 많은 URL 조작을 처리 했으므로 환경 설정 문제가됩니다.

<?php 
$page = null; 
if(isset($_POST['page'])){ 
    $page = $_POST['page']; 
} 
switch($page){ 
    case 'page3': include_once('/path/to/page3content.php'); break; 
    case 'page2': include_once('/path/to/page2content.php'); break; 
    case 'page1': include_once('/path/to/page1content.php'); break; 
    default: include_once('/path/to/defaultcontent.php'); break; 
} 
?> 
<form name="myform" action="" method="post"> 
    <select name="page" onchange="this.form.submit()"> 
     <option value="page1"<?php if($page == "page1"){ echo " selected"; }?>>Page 1</option> 
     <option value="page2"<?php if($page == "page2"){ echo " selected"; }?>>Page 2</option> 
     <option value="page3"<?php if($page == "page3"){ echo " selected"; }?>>Page 3</option> 
    </select> 
</form> 

그러나 파일 구조에 따라 약간의 기본 Javascript와 HTML만으로도 유사한 파일을 얻을 수 있습니다.

<select name="page" onchange="window.location=this.value"> 
    <option value="/path/to/page1.php">Page 1</option> 
    <option value="/path/to/page2.php">Page 2</option> 
    <option value="/path/to/page3.php">Page 3</option> 
</select> 
1

하고 optionvalue 필드를 사용하는 것이 무엇을 읽었습니다 태그 :

<form name='myform' action='myform.php' method='POST'> 
    <select name='myselect'> 
    <option value='1'>Option 1</option> 
    <option value='2'>Option 2</option> 
    <option value='3'>Option 3</option> 
    </select> 
    <input type='submit'> 
</form> 

그러면 PHP 페이지에 $_POST['myselect']을 통해 선택 사항이 전송됩니다.

1

select 옵션의 on 이벤트를 제출할 수 있습니다.

그런 다음 당신은 $_GET를 실행하고 늘뿐만 아니라 버튼을 제출 필요하게 될 이런 식으로 $_GET['page']

<form action="page.php" method="get">  
    <select name="page" onchange="this.form.submit()"> 
      <option value="page1">Page 1</option> 
      <option value="page2">page 2</option> 
     </select> 
    </form> 
     <?php 
     if(isset($_GET['page'])){ 

      if($_GET['page']=="page1"{ 

      //content for page 1 

      }elseif($_GET['page']=="page2"{ 

      //content for page 2 

      } 

     } 


     ?> 

의 값을 비교하여 특정 페이지에 대한 적절한 콘텐츠를 표시 할 수 있습니다. $_GET['page']의 값을 비교하여 특정 페이지로 리디렉션 할 수도 있지만 작업을 완료하는 데 적절한 방법으로 모든 페이지에이 양식을 포함시켜야합니다. 그런 다음 내용은 당신이 할 수 갈 것 곳

<form action="index.php" name="myForm" method="post"> 
    <select onchange="window.location.href = this.value" name="select"> 
     <option value="index.php?page=yourpage">yourpage</option> 
     <option value="index.php?page=yourpage2">yourpage2</option> 
    </select> 
</form> 

:

1

또한 버튼을 제출하고 다음을 사용 무시할 수

<?php 
    if (isset($_GET['page'])) { 
      if ($_GET['page'] == "yourpage") {include("pages/page1.php");} 
      else ($_GET['page'] == "yourpage2") {include("pages/page2.php");} 
    } else {include("pages/default.php");} 
?> 
관련 문제