如何使用PHP会话将表单上的数据传输到另一个文件?

时间:2017-12-25 09:31:17

标签: php html css forms session-variables

我正在尝试创建一个充当搜索引擎的表单并返回结果。但是,来自用户条目的数据要么无法保存到会话,要么会话无法传递到其他文件。以下是“主页”搜索页面和“搜索引擎”结果页面的代码。

Home.php

import registerServiceWorker from './registerServiceWorker';

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';

import './styles/index.css';

import Field from './components/Field/Field';
import store from './store/index';

ReactDOM.render(
    <Provider store= {store}>
        <Field/>
    </Provider>,
    document.getElementById('root')
);
registerServiceWorker();

搜索-Engine.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>

1 个答案:

答案 0 :(得分:1)

我不知道在您的表单中使用Sessions的确切目的。但是你通过在页面中间启动Session并在表单中使用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>