Вы ищете переменные POST и GET, это делается в параметре метода вашей HTML-формы:
login.php
<form name="myform" action="secondpage.php" method="post">
<div>Username: <input type="text" name="username" value="" /></div>
<div>Password: <input type="password" name="password" value="" /></div>
</form>
Тогда на этой другой странице:
secondpage.php
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
if ($username != '') {
// do your validations here
}
Объяснение
Когда вы используете метод GET, параметры видны в URL, поэтому, скажем, мы изменили метод = "GET" в login.php, в результате вы получите что-то вроде secondpage.php? Username = jsmith & password = 1234. И тогда вы можете получить значения, используя $_GET['username']
.
Использование POST позволяет отправлять большее количество данных (существует неопределенное ограничение на размер URL), и оно не отображается в URL. Однако следует помнить, что все еще отправляется в виде простого текста , поэтому это не означает, что он безопасен.
POST и GET были сделаны для разных целей. GET следует использовать для извлечения информации, которую вы, возможно, захотите извлечь в будущем, информацию, которая не является особенной для этого момента. Полезно иметь mypage.php? Product = 123, потому что вы, возможно, захотите отправить этот URL другу. POST следует использовать, когда вы будете изменять состояние данных: обновлять продукт, создавать нового пользователя, удалять статью и так далее. Это то, что вы хотите, чтобы произошло однажды.
Структура
В заключение я просто хочу добавить, что обычно вам не обязательно использовать другой скрипт PHP, чтобы избежать запуска какого-либо кода или нет. Поэтому, не зная специфики вашего проекта, я тем не менее могу сказать, что вы, вероятно, захотите сделать что-то подобное, чтобы извлечь выгоду из того же кода (например, HTML-код формы).
Обратите внимание, это упрощенный код.
login.php
<?php
$error = false;
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
// if, and only if something was posted... so not on first display
if ($username != '') {
// do your validations here
if ($properlyLogged) {
session_start();
$_SESSION['loggedAt'] = time();
header('Location: http://localhost/secondpage.php');
exit();
} else {
$error = true;
}
}
?>
<?php if($error): ?>Login failed. Please try again.<?php endif; ?>
<form name="myform" action="login.php" method="post">
<div>Username: <input type="text" name="username" value="<?php echo($username) ?>" /></div>
<div>Password: <input type="password" name="password" value="" /></div>
</form>
secondpage.php
<?php
session_start();
if (!isset($_SESSION['loggedAt'])) {
// if not properly logged in, return user to login
header('Location: http://localhost/login.php');
exit();
}
?>
You are now logged in!
Надеюсь, это то, что вы искали!