私は PHP と JavaScript プログラミングが初めてで、ユーザーからの入力に基づいて「abc」、「aac」、「aaa」などの文字列を持っています。ユーザーがいくつかのボタンをクリックした後 (送信など)、文字列に基づいて www.domain.com/abc または www.domain.com/aac のような動的リンクを生成し、ユーザーを生成されたリンクに移動します。これは可能ですか?ありがとうございました
5 に答える
最初にpage1.html
:
<form method="post" action="page2.php" >
String: <input type="text" name="string" />
<input type="submit" />
</form>
次にpage2.php
:
header('location:www.domain.com/string/'.$_POST['string']);
ただし、.htaccess
以下を含むものを配置する必要があります。
Redirect /string/(.+) /page3.php?string=$1 [B,QSA]
そしてpage4.php
:
echo $_GET['string'];
ルーティングを使用して可能です。実際の例として、ユーザー名が Facebook などのソーシャル サイトの URL の一部になる方法があります。
必要なのは、文字列を格納するためのある種のデータベースであり、その文字列を受信したときに何をロードするかをサーバーに伝えるための一致したデータ (ID または特定されたものである可能性があります) です。文字列を含む特定のセグメントを検索するために URL 全体を解析するルーティング コードも必要です。これは、CodeIgniter、Connect、Express などのフレームワークでルーティングが機能する方法です。
JS では、Connect のルーターは次のようになります。
app.route('/users/:username',function(username){
//okay! we got the username!
//now we'll look for it in the database if it's there
});
PHPについては、URL 解析に関する記事を参照してください。
はい、可能です。ユーザーが [送信] をクリックしたときに、POST または GET をスローする文字列変数を渡し、文字列を結合して必要なリンクをエコーすることができます。PHP を使用する場合は、例を見てください。
$adress = "www.domain.com/";
$string = $_POST["get_string"];
$result = $adress + $string;
echo $result;
実際に関数を定義して、フォーム アクションを設定することができます。header('location:YOUR_SITE_URL/'.$_GET['user_input']); die;
次に、ユーザー入力を取得すると、ユーザーを目的のURLにリダイレクトするために使用する関数が実際にはそれぞれになります。
それが役立つことを願っています。