Warum muss “if-statement” “sterben”, sonst wird nicht funktionieren?

if ($_GET['api'] == 'json' && isset($_GET['id'])) { $post = get_post($_GET['id']); // $post contains the post object header("content-type: application/json"); echo json_encode($post); } die(); 

Dieser Code funktioniert, aber wenn ich erweitern möchte, wird es nicht funktionieren Im zweiten Fall (unten), wenn ich schreibe
?second=case&id=204 zur url ich bekomme Unexpected aber wenn ich schreibe ?first=case&id=204 bekomme ich die Anfrage

 if (isset($_GET['api'])) { if ($_GET['first'] == 'case' && isset($_GET['id'])) { // $query is the WP_Query Object $post = get_post($_GET['id']); // $post contains the post object header("content-type: application/json"); echo json_encode($post); } if ($_GET['second'] == 'case' && isset($_GET['id'])) { // $query is the WP_Query Object $post = get_post($_GET['id']); // $post contains the post object header("content-type: application/json"); echo json_encode($post); } die(); } 

Solutions Collecting From Web of "Warum muss “if-statement” “sterben”, sonst wird nicht funktionieren?"

Höchstwahrscheinlich liegt es einfach daran, dass $_GET['first'] nicht definiert ist, wenn Sie mit ?second=case&id=204 versuchen.

Probieren Sie stattdessen diesen CODE aus (vorausgesetzt, dass der first und der second nicht gleichzeitig angezeigt werden):

 if (isset($_GET['api'])) { if (isset($_GET['first']) && $_GET['first'] == 'case' && isset($_GET['id'])) { // $query is the WP_Query Object $post = get_post($_GET['id']); // $post contains the post object header("content-type: application/json"); echo json_encode($post); } else if (isset($_GET['second']) && $_GET['second'] == 'case' && isset($_GET['id'])) { // $query is the WP_Query Object $post = get_post($_GET['id']); // $post contains the post object header("content-type: application/json"); echo json_encode($post); } die(); }