2015-05-18 15 views
1

我在functions.php中的php頁面中封裝了函數,爲了訪問這些頁面,我在URL中放入了一個動作和一個值。我還有一個function_calls.php,它請求動作及其值,並將其傳遞給調用相應函數的開關盒。我遇到的問題是,我想要編輯一個字段。我沒有合適的情況下(開關),我想看起來像admin.php?action=edit?id=some_id通過函數調用進行編輯PHP

function_calls.php

<?php 
    require_once "functions.php"; 


    if (isset($_REQUEST['action'])) { 
    $option = $_REQUEST['action']; 

    echo $option; 

    switch ($option) { 
     case "complaints": 
      complaint(); 
      break; 
     case "users": 
      users(); 
      break; 
     case "officers": 
      officers(); 
      break; 
     case "register_officer": 
      register_officer(); 
      break; 
     case "register_student": 
      register_student(); 
      break; 
     case "add_event": 
      add_event(); 
      break; 

     default: 
      complaint(); 
      break; 
    } 
} else { 
    echo '<div class="jumbotron"> 
    <h1>Welcome To The Administration Panel </h1> 
    <p>You can manage accounts and view the complaints here.</p> 

</div>'; 
} 

的functions.php

<?php 

include_once "include/db_connect.php"; 

function register_student() 
{ 
    ?> 

    <section> 
     <div class="row"> 
      <div class="col-md-7 col-md-offset-1"> 
       <form class="" method="post" action=""> 
        <div class="row"> 
         <div class="col-md-6 "> 
          <div class="input-group margin-bottom-20"> 
           <span class="input-group-addon"><i class="fa fa-user"></i></span> 
           <input type="text" placeholder="Firstname" name="firstname" required="" 
             class="form-control"> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="input-group margin-bottom-20"> 
           <span class="input-group-addon"><i class="fa fa-user"></i></span> 
           <input type="text" placeholder="Lastname" name="lasttname" required="" 
             class="form-control"> 
          </div> 
         </div> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-envelope"></i></span> 
         <input type="text" placeholder="Email" name="email" required="" class="form-control"> 
        </div> 

        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-user"></i></span> 
         <input type="text" placeholder="Registration Number" name="reg_no" required="" 
           class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-phone"></i></span> 
         <input type="text" placeholder="Phone" name="phone" required="" class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-lock"></i></span> 
         <input type="password" placeholder="Password" name="password" required="" class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-lock"></i></span> 
         <input type="password" placeholder="Confirm Password" name="conf_password" required="" 
           class="form-control"> 
        </div> 

        <div class="row"> 
         <!--<div class="col-md-6 checkbox"> 
          <label><input type="checkbox">Remember me</label> 
         </div>--> 
         <div class="col-md-12"> 
          <button class="btn btn-success btn-block pull-right" type="submit" name="register">Register 
           Student 
          </button> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </section> 

<?php 

} 

function register_officer() 
{ 
    ?> 
    <section> 
     <div class="row"> 
      <div class="col-md-7 col-md-offset-1"> 
       <form class="" method="post" action="register.php"> 
        <div class="row"> 
         <div class="col-md-6 "> 
          <div class="input-group margin-bottom-20"> 
           <span class="input-group-addon"><i class="fa fa-user"></i></span> 
           <input type="text" placeholder="Firstname" name="firstname" required="" 
             class="form-control"> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="input-group margin-bottom-20"> 
           <span class="input-group-addon"><i class="fa fa-user"></i></span> 
           <input type="text" placeholder="Lastname" name="lastname" required="" 
             class="form-control"> 
          </div> 
         </div> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-envelope"></i></span> 
         <input type="text" placeholder="Email" name="email" required="" class="form-control"> 
        </div> 

        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-user"></i></span> 
         <input type="text" placeholder="Rank" name="rank" required="" class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-phone"></i></span> 
         <input type="text" placeholder="Phone" name="phone" required="" class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-lock"></i></span> 
         <input type="password" placeholder="Password" name="password" required="" class="form-control"> 
        </div> 
        <div class="input-group margin-bottom-20"> 
         <span class="input-group-addon"><i class="fa fa-lock"></i></span> 
         <input type="password" placeholder="Confirm Password" name="conf_password" required="" 
           class="form-control"> 
        </div> 

        <div class="row"> 
         <!--<div class="col-md-6 checkbox"> 
          <label><input type="checkbox">Remember me</label> 
         </div>--> 
         <div class="col-md-12"> 
          <button class="btn btn-success btn-block pull-right" type="submit" name="register_officer"> 
           Register Officer 
          </button> 
         </div> 
        </div> 
       </form> 
      </div> 
     </div> 
    </section> 
<?php 
} 

回答

0

這將是比你多一點優雅的解決方案:

<?php 

require_once 'functions.php'; 

if (isset($_GET['action'])) { 
    $option = $_GET['action']; 

    echo $option; 

    if(in_array($option, get_defined_functions()['user']) === true) { 
     call_user_func($option); 
    } else { 
     complaint(); 
    } 
} else { 
    echo '<div class="jumbotron"> 
    <h1>Welcome To The Administration Panel </h1> 
    <p>You can manage accounts and view the complaints here.</p> 
    </div>'; 
} 

,那麼你可以定義一個函數edit()這將被call_user_func自動調用,而不會改變每次添加一個新功能時,都會輸入switch

+0

好的,謝謝但是如何將參數傳遞給編輯功能,例如 – christoandrew

+0

您可以直接在函數中通過$ _GET ['id']'訪問'id'。 – TiMESPLiNTER

+0

好吧,讓我回來 – christoandrew