test1.php
<?php
//dbconnection
$q = "SELECT * FROM user WHERE user_id = 1";
$r = mysqli_query($dbc, $q);
$row = mysqli_fetch_array($r, MYSQLI_ASSOC);
echo $row['user_name'].'<a href="test2.php" target="_blank">more..</a>';
?>
Я хочу передать имя пользователя test2.php без формы. Как передать имя пользователя в скрытое поле в test1.php и показать имя пользователя в test2.php?
Вы можете сохранить значения в сеансе и вытащить его на странице test2.php
, используя глобальный $_SESSION
.
В test1.php
что-то вроде этого
<?php
session_start(); // This has to be the first thing called in PHP
// Connection and query goes here
$_SESSION['user_name'] = $row['user_name'];
?>
И в test2.php
<?php
session_start();
echo $_SESSION['user_name'] ." was sent from test1.php";
// unset($_SESSION['user_name']);
// This line above removes the session-variable, and it has to be set again if you want to use it further.
?>
Обратите внимание, что session_start();
должен быть вызван на всех страницах, пытающихся получить доступ к глобальным значениям $_SESSION
, и что это должно быть первое, что вызвано в вашем PHP-скрипте. Сеансы могут быть доступны по всему миру, и не ограничиваются одной страницей.
есть несколько способов сделать это
вы можете сделать start_session();
а потом
делать
$_SESSION['user_name'] = $row['user_name'];
и на test2.php вы можете просто сделать (предполагая, что вы начали сеанс там с start_session();
)
echo $_SESSION['user_name'];
Вы также можете сделать
echo $row['user_name'].'<a href="test2.php?user_name='.$row['user_name'].'" target="_blank">more..</a>';
И на test2.php вы можете сделать
echo $_GET['user_name'];
GET