2011-04-24 6 views
0

나는 CMS를 만들고 있으며 클라이언트가 만들 페이지는 동일한 양식을 사용하여 페이지를 편집하고 새 페이지를 추가하고 새 서브 페이지를 추가하고 편집합니다 subpage .. 나는 각 동작에 대해 해당 형식을 여러 번 복사하려고하지 않습니다. 어떤 사람이 최선의 방법으로 모든 행동에 해당 양식을 사용하는 방법을 알고 있는지 알고 싶습니다. 당신이 그것을보고 싶다면 하나의 양식이 PHP로 작업 곱하기

<div class="containerholder"> 
<div class="container"> 
<div id="contain"> 
     <form method="post" id="customForm" action="edited.php"> 
      <div> 
       <label for="name">Navigation</label> 
       <input id="name" name="navigation" type="text" value="<?php echo $navigation ?>" /> 
      </div> 
      <div> 
       <label for="message">Content</label> 
       <textarea id="content" name="content" cols="" rows="" ><?php echo $content ?></textarea> 
      </div> 
      <div> 
       <input type="hidden" name="id" id="id" value="<?php echo $id ?>"> 
       <input id="send" name="send" type="submit" value="Save and update" /> 
      </div> 
     </form> 
    </div> 
</div></div> 

양식, 내가 어떻게 만드는 아이디어를 가지고 있지만 가장 좋은 방법 (전문) 인 것처럼 나에게 보이는 나던.

감사합니다. 모든 작업에 대한

답변

0

를 사용하여 여러 제출 - 버튼 (보통 만 클릭 제출 버튼을 제출) 제출 버튼의 이름 전문

에 의해 요청 된 작업을 식별 : 내 눈에서 "전문가"아니에요 모든 작업에 단일 양식 사용

0

구글 운의 선택을 느낌 /의 검색과 마찬가지로 당신은 버튼을 제출 여러 사용할 수 있습니다

제출 버튼의 이름 = 값 쌍은 (는) 폼 데이터의 나머지 그대로 전송
<input id="send" name="send" type="submit" value="edit" /> 
    <input id="send" name="send" type="submit" value="new page" /> 
    <input id="send" name="send" type="submit" value="edit subpage" /> 
    <input id="send" name="send" type="submit" value="new subpage" /> 

따라서 서버에서 동일한 기능 ($ _GET 또는 $ _POST 등)을 사용하여 수집합니다.

또는 양식 컨트롤과 자바 스크립트 이벤트를 사용하여 AJAX를 통한 서버와의 통신을 제어 할 수 있습니다. 자바 스크립트를 통해 전송되는 데이터를 정확하게 제어 할 수 있으며 페이지 relo를 기다리지 않는 최종 사용자가 원활하게 사용할 수 있습니다. 광고). 간단한 소스 코드는 http://www.w3schools.com/ajax을 참조하십시오.

0

는 예를 들어,이 기능을 선택하기 위해 두 개 이상의 라디오 버튼을 추가

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

<input type="radio" name="function" value="Add" /> 
<input type="radio" name="function" value="Delete" /> 
<input type="radio" name="function" value="Edit" /> 

.. 
</form> 

및 PHP에서

:

<?PHP 
... 

if($_POST['function'] == 'Add') 
{ 
//Add Function 
} else 
if($_POST['function'] == 'Delete') 
{ 
//DeleteFunction 
} else 
if($_POST['function'] == 'Edit') 
{ 
//EditFunction 
} 

... 
?> 
0
나는 하나의 양식을 만들고, 다음 스위치에 스크립트를 사용하는 것이 좋습니다 것입니다

그것은 모드와 데이터 사이에 필요에 따라 필드를 채 웁니다.

양식으로 연결되는 링크의 경우. 양식 파일의 경우

/* To create a New Record */ 
<a href="thisfile.php?action=new">New Record</a> 
/* To delete an Existing Record */ 
<a href="thisfile.php?action=delete&record=123">Delete #123</a> 
/* To edit an Existing Record */ 
<a href="thisfile.php?action=edit&record=123">Delete #123</a> 

(내 예 thisfile.php 자체).

<?php 
if(isset($_GET['action'])){ 
    switch(strtolower($_GET['action'])){ 
    case 'delete' : 
     /* Perform Deletion Action Here */ 
     break; 
    case 'edit' : 
     if(isset($_POST['save'])){ 
     /* Perform Modification of Existing Values Here */ 
     }else{ 
     /* Perform Query for Existing Values Here */ 
     } 
     break; 
    case 'new' : 
     if(isset($_POST['save'])){ 
     /* Perform Creation of New Record Here */ 
     }else{ 
     /* Set Default Values */ 
     $navigation = ''; 
     $content = ''; 
     } 
     break; 
    } 
} 
?> 
<div class="containerholder"> 
    <div class="container"> 
    <div id="contain"> 
     <form method="post" id="customForm"> 
     <?php if(isset($_GET['action'])){ ?> 
      <input type="hidden" name="action" value="<?php echo $_GET['action']; ?>" /> 
     <?php } ?> 
     <?php if(isset($_GET['record'])){ ?> 
      <input type="hidden" name="record" value="<?php echo $_GET['record']; ?>" /> 
     <?php } ?> 
     <div> 
      <label for="name">Navigation</label> 
      <input id="name" name="navigation" type="text" value="<?php echo $navigation ?>" /> 
     </div> 
     <div> 
      <label for="message">Content</label> 
      <textarea id="content" name="content" cols="" rows="" ><?php echo $content ?></textarea> 
     </div> 
     <div> 
      <input id="send" name="send" type="submit" value="Save and update" /> 
     </div> 
     </form> 
    </div> 
    </div> 
</div>