[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не работает swich case
Floyd
Задача: В одном div-e при определенном значении переменной $choice грузить соответствующие скрипты.

Главный скрипт choice.php

<?php
if($choice=="")include "scripts/authorization.php";
else
{
switch($choice)
{
case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}
}

?>


Скрипт authorization.php

...
if(mysql_num_rows($result) > 0)
{
$choice="information";
}
...


При запуске грузит authorization.php,но при изивенении значения переменной $choice="information"; Свич не запускает include "scripts/information.php"; ((( Где ошибка?
И как избавиться от нотиса Notice: Use of undefined constant string - assumed 'string' in *** on line 2 при старте.



Спустя 1 час, 1 минута, 58 секунд (24.05.2011 - 22:40) Floyd написал(а):
Подправил немного choice.php,но толку мало(

<?php

switch($choice)
{
default:
include "scripts/authorization.php";

case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}
?>

Спустя 7 минут, 23 секунды (24.05.2011 - 22:47) Floyd написал(а):
Цитата (Floyd @ 24.05.2011 - 19:40)
Подправил немного choice.php,но толку мало(

<?php

switch($choice)
{
default:
include "scripts/authorization.php";

case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}
?>

После этого изменнения начало дублировать скрипт авторизации.В диве появились две формы авторизации.

Что-то я совсем запутался...

Спустя 3 минуты, 44 секунды (24.05.2011 - 22:51) Игорь_Vasinsky написал(а):
У тя сам принип авторизации и сего остального оригинально построен wink.gif
вот почитай хотябы на примере этого http://irbis-team.com/15/10/3?PHPSESSID=4c...3ab3712ac9ca7b4

Спустя 7 минут, 13 секунд (24.05.2011 - 22:58) Floyd написал(а):
Цитата (Игорь_Vasinsky @ 24.05.2011 - 19:51)
У тя сам принип авторизации и сего остального оригинально построен wink.gif
вот почитай хотябы на примере этого http://irbis-team.com/15/10/3?PHPSESSID=4c...3ab3712ac9ca7b4

Я не могу понять почему оператор выбора не реагирует .Вроде ничего сложно нет,пару строк всего. В чем же проблема?

Спустя 6 минут, 45 секунд (24.05.2011 - 23:05) Игорь_Vasinsky написал(а):
а ты как $choice объявляешь? сделай её вывод на странице - посмотри что она даёт.

Ну если ты в GET её пихаешь - то можешь даже не мучится на авторзацией... так - только кнопки запомнишь а клавиатуре - а от неё толку не будет.

Или сессия?

Спустя 10 минут, 40 секунд (24.05.2011 - 23:16) Floyd написал(а):
Цитата (Игорь_Vasinsky @ 24.05.2011 - 20:05)
а ты как $choice объявляешь? сделай её вывод на странице - посмотри что она даёт.

Ну если ты в GET её пихаешь - то можешь даже не мучится на авторзацией... так - только кнопки запомнишь а клавиатуре - а от неё толку не будет.

Или сессия?

Блин в этом и была наверное роблемма.Я ее просто объявлял $choice=string;Из-за этого и нотис все время выпрыгивает... Так-как правильно сделать? В скриптах через post,а в choise.php через GET считывать или через post тоже?

Спустя 7 минут, 18 секунд (24.05.2011 - 23:23) Игорь_Vasinsky написал(а):
через GET передовай либо в action формы: action = "?choise=autorisation"
либо по ссылке GET этот добисывай, а чтоб нотиса не было:

//тернарный оператор.
$choise = isset($_GET['choise']) ? $_GET['choise'] : null;

switch($choice)
{
default: include "scripts/authorization.php";
break;

case "authorization": include "scripts/authorization.php";
break;

case "information": include "scripts/information.php";
break;

case "registration": include "scripts/registration.php";
break;
}

Спустя 4 минуты (24.05.2011 - 23:27) Floyd написал(а):
Цитата (Игорь_Vasinsky @ 24.05.2011 - 20:23)
через GET передовай либо в action формы: action = "?choise=autorisation"
либо по ссылке GET этот добисывай, а чтоб нотиса не было:

//тернарный оператор.
$choise = isset($_GET['choise']) ? $_GET['choise'] : null;

switch($choice)
{
default: include "scripts/authorization.php";
break;

case "authorization": include "scripts/authorization.php";
break;

case "information": include "scripts/information.php";
break;

case "registration": include "scripts/registration.php";
break;
}

Спасибо огромное буду пробовать.Немогу еще привыкнуть что простое объявление переменных не доступно в других скриптах.

Спустя 21 час, 12 минут, 9 секунд (25.05.2011 - 20:39) Floyd написал(а):
Если так пишу в choice.php
<?php 
$choice = isset($_POST['choice']) ? $_POST['choice'] : null;

switch($choice)
{
case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}

?>


то на нажатие кнопки в authorization.php нет никаких реакций

if(mysql_num_rows($result) > 0)
{
$_POST['choice']="information";
exit();
}

Спустя 34 минуты, 30 секунд (25.05.2011 - 21:13) Renden написал(а):
Мб надо так, я хз)
И почему у тя пост, а не гет?

if(isset($_POST['choise'])) {
$choise = $_POST['choise'];
switch($choice)
{
case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}
}


Спустя 6 минут, 18 секунд (25.05.2011 - 21:20) Floyd написал(а):
Цитата (Renden @ 25.05.2011 - 18:13)
Мб надо так, я хз)
И почему у тя пост, а не гет?

if(isset($_POST['choise'])) {
$choise = $_POST['choise'];
switch($choice)
{
case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;
}
}


Спасибо,но тоже самое.Использую пост,так-как не хочу что-бы данные были видны в урле.

Спустя 3 минуты, 26 секунд (25.05.2011 - 21:23) Renden написал(а):
Floyd
Неужели нотисы остались, или тебе что-то другое надо сделать?
Объясни что ты хочешь и выложи полный код пожалуйста smile.gif

Спустя 6 минут, 27 секунд (25.05.2011 - 21:30) sergeiss написал(а):
Хоть кто-нибудь заметил, что default у автора темы идет первым в списке выбора, а должен быть последним???

А во-вторых, перед анализом данных выведи переменную $choice и посмотри, что в ней содержится. Возможно, что там что-то не совсем то, что ты ожидаешь.

Плюс к этому, в начале темы ты пишешь $choice, в конце темы $choise... Да иногда вообще вперемешку smile.gif Ты уж определись, как тебе больше нравится smile.gif

Спустя 5 минут, 7 секунд (25.05.2011 - 21:35) Floyd написал(а):
Цитата (Renden @ 25.05.2011 - 18:23)
Floyd
Неужели нотисы остались, или тебе что-то другое надо сделать?
Объясни что ты хочешь и выложи полный код пожалуйста :)

Нотисов нет,при нажатии на кнопку в authorization.php пустой див и все..

Еще раз привожу код обработчика кнопки

if(mysql_num_rows($result) > 0)
{
$_POST['choice']="information";
exit();
}

Спустя 3 минуты, 20 секунд (25.05.2011 - 21:38) sergeiss написал(а):
Цитата (Floyd @ 25.05.2011 - 22:35)
$_POST['choice']="information";

По окончании работы скрипта ПХП забывает об этом smile.gif smile.gif smile.gif smile.gif smile.gif

Глобальный массив ПОСТ глобален внутри одного скрипта, во время одной-единственной его "инкарнации". При следующем запуске это другой массив ПОСТ.
Если ты хочешь так передавать данные, то читай про сессии. ПОСТ нужен, чтобы передать данные из формы в скрипт-обработчик.

Спустя 18 секунд (25.05.2011 - 21:38) Renden написал(а):
sergeiss
Хахаха +100 тебе, ну как видишь в наших постах с дефаутом все норм))

Floyd
Где тут обработчик?)
Невижу запроса, непонятно зачем ты присваиваешь посту строку information и темболее делаешь exit(); т.е прерываешь выполнение срипта..

Спустя 4 минуты, 59 секунд (25.05.2011 - 21:43) sergeiss написал(а):
Цитата (Renden @ 25.05.2011 - 22:38)
ну как видишь в наших постах с дефаутом все норм))

Там не может быть "норм", потому что написано криво. Дефолт всегда идет последним.

И еще раз повторю - для ПХП $choice и $choise - это "две большие разницы".

Спустя 1 минута, 4 секунды (25.05.2011 - 21:44) Floyd написал(а):
Цитата (sergeiss @ 25.05.2011 - 18:30)
Хоть кто-нибудь заметил, что default у автора темы идет первым в списке выбора, а должен быть последним???

А во-вторых, перед анализом данных выведи переменную $choice и посмотри, что в ней содержится. Возможно, что там что-то не совсем то, что ты ожидаешь.

Плюс к этому, в начале темы ты пишешь $choice, в конце темы $choise... Да иногда вообще вперемешку :) Ты уж определись, как тебе больше нравится :)

Спасибо,вот подправил немного:

choice.php весь код

<?php
if(isset($_POST['choice'])) {
$choice = $_POST['choice'];
echo "$choice";

switch($choice)
{
case "authorization":
include "scripts/authorization.php";
break;

case "information":
include "scripts/information.php";
break;

case "registration":
include "scripts/registration.php";
break;

default:include "scripts/authorization.php";
}
}
else include "scripts/authorization.php";

?>


authorization.php весь код

<?php
$rezultat="";
if(isset($_POST['registration']) || isset($_POST['submitregistration']))
{
include "scripts/registration.php";
exit();
}

if(isset($_POST['button']))
{
include "scripts/connection.php";

$query = sprintf("SELECT * FROM `accounts` WHERE `login`=%s AND `pass`=%s",
quote_smart($_POST['name']),
quote_smart($_POST['pass']));

$result=mysql_query($query);

if(mysql_num_rows($result) > 0)
{
// include "scripts/information.php";
//

$_POST['choice']="information";
exit();
} else
{
$rezultat="Извините! Такой пользователь не зарегистрирован, либо логин или пароль введены неверно!";
}

}

?>
<html>
<table
border="0" align="center" width="600">


<tr>
<td
height="50px" colspan="3">
<p><font
color="navy" size="3">Для входа в личный кабинет необходима авторизация</font></p>
</td>
</tr>
<tr>
<td
width="200">
<img
src="Images/key.png" />
</td>

<td
height="200">
<form
id=form"3" name=form"3" method="post" action="">

<p><font
color="navy" size="3">Введите логин</font>
<br>
<input
name="name" type="text" maxlength="16" size="25"/>
</br>
</p>

<p><font
color="navy" size="3">Введите пароль</font>
<br>
<input
name="pass" type="password" maxlength="16" size="25"/>
</br>
</p>

<p>
<input
type="submit" name="button" id="button" value="Подтвердить" />
</p>
</form>
</td>

<td
width="200">
<img
src="Images/Locker.png" />
</td>

</tr>

<tr>
<td
colspan="3" height="30">
<form
id=form"4" name=form"4" method="post" action="">
<input
type="submit" name="registration" id="registration" value="Зарегистрироваться" />
</form>
</td>
</tr>

<tr>
<td
height="80px" colspan="3">
<p><font
color="red" size="3"><?php echo"$rezultat"; ?></font></p>
</td>
</tr>
</table>
</html>



Переменная почемуто ничего не выводит, при вводе верных данных(логин пароль)появляется пустой див.

Спустя 3 минуты, 59 секунд (25.05.2011 - 21:48) Floyd написал(а):
Цитата (Renden @ 25.05.2011 - 18:38)
sergeiss
Хахаха +100 тебе, ну как видишь в наших постах с дефаутом все норм))

Floyd
Где тут обработчик?)
Невижу запроса, непонятно зачем ты присваиваешь посту строку information и темболее делаешь exit(); т.е прерываешь выполнение срипта..

Я делаю остановку exit-ом что-бы он очистить див и потом свич выбрал другой скрипт по условию

Спустя 1 минута, 50 секунд (25.05.2011 - 21:50) sergeiss написал(а):
Цитата (Floyd @ 25.05.2011 - 22:44)
$query = sprintf("SELECT * FROM `accounts` WHERE `login`=%s AND `pass`=%s",
quote_smart($_POST['name']),
quote_smart($_POST['pass']));

Что за функция quote_smart(), что делает?

%s надо написать в кавычках, т.к. там ты формируешь сравнение с символьной строкой...

exit() завершает всю обработку этого скрипта и всё, что было готово, отправляет клиенту (браузеру). Т.е. дальше обработки НЕТУ НИКАКОЙ!!!

Спустя 5 минут, 26 секунд (25.05.2011 - 21:56) Floyd написал(а):
Цитата
Что за функция quote_smart(), что делает?

function quote_smart($value)
{
if (get_magic_quotes_gpc()) { $value = stripslashes($value);}
if (!is_numeric($value)) {$value = "'" . mysql_real_escape_string($value) . "'"; }

Цитата
%s надо написать в кавычках, т.к. там ты формируешь сравнение с символьной строкой...

Спасибо большое за совет.

Цитата
exit() завершает всю обработку этого скрипта и всё, что было готово, отправляет клиенту (браузеру). Т.е. дальше обработки НЕТУ НИКАКОЙ!!!


Мне и надо так.Если данные (пароль логин)верны присвоить choice новую команду->остановить этот скрипт(authorization.php)->по новой команде в с помощью switch запустить новый скрипт,в данном случае information.php


Спустя 3 минуты, 32 секунды (25.05.2011 - 21:59) sergeiss написал(а):
Цитата (Floyd @ 25.05.2011 - 22:56)
Мне и надо так.Если данные (пароль логин)верны присвоить choice новую команду->остановить этот скрипт(authorization.php)->по новой команде в с помощью switch запустить новый скрипт,в данном случае information.php

Инклудом ты не запускаешь новый скрипт, а подцепляешь к существующему новый код. Это не то же самое, что новый скрипт.

Спустя 9 минут, 34 секунды (25.05.2011 - 22:09) Floyd написал(а):
Цитата (sergeiss @ 25.05.2011 - 18:59)
Цитата (Floyd @ 25.05.2011 - 22:56)
Мне и надо так.Если данные (пароль логин)верны присвоить choice новую команду->остановить этот скрипт(authorization.php)->по новой команде в с помощью switch запустить новый скрипт,в данном случае information.php

Инклудом ты не запускаешь новый скрипт, а подцепляешь к существующему новый код. Это не то же самое, что новый скрипт.

Я просто хотел объяснить суть того что делаю.Разве существую альтернативы инклуду если нужно запускать несколько скриптов в одном диве?

Спустя 16 минут, 42 секунды (25.05.2011 - 22:26) sergeiss написал(а):
Цитата (Floyd @ 25.05.2011 - 23:09)
Разве существую альтернативы инклуду если нужно запускать несколько скриптов в одном диве?

Ты определись с терминологией и с тем, что ты хочешь сделать.

Запускаешь ты только один скрипт! И к нему инклудом подцепляешь другие скрипты, которые динамически формируют новый скрипт. В чем, вобщем-то, и состоит одно из преимуществ ПХП по сравнению с "чистым" HTML smile.gif
Поэтому в одном диве ты не можешь "запустить" несколько скриптов. Это будет один скрипт, созданный динамически, в зависимости от каких-то условий.

Спустя 22 минуты, 49 секунд (25.05.2011 - 22:48) Floyd написал(а):
Цитата (sergeiss @ 25.05.2011 - 19:26)
Цитата (Floyd @ 25.05.2011 - 23:09)
Разве существую альтернативы инклуду если нужно запускать несколько скриптов в одном диве?

Ты определись с терминологией и с тем, что ты хочешь сделать.

Запускаешь ты только один скрипт! И к нему инклудом подцепляешь другие скрипты, которые динамически формируют новый скрипт. В чем, вобщем-то, и состоит одно из преимуществ ПХП по сравнению с "чистым" HTML smile.gif
Поэтому в одном диве ты не можешь "запустить" несколько скриптов. Это будет один скрипт, созданный динамически, в зависимости от каких-то условий.

Я уже не один раз рассказал суть того,что я хочу сделать.Почему у меня пустой див после нажатия кнопки???Почему свич не подключает скрипт information,когда я заношу в пост соответствующую команду ?

Спустя 3 минуты, 16 секунд (25.05.2011 - 22:52) Игорь_Vasinsky написал(а):
это вот тут то не подключает?

$_POST['choice']="information";	
exit();

Спустя 3 минуты, 1 секунда (25.05.2011 - 22:55) sergeiss написал(а):
Цитата (Floyd @ 25.05.2011 - 23:48)
Почему свич не подключает скрипт information,когда я заношу в пост соответствующую команду ?

Цитата (sergeiss @ 25.05.2011 - 22:38)
Глобальный массив ПОСТ глобален внутри одного скрипта, во время одной-единственной его "инкарнации". При следующем запуске это другой массив ПОСТ.
Если ты хочешь так передавать данные, то читай про сессии. ПОСТ нужен, чтобы передать данные из формы в скрипт-обработчик.

Или ты предлагаешь мне еще раз переписать текст, написанный мной же? smile.gif

Спустя 10 минут, 49 секунд (25.05.2011 - 23:05) Floyd написал(а):
Цитата (Игорь_Vasinsky @ 25.05.2011 - 19:52)
это вот тут то не подключает?

$_POST['choice']="information";	
exit();

Здесь идет изменение в переменной,а подключать должен swich

Спустя 55 секунд (25.05.2011 - 23:06) Игорь_Vasinsky написал(а):
ты сделай вывод $_POST['choice'] на странице обработчика - чтоб видет что он приносит.

Спустя 2 минуты, 49 секунд (25.05.2011 - 23:09) Floyd написал(а):
Цитата (Игорь_Vasinsky @ 25.05.2011 - 20:06)
ты сделай вывод $_POST['choice'] на странице обработчика - чтоб видет что он приносит.

так я и сделал
if(isset($_POST['choice'])) {
$choice = $_POST['choice'];
echo "$choice";


Но видать неверно что-то,ибо ничего не выводит

Спустя 1 минута, 58 секунд (25.05.2011 - 23:11) Игорь_Vasinsky написал(а):
Цитата
Здесь идет изменение в переменной

вот это вот?
Цитата
$_POST['choice']="information";
exit();

зачем глобальному массиву (полученному из формы) идёт присвоение значения?

если ты хотел сравнить - то:
$_POST['choice'] == "information";

И почему ты не хочешь GET??? ну и что - что в URL, и пусть видят - ни чё страшного не произайдет.

и убери exit() -он вообще рубит дальнейшее выполнние кода

Спустя 11 часов, 42 минуты, 54 секунды (26.05.2011 - 10:54) Floyd написал(а):
Цитата
если ты хотел сравнить - то:
$_POST['choice'] == "information";


Мне не нужно сравнивать,мне нужно изменить значение.

Цитата

и убери exit() -он вообще рубит дальнейшее выполнние кода


Зачем убирать? при удачной авторизации его нужно остановть и подключить другой скрипт.
Если не убрать,табличка авторизации будет в диве ,а это нехорощо.

Я уже столько раз объяснил стуктуру,а такое ощущение ,что мы говорим на разных языках.Всего-то 10 строк кода и нельзя решить....
Люди,хоть кто-то может мне помочь???????????

Спустя 22 минуты, 44 секунды (26.05.2011 - 11:17) sergeiss написал(а):
Цитата (Floyd @ 26.05.2011 - 11:54)
Зачем убирать? при удачной авторизации его нужно остановть и подключить другой скрипт.
Если не убрать,табличка авторизации будет в диве ,а это нехорощо.

Я уже столько раз объяснил стуктуру,а такое ощущение ,что мы говорим на разных языках.Всего-то 10 строк кода и нельзя решить....
Люди,хоть кто-то может мне помочь???????????

Если честно, то я вижу только один способ... Перестать тебе заниматься программированием. Вполне серьёзно говорю. Потому что ты не понимаешь элементарных вещей. А самое главное - не хочешь понимать.
Одна только твоя фраза насчет exit() "Зачем убирать? при удачной авторизации его нужно остановть и подключить другой скрипт." уже достаточна для такого утверждения.
Мало того, что тебе уже МНОГО РАЗ в теме говорили, так ты еще мог прочитать хэлп. "Экзит" ОСТАНАВЛИВАЕТ РАБОТУ СКРИПТА!!! После него ничего не может быть выполнено. Это аналогично тому, что выйдя из комнаты ты не можешь внутри неё ничего делать.

И не важно, сколько раз и чего ты объяснял. Главное, что ты не слышишь ответы. Как про exit(), так и про массив $_POST. Тебе говорят, что ты неправильно с ними работаешь, что так не будет работать... А ты игнорируешь советы и продолжаешь спрашивать "чё делать-то?". Я уже ответил: оставь программирование и займись чем-нибудь другим. Вполне возможно, что что-то другое у тебя получается лучше.

Спустя 1 час, 9 минут, 3 секунды (26.05.2011 - 12:26) Floyd написал(а):
Цитата (sergeiss @ 26.05.2011 - 08:17)
Цитата (Floyd @ 26.05.2011 - 11:54)
Зачем убирать? при удачной авторизации его нужно остановть и подключить другой скрипт.
Если не убрать,табличка авторизации будет в диве ,а это нехорощо.

Я уже столько раз объяснил стуктуру,а такое ощущение ,что мы говорим на разных языках.Всего-то 10 строк кода и нельзя решить....
Люди,хоть кто-то может мне помочь???????????

Если честно, то я вижу только один способ... Перестать тебе заниматься программированием. Вполне серьёзно говорю. Потому что ты не понимаешь элементарных вещей. А самое главное - не хочешь понимать.
Одна только твоя фраза насчет exit() "Зачем убирать? при удачной авторизации его нужно остановть и подключить другой скрипт." уже достаточна для такого утверждения.
Мало того, что тебе уже МНОГО РАЗ в теме говорили, так ты еще мог прочитать хэлп. "Экзит" ОСТАНАВЛИВАЕТ РАБОТУ СКРИПТА!!! После него ничего не может быть выполнено. Это аналогично тому, что выйдя из комнаты ты не можешь внутри неё ничего делать.

И не важно, сколько раз и чего ты объяснял. Главное, что ты не слышишь ответы. Как про exit(), так и про массив $_POST. Тебе говорят, что ты неправильно с ними работаешь, что так не будет работать... А ты игнорируешь советы и продолжаешь спрашивать "чё делать-то?". Я уже ответил: оставь программирование и займись чем-нибудь другим. Вполне возможно, что что-то другое у тебя получается лучше.

Насчет,программирования ,это очень смешно слышать,правда)Просто,я давно уже программирую,правда всегда был системным кодером.Недумаю.что веб кодинг сложнее системного,причем могу доказать обратное.

Возможно,я не полностью понял структуру веба,но думаю это не проблема,у меня всегда все получается,вопрос только во времени.

Насколько я читал про Exit,то она останавливает работу скрипта в котором инициализирована.
В данном случае authotization.php.И где я неправ?

Спустя 34 минуты, 55 секунд (26.05.2011 - 13:01) sergeiss написал(а):
Цитата (Floyd @ 26.05.2011 - 13:26)
Насколько я читал про Exit,то она останавливает работу скрипта в котором инициализирована.


Цитата (Floyd @ 26.05.2011 - 11:54)
при удачной авторизации его нужно остановть и подключить другой скрипт.


Если ты остановил, то ты уже не подключишь ничего!!!

Я уже говорил: exit - это выход из комнаты. Вот ты что-то делаешь в этой комнате. Ты вышел, закрыл дверь - всё, ты уже вне комнаты. И вернуться ты в неё не можешь больше!!! Ты можешь зайти в другую комнату, идентичную первой. Но это будет уже вторая комната.
Это аналогично запуску второго экземпляра программы, если сравнивать с "обычным" кодингом.

Спустя 21 минута, 36 секунд (26.05.2011 - 13:22) Floyd написал(а):
Стоп,давайте на пальцах если не трудно.Разберем происходящее более детально:

1)У меня есть "главный" скрипт choice.php,задача которого с помощью оператора выбора swich подключать различные скрипты,такие как authorization.php,registration.php и information.php в зависимости от значения переменной $choice.
По умолчанию свич подключает скрипт авторизации.

2)Теперь,работа скрипта авторизации.Когда данные(логин и пароль) введены верно меняем значение переменной $choice, $_POST['choice']="information"; и останавливаем скрипт "AUTHORIZATION.PHP " для того,что-бы он не засорял див.

3)Теперь,когда,значение переменной изменилось на "information" swich может подключить скрипт "information.php"

4)В "information.php" значение $choice опять изменится и т.д

Вы хотите сказать,что Exit в authorization.php остановить работу скрипта и choice.php ???

Спустя 1 час, 56 минут, 32 секунды (26.05.2011 - 15:19) sergeiss написал(а):
Цитата (Floyd @ 26.05.2011 - 14:22)
Вы хотите сказать,что Exit в authorization.php остановить работу скрипта и choice.php ???

Он остановит всё, что угодно, и именно в той точке, где будет вызван smile.gif Эта та самая дверь, где ты выйдешь и уже никогда не сможешь вернуться.

И про вот это вот
Цитата (Floyd @ 26.05.2011 - 14:22)
$_POST['choice']="information"

ЗАБУДЬ!!!. Потому что это в принципе не верно. Еще раз повторю: в массиве ПОСТ находятся данные, которые были ПРАВИЛЬНЫМ ОБРАЗОМ переданы из предыдущего скрипта. А предыдущий скрипт - это вовсе не тот, из которого ты сделал include. Предыдущий - это тот скрипт, где была находилась форма, из которой был сделан переход в скрипт текущий. Это может быть и тот же самый скрипт, вобщем-то... Точнее, другая его "инкарнация" smile.gif



Спустя 6 часов, 9 минут, 32 секунды (26.05.2011 - 21:28) Floyd написал(а):
Цитата (sergeiss @ 26.05.2011 - 12:19)
Цитата (Floyd @ 26.05.2011 - 14:22)
Вы хотите сказать,что Exit в authorization.php остановить работу скрипта и choice.php ???

Он остановит всё, что угодно, и именно в той точке, где будет вызван :) Эта та самая дверь, где ты выйдешь и уже никогда не сможешь вернуться.

И про вот это вот
Цитата (Floyd @ 26.05.2011 - 14:22)
$_POST['choice']="information"

ЗАБУДЬ!!!. Потому что это в принципе не верно. Еще раз повторю: в массиве ПОСТ находятся данные, которые были ПРАВИЛЬНЫМ ОБРАЗОМ переданы из предыдущего скрипта. А предыдущий скрипт - это вовсе не тот, из которого ты сделал include. Предыдущий - это тот скрипт, где была находилась форма, из которой был сделан переход в скрипт текущий. Это может быть и тот же самый скрипт, вобщем-то... Точнее, другая его "инкарнация" :)

Как раз таки заработало как я и хотел.Вот где собака была зарыта:

$_POST['choice']="information";
die(include "scripts/choice.php");

с чем согласен так это с тем,что эксит и впрям не надо было использовать ))) Нужно было использовать die,которая аналогична ей ,но еще позволяет запустить команду.

Вообщем,всем кто отвечал ОГРОМНОЕ спасибо!!!

Спустя 23 минуты (26.05.2011 - 21:51) maurise написал(а):
Цитата
Как раз таки заработало как я и хотел.Вот где собака была зарыта:

$_POST['choice']="information";
die(include "scripts/choice.php");

Это, как мне кажется, не из нашей вселенной smile.gif Неужели работает?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.