これは説明するのが非常に難しい問題です。
全体像: ajax 化されたダイアログがページに送信され、新しいコンテンツ セット レコードが作成されます。コンテンツ セット レコードの作成後、この新しく作成されたコンテンツ セットは選択されたコンテンツ セットである必要があり、作成または変更されたすべてのコンテンツには、新しく作成されたコンテンツ セット ID が添付されている必要があります。コンテンツ セット ID は、ページの読み込み中に MySQL の自動インクリメント フィールドを使用して作成されます。
問題の詳細: ajax を使用してコンテンツ セット作成ダイアログを表示するページがあります。ダイアログは複数の場所から呼び出される可能性があるため、空白の URL に送信されます。ダイアログが呼び出された URL に送信されるようにします。ダイアログが呼び出し元のページに送信された後、ページ上の PHP によって、MySQL データベースにコンテンツ セット レコードが作成されます。新しく作成されたレコードの挿入 ID を GET 変数を使用してページからページに渡す必要があります (既にこの方法でページネーション変数を渡しているため、最も簡単な方法です) が、挿入 ID を取得する前にページをロードする必要があるため、 GET 変数が存在する必要があるすべての場所を設定する方法 (ページ リンク、php $_GET 変数、URL)。
考慮すべき事項:
- 新しく作成された挿入 ID をセッション変数を介して渡しますが、誰かが [戻る] ボタンを押したときに問題が発生し、セッション変数が以前の値に戻らない場合を除きます。
- Javascript と PHP を使用して、この挿入 ID 変数が使用されるさまざまな場所を変更しますが、空の URL に送信される別の ajaxed ダイアログをプルする場合を除き、空の URL にはもちろん新しい GET 変数がありません。また、これは非常にずさんなようで、維持するのは悪夢です。
- レコードの作成後、新しい GET 変数を追加した後、同じページにリダイレクトしますが、POST 変数を渡すことができないため、エラー メッセージと成功メッセージがお尻の完全な苦痛になります。GET vars は $_SERVER['QUERY_STRING'] と空のリンクを使用してページ間で渡されるため、表示するエラー/成功メッセージをページに伝えるために GET vars を使用したくありません。
- 新しく作成したコンテンツ セットを作成後に自動ロードすることができませんでした。これにより、ユーザーは、新しく作成されたコンテンツ セット自体を読み込むという余分な手順を実行することになりますが、これは避けたいと思います。
これに対するエレガントな解決策はありますか?この問題は、ウェブサイトの設定方法が原因で非常にユニークな場合がありますが、誰かが同様の問題に対処している必要があります. この 1 つの小さな問題を解決するために、サイトのデザインをあまり変更する必要がないことを願っています。どんなアイデアでも大歓迎です。