Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PHP +MYSQL

Сообщения:  [1-10]   [11-14] 

 
 автор: Monkey   (23.11.2008 в 16:11)   письмо автору
 
   для: Trianon   (23.11.2008 в 15:29)
 

<?php
Исправил ошибку вот таким методом знак @ перед session_start();
@session_start();
require_once ("../conf/addition.php"); // описание функций коннекта, и вывод на экран строк. но до этого дело еще не доходит!

echo '<HTML>
<table><br>';
..........

Выход у меня получился не идеальный! Но другого выхода я на данный момент не вижу.

  Ответить  
 
 автор: Trianon   (23.11.2008 в 15:29)   письмо автору
 
   для: Monkey   (23.11.2008 в 15:09)
 

-

  Ответить  
 
 автор: Monkey   (23.11.2008 в 15:09)   письмо автору
 
   для: Trianon   (23.11.2008 в 14:23)
 

Я не могу понять что ему надо
ВОТ ПЕРВЫЙ ФАЙЛ КОТОРЫЙ РЕШАЕТ КУДА ОТПРАВИТЬ ЛИБО
НА ПОВТОРЫЙ ВВОД ЛОГИНА И ПАРОЛЯ ЛИБО НА НОВИГАТОР
<?php
session_start();
require_once ("./conf/connect.php"); # файл с описанем функции коннект
#$_SESSION['connect'] = в результате обритает вид одномерного массива с данными о коннекте
login,passwd,host,db

@$_SESSION['connect']=SQL_connect($_POST['host'], $_POST['login'],

$_POST['passwd'],$_POST['base']);

if (isset($_SESSION['connect'])){
/*Ага вот этого мы впустим*/
require_once './menu.php';
} else /*Возрощаем наз*/
{ require_once './index.html'; }
?>

А вот описание файла MENU.PHP

<?php

if (isset($_SESSION['connect'])) проверка производился ли коннект
{
echo '<html>';

echo '<frameset cols="250,*">.
<frame src="./left.php" name="menu" scrolling=no border=10> // а вот тут должно произойти действие
<frame src="./menu/doc.php" name="right" scrolling=no border=10> //Этот файл пустой
</frameset>
<nofarme>
</html>';
}
else
{require_once './index.html';} /* коннекта небыло посылаем на ввод логина*/
?>

Как видиш сессия открылась в первом файле при сверке авторизации

А вот и описание файла LEFT.PHP в котором то у меня и происходит ошибка

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\localhost\www\tools\test\left.php:1) in z:\home\localhost\www\tools\test\left.php on line 2

Notice: Undefined index: login in z:\home\localhost\www\tools\test\left.php on line 5

И так листинг LEFT.PHP

<?php
$a=array(
array('Товаров','./menu/goods.php'), //
array('Организации',"./menu/doc.php"),
array('Офисы',''),
array('Отделы',''),
array('Сотрудники',''),
array('Склад',''),
array('Виды передвижения',''),
array('Документы',''),
array('Информация о сети','')
);


echo '<HTML><BODY>';
echo '<br>';
echo "Меню склада";
echo '<br>';
echo '<table>';
$i=0;
while (count($a)<>$i)
{
echo '<tr><td><a href="'.$a[$i][1].'" target="right">'.$a[$i][0].'</a></tr></td>';
$i++;
};

echo '</table></BODY></HTML>';

?>

Прищелчке на ссылку "Товарав" открыватся страница
./menu/goods.php а уж в нем то точно нужно знать что такое SESSION а и менно на этой выдает ошибку

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at z:\home\localhost\www\tools\test\menu\goods.php:1) in z:\home\localhost\www\tools\test\menu\goods.php on line 2
&#65279;Array
Notice: Undefined index: connect in z:\home\localhost\www\tools\test\menu\goods.php on line 6

Листонг самого файла GOODS.php его задача создать select - комбобокс, выборку из базы.

Но выборка так и не происходит в результате что SESSION создать не возможно


<?php
session_start();
require_once ("../conf/addition.php"); // описание функций коннекта, и вывод на экран строк. но до этого дело еще не доходит!

echo '<HTML>
<table><br>';
echo '<tr>';
echo '<td>';

echo '</td>';

echo '</tr>';

echo cb_out($_SESSION['connect'],'type_dev','1',

array('book'),
array('id','name'),
array(array("out_storehouse=",'"n"',"and"),array("indicator=",'"i"',"")),
array(''), array('indicator'));
/*<select name="fontsize" size="1">
<option value="">Font size</option>
<option value="8pt" style="font-size: 8pt"> echhd</option>';
*/


echo ' </table> </HTML>';
?>



Вот и все гдето я делаю что то не правильно гдето принцип нужно изменить в книгах особо описаний нет, пишут все должно работать, но конкретных примеров не приводят.
Подскажите хоть что нибудь пожалуйста :-(

  Ответить  
 
 автор: Trianon   (23.11.2008 в 14:23)   письмо автору
 
   для: Monkey   (23.11.2008 в 13:08)
 

>Я беру пример принципа работы PhpMyAdmin.
>так вот у них левый frame на ссилках имеет всевозможные параметры, база данных, таблица и token с длинным параметром.
>Метод GET и POST не умеют передавать массивы а только строчки, не могу же я передавать пароль открытым текстом.
>Но знаю точно в отличии от них у меня пароль авторизации а также логин не лежит в отдельном файле. У меняже происходит сверка с SQL.

>Ну так вот не могли бы вы подсказать как можно передать правым фреймам нужную информацию. Как на подобие token. Я так понимаю это какойто указатель на глобальную переменную.

глобальные переменные не живут между вызовами скриптов.
С некоторой натяжкой можно считать, что так живет лишь массив $_SESSION.

Я бы честно это бы все дело хранил бы в переменной SESSION только во фреймах сталкиваюсь с ошибками, что сессия уже была открыта.

Так не вызывайте session_start() несколько раз.


>Скажу честно до глобальных переменных еще не дошел, и есть ли смысл. Не уничтожется ли она при открытии новой страници?

Она уничтожится по завершении обработки http-запроса.

>Даже на этом форуме на ссылке ответить есть идентификаторы в торох не хранится мой логин и пароль а только id_post и т.д.

На этом форуме логин с паролем гоняются через cookies.

  Ответить  
 
 автор: Monkey   (23.11.2008 в 14:15)   письмо автору
 
   для: Monkey   (23.11.2008 в 13:08)
 

МММ мда я так и думал что самому ковыряться прийдется :-)

  Ответить  
 
 автор: Monkey   (23.11.2008 в 13:08)   письмо автору
 
   для: Trianon   (23.11.2008 в 11:38)
 

И у меня еще один вопрос!

Немного погодя я проверил метод который мы обсуждали выше и понял одно!

Я беру пример принципа работы PhpMyAdmin.

Новигатор полностью передрал у них (я имею ввиду дизайн frame)

так вот у них левый frame на ссилках имеет всевозможные параметры, база данных, таблица и token с длинным параметром.

Метод GET и POST не умеют передавать массивы а только строчки, не могу же я передавать пароль открытым текстом.

Создатели PhpMyAdmin конечно хорошо постарались и код у них сложный. И разобрать откуда этот проект берет переменную token пока я не понял.
Но знаю точно в отличии от них у меня пароль авторизации а также логин не лежит в отдельном файле. У меняже происходит сверка с SQL.

Ну так вот не могли бы вы подсказать как можно передать правым фреймам нужную информацию. Как на подобие token. Я так понимаю это какойто указатель на глобальную переменную. Я бы честно это бы все дело хранил бы в переменной SESSION только во фреймах сталкиваюсь с ошибками, что сессия уже была открыта.

Скажу честно до глобальных переменных еще не дошел, и есть ли смысл. Не уничтожется ли она при открытии новой страници?

Даже на этом форуме на ссылке ответить есть идентификаторы в торох не хранится мой логин и пароль а только id_post и т.д.

  Ответить  
 
 автор: Monkey   (23.11.2008 в 11:49)   письмо автору
 
   для: Trianon   (23.11.2008 в 11:38)
 

Понятно! Спасибо большое будем бараздить пространство дальше :-)

  Ответить  
 
 автор: Trianon   (23.11.2008 в 11:38)   письмо автору
 
   для: Monkey   (23.11.2008 в 11:34)
 

Здесь всё точно также.
Только приложение закрывается каждый раз, когда php заканчивает выдавать очередную страницу.
Т.е. в конце обработки http-запроса.
А вовсе не когда пользователь закрывает окно браузера.

  Ответить  
 
 автор: Monkey   (23.11.2008 в 11:34)   письмо автору
 
   для: Trianon   (23.11.2008 в 11:08)
 

Минуточку давайте разберемся!
все запросы идут из http! mysql_select_db и mysql_connect и т.д. это же ведь модули PHP.

Следовательно запросы на коннект нужно делать всегда, передавая функция самое необходимое для ее осуществления! Я правильно понимаю?

Честно я до этого программировал на Delphi 7, рабоатл с SQL при момощи Mysql.dll, решил программу переделать на WEB, принцип там тотже вот только переменные хранятся до закрытия приложения или уничтжения переменной.

  Ответить  
 
 автор: Trianon   (23.11.2008 в 11:08)   письмо автору
 
   для: Monkey   (23.11.2008 в 10:55)
 

При каждом каком запросе? http или sql?
при каждом http - да.
при каждом sql - нет.

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования