include выполняет код из файла…
Можно на примере продемонстрировать это? Есть переменная
$login
в файле index.php эта переменная используется для подключения к базе данных. После отправки данных в файл insert.php для подключение к БД опять нужна эта переменная. Как реализовать?
// Вариант 1 Для случая когда один скрипт не вызывает другой
// как показывает практика новичкам наиболее неясный
// В этом скрипте вычисляетсянечто (тут блаблаблабла) и сохраняется
// в переменной СЕССИИ на стороне сервера – все это так устроено что сессия через куки ассоциируется только с определенным браузером и больше никто (в теории) не получит и не узнает значение переменной
< ? php
/// чтото расчитали и так далее
session[" name "]= "БлаБлаБлаБла" ;
/// скрипт закончил работу – на серваке к данному персу сохранено значение переменной name в СЕССИИ
? >
// Во втором скрипте нужно узнать значение переменной, вычисленной в предыдущем скрипте – ничего военного – просто обратная операция присваивания )))
Илюшка, да, логин. Смысл в том что и в файле index.php и в файле insert.php мне нужна $login. Только вот в файле insert.php строка
$login= $_POST["1"];
этой переменной нормально присваивается значение, а вот в файле insert.php ,куда передаются введеные пользователем данные в БД, уже ни значения переменной логина нету и не вижу возможности взять эту переменную:-(
Сергей, строка $login= $_POST["1"]; в файле insert.php не работает:-( В index.php эта строка работает.
$_GET?
include?
через временные файлы?
include выполняет код из файла…
Можно на примере продемонстрировать это? Есть переменная
$login
в файле index.php эта переменная используется для подключения к базе данных. После отправки данных в файл insert.php для подключение к БД опять нужна эта переменная. Как реализовать?
сессии?)
Я не могу понять смысл)))
Имеется ввиду, например, логин пользователя?
через POST или GET запрос… но тогда придётся многое проверять, если она где-то затеряется…
лучше всего в куки записать и не париться…
ууу… как все запущено…
// Вариант 1 Для случая когда один скрипт не вызывает другой
// как показывает практика новичкам наиболее неясный
// В этом скрипте вычисляетсянечто (тут блаблаблабла) и сохраняется
// в переменной СЕССИИ на стороне сервера – все это так устроено что сессия через куки ассоциируется только с определенным браузером и больше никто (в теории) не получит и не узнает значение переменной
< ? php
/// чтото расчитали и так далее
session[" name "]= "БлаБлаБлаБла" ;
/// скрипт закончил работу – на серваке к данному персу сохранено значение переменной name в СЕССИИ
? >
// Во втором скрипте нужно узнать значение переменной, вычисленной в предыдущем скрипте – ничего военного – просто обратная операция присваивания )))
< ? php
$ name =session[ "name" ];
echo $ name; // выдаст блаблабла
? >
Важно помнить – что обработка переменных таким образом проводиться должна желательно до отправки сервером содержимого браузеру.
Собственно учите матчасть – и все получится. в том числе и GET POST и XmlHttpRequest (что даст Вам AJAX)
Если же Вы работаете с формами – тут еще проще
< form ACTION="имяВашегоСценария.php" method = POST >
< i n p u ttype = text id = login size= 30 />
< i n p u ttype = submit />
</form>
// это форма 1
// в сценарии обработки Вы получите ПОСТом переменную с именем login
< ? php
e c h o $_POST[" l o g i n "] ; // пробелы вставлены для наглядности и обхода парсера контакта
?>
Илюшка, да, логин. Смысл в том что и в файле index.php и в файле insert.php мне нужна $login. Только вот в файле insert.php строка
$login= $_POST["1"];
этой переменной нормально присваивается значение, а вот в файле insert.php ,куда передаются введеные пользователем данные в БД, уже ни значения переменной логина нету и не вижу возможности взять эту переменную:-(
Сергей, строка $login= $_POST["1"]; в файле insert.php не работает:-( В index.php эта строка работает.
< ? php
$ name = session[ "name" ];
echo $ name; // выдаст блаблабла
? >
Как это реализовать в моём примере? Как по мне он легче нежели первый вариант:-)
Смотри…
index.php :
<?php
session_start(); // стартуем сессии (по всем вопросам – php.net )
if (isset($_POST['login'],$_POST['pass'])){
//ну тут всякие проверки, работа с бд, и пр ерунда… потом
$_SESSION['log']=$_POST['login'];
$_SESSION['pass']=$_POST['pass'];
echo '<a href="insert.php">Ссылка</a>';
}
echo '<form action="" method="POST">
Логин:<input type="text" name="login"><br>
Пароль:<input type="password" name="pass"><br>
<input type="submit" value="Вход">
</form>';
?>
insert.php :
<?php
session_start(); // восстанавливаем сессию
echo 'логин: '.$_SESSION['log'];
echo 'пароль: '.$_SESSION['pass']
?>
Что-то типа того…
поправка – в теге формы укажите ACTION= insert . php Иначе неясно что вызывать нужно дл обработки формы
старт сессии в 5ом пхп можно не делать
Немного иначе исправил… ссылку сделал просто)
Не всё как тут написано я естественно сделал, но на верную мысль навели и всё работает, за что вам и спасибо!
method post или get, все зависит что делать собираешься и какой метод по душе