2016-06-03 4 views
1

Daten verschwinden, wenn ich das Formular neu lade/aktualisiere.Daten verschwinden von in in PHP nach Seitenaktualisierung

Meine Anfrage zum Abrufen von Daten ..

public function view_detail() 
    { 
     $qry=$this->conn->prepare("SELECT * FROM student_detail WHERE Student_Cnic=:search OR Student_Name=:search"); 
     $qry->bindParam(':search',$this->stsearch); 

     $qry->execute(); 
     return $qry; 
    } 

Die Form von wo ich Daten sende

<form action="view.php" method="post" id="view_form"> 
          <br> 
          <label for="">View By Name or CNIC</label> 
          <input type="text" class="form-control" name="stu-view" id="stu-view" placeholder="Student Name or CNIC"><br> 

          <input type="submit" name="view-detail" id="view-detail" class="btn btn-success" value="Enroll"><br> 
         </form> 

Die Form, wo ich Daten

<?php 
include 'header.php'; 
include 'config.php'; 
include 'classes.php'; 
$database=new Database(); 
$db=$database->getConnection(); 
$gtstu=new stu_sys($db); 

if(isset($_POST['stu-view'])) 
{ 
$_SESSION['stusearch'] = $_POST['stu-view']; 
if(isset($_SESSION['stusearch'])){ 
    $gtstu->stsearch = $_SESSION['stusearch']; 
} 
} 
$fth = $gtstu->view_detail(); 


?> 


<div class="row"> 
    <div class="col-lg-12"> 

     <div class="col-lg-2"></div> 
     <div class="col-lg-8" style="margin-top: 10%;"> 

      <table class="table table-responsive table-bordered"> 
       <th>Image</th> 
       <th>Name</th> 
       <th>Cnic</th> 
       <th>Department</th> 
       <th>View Detail</th> 
       <?php while($row = $fth->fetch(PDO::FETCH_OBJ)):?> 
       <tr> 
        <td><img src="images/<?php echo $row->Student_Image; ?>" alt=""/></td> 
        <td><?php echo $row->Student_Name ?></td> 
        <td><?php echo $row->Student_Cnic ?></td> 
        <td><?php echo $row->Deprt ?></td> 
        <td><a href="#">View More Detail</a></td> 
       </tr> 
       <?php endwhile;?> 
      </table> 
      <a href="dashboard.php" class="btn btn-primary">Back TO Dashboard</a> 
     </div> 
     <div class="col-lg-2"></div> 

    </div> 

</div> 











<?php 
include 'footer.php' 
?> 
bin bevöl

ich weiß nicht, warum das Formular leer wird, bedeutet, wenn ich die Seite neu lade die Daten gelöscht ..

Jede Hilfe wird geschätzt.

+0

Wenn Sie das Formular abschicken, werden die Daten auf dem php Server gesendet und wenn Sie die Seite aktualisieren, verlieren die Daten. Sie sollten die Sitzung für diesen Zweck verwenden. –

+2

Das Formular, in dem die Daten ausgefüllt werden, funktioniert aus einem einfachen Grund nie: Sie enthalten 'session_start();' nicht am Anfang des Codes. Bei einer Seitenaktualisierung werden die Sitzungen also zerstört. – icecub

+0

danke @icecub Ich habe vergessen, die Sitzung auf der Seite hinzuzufügen. – msz

Antwort

0
if(isset($_POST['stu-view'])) 
{ 
    $_SESSION['stusearch'] = $_POST['stu-view'];  
} 

// Move this out 
if(isset($_SESSION['stusearch'])){ 
    $gtstu->stsearch = $_SESSION['stusearch']; 
    } 

Ich würde annehmen, dass Sie die Daten im Formular nicht erneut senden. Sie erhalten also nicht die Daten aus der Sitzung, weil Sie nur die Sitzung betrachten, wenn die Daten gesendet werden,

+0

noch gleiches Ergebnis – msz

0

Angenommen, Sie sprechen über das Formular, aus dem Sie "Daten senden", sollten Sie ein Wertattribut hinzufügen (stu-Ansicht) und mit dem vorgelegten Suchwert bevölkert also hinzufügen:

value="<?php echo $_SESSION['stusearch']; ?>" 
0

die Form, wo die Daten sind bevölkert wird nie einen einfachen Grund für Arbeit: Sie sind mit session_start nicht(); ganz oben in deinem Code. Bei einer Seitenaktualisierung werden die Sitzungen also zerstört.

Mein Fehler: vergaß ich session_start() oben auf der Seite hinzuzufügen.

Verwandte Themen