2017-05-03 3 views
0

Mein Code in der addstudent.php SeiteHeaderort funktioniert nicht nach der Verarbeitung der process_student.php Seite

<?php include 'lib/header.php'; ?> 

<div class="container mt-2 "> 
    <div class="row"> 
     <div class="col-lg-12"> 
      <div class="panel "> 
       <dev class="panel-heading main-color-bg bg-faded"> 
        <h3 class="panel-title">Add Student <span class="pull-right"><a href="index.php" class="btn btn-primary">Back</a></span></h3> 
       </dev> 
       <div class="panel-body"> 
        <form class="form form-control" action="lib/process_student.php" method="POST"> 
         <fieldset class="form-group"> 
          <label for="name"><strong>Student Name</strong></label> 
          <input type="text" class="form-control" id="name" name="name" placeholder="Student Name" required="1"> 
         </fieldset> 
         <fieldset class="form-group"> 
          <label for="email"><strong>Student Email</strong></label> 
          <input type="email" class="form-control" id="email" name="email" placeholder="Student Email" required="1"> 
         </fieldset> 
         <fieldset class="form-group"> 
          <label for="phone"><strong>Student Phone</strong></label> 
          <input type="text" class="form-control" id="phone" name="phone" placeholder="Student Phone" required="1"> 
         </fieldset> 
         <fieldset class="form-group"> 
          <input type="hidden" name="action" value="add"> 
          <input type="submit" class="btn btn-primary" id="submit" name="submit" Value="Add Student"> 
         </fieldset> 
        </form> 
       </div 
      </div> 
     </div> 
    </div> 
</div> 

<?php include 'lib/footer.php'; ?> 

Nun, wenn es um die process_student.php Seite geht es dort stecken. Mein process_student.php

<?php 
include_once 'Session.php'; 
include 'Database.php'; 
Session::init(); 
$db = new Database; 
$tablename = "tbl_student"; 
if(isset($_REQUEST["action"]) && !empty($_REQUEST["action"])) {  
    if($_REQUEST["action"] == "add") { 
     $studentdata = ["name" =$_POST["name"],"email" =$_POST["email"],"phone" =$_POST["phone"]]; 
     $insertdata = $db->insert($tablename,$studentdata); 

     if ($insertdata) {   
      $msg = "<h2 class='alert alert-success'><strong>Success! Data inserted successfuly</strong></h2>"; 
      return $msg; 
     } else { 
      $msg = "<h2 class='alert alert-danger'><strong>Error! No data inserted</strong></h2>"; 
      return $msg; 
     } 

     /* redirecting to the index page */   
     Session::set("msg",$msg);  
     $home_url = "../index.php";   
     ob_start();   
     header("Location:".$home_url);  
     exit(); 
    }elseif ($_REQUEST["action"] == "edit") { 
      $id = $_POST["id"]; 
      if (!empty($id)){ 
       $studentdata = ["name" =$_POST["name"],"email" =$_POST["email"],"phone" =$_POST["phone"]]; 
       $tablename = "tbl_student"; 
       $condition = ["id" =$id]; 
       $updateddata = $db->update($tablename,$studentdata,$condition); 

       if ($updateddata) { 
        $msg = "<h2 class='alert alert-success'><strong>Success! Data updated successfuly </strong></h2>"; 
        return $msg; 
       } else { 
        $msg = "<h2 class='alert alert-danger'><strong>Error! No data updated </strong></h2>"; 
        return $msg; 
       } 
       try { 
        Session::set("msg",$msg); 

        header("Location:../index.php"); 
       } catch (Exception $e) { 
        die("sorry".$e->getMessage()); 
       }  
      }else { 
       # code... 
      } 
    } 
} 
?> 
+0

die Header nicht funktioniert? kannst du das angeben? oder machen Sie die Frage ein wenig klar, da es nicht – Exprator

+0

ist, möchten Sie die Seite nach Abschluss des Skripts umleiten? –

+1

Sie verwenden 'return' innerhalb von Inline-Code, bevor Sie zum' header' Aufruf kommen - da die Rückgabe nicht in einer Funktion ist, wird das Skript beendet, wenn es die return-Anweisung erreicht. – RamRaider

Antwort

0

entfernen return Anweisung aus diesem Teil des Codes. Die Rückgabeanweisung kehrt zurück, ohne den verbleibenden Code auszuführen.

if ($insertdata) { 
    $msg = "<h2 class='alert alert-success'><strong>Success! Data inserted successfuly</strong></h2>"; 
} else { 
    $msg = "<h2 class='alert alert-danger'><strong>Error! No data inserted</strong></h2>"; 
} 

Wird funktionieren !!

0

entfernen Rückkehr, weil das Ergebnis der Ausführung des aktuellen Skripts unter Code

verlässt hinzufügen In Ihrem addstudent.php fügen Sie diesen Code

if(isset($_SESSION['msg'])){ 
    echo $_SESSION['msg']; 
    unset($_SESSION['msg']); 
} 
+0

Vielen Dank. Es funktioniert für mich und danke Agian. –

Verwandte Themen