2015-05-18 2 views
1

Я обертываю функции на php-страницах в functions.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

. Вы можете получить доступ к 'id' через' $ _GET ['id'] 'непосредственно в вашей функции. – TiMESPLiNTER

+0

Хорошо, попробуйте и вернитесь – christoandrew

Смежные вопросы