2017-12-11 9 views
0

Ich bin Neuling in PHP-Code. Ich habe einen Eingabetext erstellt, um die gewünschten Daten aus der Datenbank zu suchen, und auch eine Schaltfläche zum Löschen, um die ausgewählten Daten von der Seite zu löschen. Alle Funktionen funktionieren einwandfrei, aber nachdem ich auf die Schaltfläche Löschen geklickt habe, wurden die ausgewählten Daten gelöscht und dieser Fehler ist aufgetreten.Hinweis: Undefinierter Index: Suche

Notice: Undefined index: Suche in C: \ xampp \ htdocs \ FinalProject \ search.php on line 114

Hier ist mein Code:

search.php

<?php 
$con =mysqli_connect("localhost","root","","reservation"); 
$set =$_POST['search']; 
if ($set) { 
$show = "SELECT * FROM reserve WHERE Username = '$set'"; 
$result = mysqli_query($con, $show); 
while ($row=mysqli_fetch_array($result)){ ?> 
<tr> 
      <td><?php echo $row['ID']; ?></td> 
      <td><?php echo $row['Username']; ?></td> 
      <td><?php echo $row['Person']; ?></td> 
      <td><?php echo $row['Book_date']; ?></td> 
      <td><?php echo $row['Book_time']; ?></td> 
      <td><?php echo $row['Table_no']; ?></td> 
      <td><?php echo $row['Cus_acc']; ?></td> 
      <td><?php echo $row['Cus_food']; ?></td> 
      <td><?php echo $row['Cus_drink']; ?></td> 
      <td><?php echo $row['Cus_request']; ?></td> 
      <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>">Delete</a></td> 
</tr> 
<?php } ?> 
<?php } ?> 

reseacrh_del.php

<?php 
$con = mysqli_connect('localhost','root','','reservation'); 
if (isset($_GET['del'])) { 
     $ID = $_GET['del']; 
     mysqli_query($con, "DELETE FROM reserve WHERE ID=$ID"); 
     $_SESSION['msg'] = "Delete Successful."; 
     header("location: search.php"); 
    }  
?> 

helfen mir Jemand bitte .. Danke

+0

Sie diese Mitteilung erhalten, da nach dem Löschen, wenn Sie Ihre Suchseite umleiten, es '_POST $ erfordert [ 'Suche']' Variable, die dabei ist, Fall fehlt – pravindot17

+0

faulen Weg: '$ set = @ $ _ POST ['Suche'];' – Faytraneozter

+0

Ihre Abfragen sind nicht sicher, weil Sie sie roh von Benutzer gesendeten Daten füttern. Verwenden Sie vorbereitete Anweisungen mit Platzhaltern aus Sicherheitsgründen. – mickmackusa

Antwort

0

Überprüfen Sie dies wird Ihnen helfen: Hier gebe ich Ihren Benutzernamen auf der Seite zu löschen, und von dort Weiterleitung auf der Suchseite, wo müssen Sie entweder die gleiche Variable in Bedingung search.php

<?php 
$con =mysqli_connect("localhost","root","","reservation"); 
$set = !empty($_POST['search']) ? $_POST['search'] : (!empty($_GET['search']) ? $_GET['search'] : null); 
if ($set) { 
$show = "SELECT * FROM reserve WHERE Username = '$set'"; 
$result = mysqli_query($con, $show); 
while ($row=mysqli_fetch_array($result)){ ?> 
<tr> 
      <td><?php echo $row['ID']; ?></td> 
      <td><?php echo $row['Username']; ?></td> 
      <td><?php echo $row['Person']; ?></td> 
      <td><?php echo $row['Book_date']; ?></td> 
      <td><?php echo $row['Book_time']; ?></td> 
      <td><?php echo $row['Table_no']; ?></td> 
      <td><?php echo $row['Cus_acc']; ?></td> 
      <td><?php echo $row['Cus_food']; ?></td> 
      <td><?php echo $row['Cus_drink']; ?></td> 
      <td><?php echo $row['Cus_request']; ?></td> 
      <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>&username=<?php echo $row['Username']; ?>">Delete</a></td> 
</tr> 
<?php } ?> 
<?php } ?> 

reseacrh_del.php

<?php 
$con = mysqli_connect('localhost','root','','reservation'); 
if (isset($_GET['del'])) { 
     $ID = $_GET['del']; 
     mysqli_query($con, "DELETE FROM reserve WHERE ID=$ID"); 
     $_SESSION['msg'] = "Delete Successful."; 
     header("location: search.php?search=".$_GET['username']); 
    }  
?> 
+0

Oh Gott ... Danke dir, es funktioniert .. –

+0

Ich bin froh, es wäre toll, wenn Sie es als Antwort akzeptieren – pravindot17

+0

ja..das ist der Code und Ausgabe, was ich suche und vielen Dank –

0

Testen Sie die Existenz von Daten in $ _POST Variable vor _POST $ beeinflussen [ 'Suche'] auf $ test:

<?php 
$con =mysqli_connect("localhost","root","","reservation"); 

if (!empty($_POST)) { 
$set =$_POST['search']; 
$show = "SELECT * FROM reserve WHERE Username = '$set'"; 
$result = mysqli_query($con, $show); 
while ($row=mysqli_fetch_array($result)){ ?> 
<tr> 
      <td><?php echo $row['ID']; ?></td> 
      <td><?php echo $row['Username']; ?></td> 
      <td><?php echo $row['Person']; ?></td> 
      <td><?php echo $row['Book_date']; ?></td> 
      <td><?php echo $row['Book_time']; ?></td> 
      <td><?php echo $row['Table_no']; ?></td> 
      <td><?php echo $row['Cus_acc']; ?></td> 
      <td><?php echo $row['Cus_food']; ?></td> 
      <td><?php echo $row['Cus_drink']; ?></td> 
      <td><?php echo $row['Cus_request']; ?></td> 
      <td><a class="del_btn" href="reserve_del.php?del=<?php echo 
$row['ID']; ?>">Delete</a></td> 
</tr> 
<?php } ?> 
<?php } ?> 
Verwandte Themen