2017-05-10 13 views
-2

i $ _GET verwenden, um die Kategorien-ID zu bekommen und es ist funktioniert, aber wenn ich es in den Header Location hinzufügen es irgend etwas nicht angezeigt ist, wird der Code:

if(isset($_POST['topicId'])){ 
    $id = $_POST['topicId']; 

    $stmt = $con->prepare("DELETE FROM topics WHERE topic_id = ?"); 
    $stmt->bind_param("i", $id); 
    $stmt->execute(); 

    $categoryId = $_GET['id']; 
    header ("Location: topics_categories.php?id=".$categoryId); 
    $stmt->close(); 
    $con->close(); 
} 

und die Links erscheinen wie folgt aus:

topics_categories.php?id= 

Es scheint nicht alles nach dem id =

+0

Können Sie bestätigen, dass Daten in '$ categoryId' enthalten sind? echo es aus, um sicherzustellen, – Derek

+0

Sie versuchen, eine Endlosschleife aus dem Nichts zu erstellen. Es springt einfach hin und her und versucht herauszufinden, "was" sollte sein Wert sein. –

+0

Ihr Code sollte funktionieren, solange es bereits eine ID in der URL gibt - wenn es keine gibt, wird es auch keine anzeigen. Sie müssen den vollständigen Code zeigen - zum Beispiel woher kommt das '$ _GET ['id']'? – junkfoodjunkie

Antwort

1

So eine Antwort aus meinem Kommentar zu machen,

Was behoben wurde, war die categoryId wurde nicht auf der zweiten Form übergeben übergeben.

dass zu beheben, setzen Sie ein verstecktes Eingabefeld:

<input name="id" value="<?php echo @$_GET['categoryId']; ?>" 

deshalb wird es das erste Mal, und trägt mehr als auf dem zweite Formular eingestellt werden.