2017-12-25 14 views
1

私は検索エンジンとして機能し、結果を返すフォームを作成しようとしています。ただし、ユーザーのエントリからのデータがセッションに保存できないか、セッションを別のファイルに渡すことはできません。 「ホーム」検索ページと「検索エンジン」の結果ページのコードは次のとおりです。PHPセッションを使用して、あるファイルのフォームから別のファイルへデータを搬送する方法は?

Home.php

<html lang="en-US"> 
    <html> 
    <head> 
    </head> 
    <body> 
    <form action="Search-Engine.php" method="GET"> 
    <input type="text" id="query" placeholder="I'm looking for..." onkeydown = "if (event.keyCode == 13) document.getElementById('searchbtn').click()"> 
    <input type="submit" id="searchbtn" value="Search"> 
    </form> 
    <?php session_register(); session_start(); ?> 
    <?php $_GET['query'] = $_SESSION['Query']; ?> 
    </body> 
    </html> 

検索-Engine.php

<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<div class="results"> 
<?php session_start(); ?> 
We could not find: <?php echo $_SESSION['Query']; ?> 
</div> 
</body> 
</html> 
+0

拡張子は.htmlで、なぜそのような値を渡すためにセッションを使用していますか?あなたはちょうどそれを投稿を使ってフォーム自体から渡すことができますか? –

+0

セッションを使用するためにHome.htmlの拡張子をHome.phpのようにPHPに更新します。 –

+0

私は、PHPセッションレジスタを移動し、ファイルの名前をphpファイルとして変更しても、同じ結果になります。 – Capattax

答えて

1

私はあなたの形式でSessionsを使用しての正確な目的を知りません。しかし、あなたは間違ったやり方で、ページの途中でセッションを開始し、フォーム内のセッションを使用しています。フォームを送信した後、別のページのセッションに値を追加できます。

あなたは、以下の方法であなたのファイルを更新することができます:あなたのファイル名がで命名されているため、あなたは多分それを考えていました

Home.php

<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<form action="Search-Engine.php" method="GET"> 
<input type="text" name="query" id="query" placeholder="I'm looking for..." onkeydown = "if (event.keyCode == 13) document.getElementById('searchbtn').click()"> 
<input type="submit" id="searchbtn" value="Search"> 
</form> 
</body> 
</html> 

検索-Engine.php

<?php session_start(); 
$_SESSION['Query'] = $_GET['query']; ?> 
<html lang="en-US"> 
<html> 
<head> 
</head> 
<body> 
<div class="results"> 
We could not find: <?php echo $_SESSION['Query']; ?> 
</div> 
</body> 
</html> 
+2

属性は名前でなければなりません。 –

+0

@Sidzlerはい、あなたは正しいです!ありがとう –

関連する問題