Переход по SELECT на другой файл

oleg_61

Новичок
Переход по SELECT на другой файл

Доброго времени суток всем!
Может вопрос и мелачевый, но тем не менее он заключается в следующем:
PHP:
Выберите метод:<br>
<form name=main><select name="find">
        <option value="1" selected>Поиск письма по входящему </option>
        <option value="2"  >Поиск письма по наименованию владельца</option>
        <option value="3" >Поиск письма по теме</option>
</select>
<?php
echo "Переменная FIND"; echo $find;
 switch ($find) {
case "1":
$find1="poisk.php";
echo "<form name=main action=\"poisk.php\" method=\"POST\"><br>"; //не уверен
<input type=submit value=\"Поехали\">
break;
case "2":
$find1="poisk3.php";
echo "<form name=main action=\"poisk3.php\" method=\"POST\">"; //не уверен
<input type=submit value=\"Поехали\">
break;
case "3":
$find1="poisk4.php";
echo "<form name=main action=\"poisk4.php\" method=\"POST\">"; //не уверен
<input type=submit value=\"Поехали\">
break;
}
?>
<input type="submit" value="Поехали"><br>
По моему предельно понятно, все это в одном файле .php, в зависимости от выбора SELECT я длжен по кнопочке Поехали попасть на другой файл тоже .php
 

vasa_c

Новичок
1001 раз обсуждавшийся вопрос.

По нажатию кнопки:
1. Взять значение из select
2. Вычислить имя файла.
3. Перейти на этот файл.

Какой пункт вызывает затруднения?
 

oleg_61

Новичок
Переходить то переходит, только со второго нажатия на кнопочку Поехали, код я поправил:
PHP:
switch ($find) {
case "1":
echo "<form name=main action=\"poisk.php\" method=\"POST\"><br>";
break;
case "2":
//$find1=poisk3.php;
echo "<form name=main action=\"poisk3.php\" method=\"POST\">";
break;
case "3":
//$find1=poisk4.php;
echo "<form name=main action=\"poisk4.php\" method=\"POST\">";
break;
}
...
Выберите метод:<br>
<form name=main><select name="find">
        <option value="1" selected>Поиск письма по входящему </option>
        <option value="2"  >Поиск письма по наименованию владельца</option>
        <option value="3" >Поиск письма по теме</option>
</select> 
<input type="submit" name="$_POST['find']" value="Поехали"><br>
 

Leon_V

Новичок
Может так?

<form name=main action="poisk.php">
<select name="find" onChange="document.main.action=this.value;">
<option value="poisk.php" selected>Поиск письма по входящему </option>
<option value="poisk3.php" >Поиск письма по наименованию владельца</option>
<option value="poisk4.php" >Поиск письма по теме</option>
</select>
</form>
 

oleg_61

Новичок
Что то тут не так, мне кажется надо передать какой то параметр вместе с submit
 

vasa_c

Новичок
oleg_61, если я правильно понял задачу -
После изменения в SELECT (событие onChange) изменяй поле action формы на нужный адрес. (javascript)
 

oleg_61

Новичок
Да вот жеж, нужно подставлять в action имя нужного файла, а средствами php ни как, с явой не оцень дружен
 

Leon_V

Новичок
А что в варианте моем не так тогда? Ну кроме отсутсвия кнопки сабмит
 

oleg_61

Новичок
Leon_V тоже не срабатывает, переходит тока по тому файлу что указан в форме, делаиш другой выбор выдает сраницу 404 и в строке адреса рисует: (тута путь)/3?find=3
 

oleg_61

Новичок
Вот полностью код файла в котором требуется проделать манипуляции:
PHP:
<?php
unset ($valid_user);
session_start();
if (session_is_registered('valid_user')) {
require_once "lib/global.func.php";
do_html_header("");
ob_start();
echo "Переменная  FIND"; echo $find;
switch ($find) {
case "1":
/*$find1="poisk.php";
echo "<form name=main>";
echo "<form name=main action=\"$find1\">";*/
echo "<form name=main action=\"poisk.php\" method=\"POST\"><br>";
//<input type=submit value=\"Поехали\">";
break;
case "2":
/*$find1="poisk3.php";
echo "<form name=main>";
echo "<form name=main action=\"$find1\">";*/
echo "<form name=main action=\"poisk3.php\" method=\"POST\">";
//<input type=submit value=\"Поехали\">";
break;
case "3":
/*$find1="poisk4.php";
echo "<form name=main action=\"$find1\">";*/
echo "<form name=main action=\"poisk4.php\" method=\"POST\">";
//<input type=submit value=\"Поехали\">";
break;
}
?>
<html>
<head>
<title>База данных --> Письма</title>
<META HTTP-EQUIV="Site-Enter" CONTENT="revealTrans(Duration=3.0,Transition=23)">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
 <META HTTP-EQUIV="Content-Language" CONTENT="ru">
</head>
<body bgcolor="36456c" text="white" link="white" vlink="white">
<center><Applet Code="hilitetitle.class" ID="hilitetitle" Width="500" Height="70">
  <Param Name="demicron" Value="www.demicron.se">
<!--<Applet Code="hilitetitle.class" ID="hilitetitle" Width="500" Height="70">
  <Param Name="O.S." Value="www.inwebradio.jino-net.ru">-->
  <Param Name="reg" Value="A00001">
  <Param Name="font" Value="TimesRoman">
  <Param Name="fontsize" Value="42">
  <Param Name="italic" Value="No">
  <Param Name="bold" Value="Yes">
  <Param Name="background" Value="000000">
  <Param Name="foreground" Value="ff9f00">
  <Param Name="sleeptime" Value="10">
  <Param Name="step" Value="5"> 
  <Param Name="two" Value="Yes">
  <Param Name="text" Value="ГЛАВНОЕ МЕНЮ">
  <Param Name="threshold" Value="25">
</Applet>
   <!--
<OBJECT ID="mytext1" CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute;BOTTOM:10px;LEFT:300px;WIDTH:300;HEIGHT:300">
<PARAM NAME="Line0001" VALUE="SetFillColor(0,0,255)">
<PARAM NAME="Line0002" VALUE="SetFont('Verdana',30, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('&#193;&#224;&#231;&#251;', 0, 0, 0)">
</OBJECT>
<OBJECT ID="mytext2" CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute;BOTTOM:10px;LEFT:300px;WIDTH:300;HEIGHT:300;">
<PARAM NAME="Line0001" VALUE="SetFillColor(255,0,0)">
<PARAM NAME="Line0002" VALUE="SetFont('Verdana',40, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('->&#207;&#232;&#241;&#252;&#236;&#224;', 0, 0, 0)">
</OBJECT>
<OBJECT ID="mytext3" CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute;BOTTOM:10px;LEFT:10px;WIDTH:600;HEIGHT:300;">
<PARAM NAME="Line0001" VALUE="SetFillColor(255,255,255)">
<PARAM NAME="Line0002" VALUE="SetFont('Verdana',24, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('Главное меню', 0, 0, 0)">
</OBJECT>-->
<table cellspacing=3 cellpading=5>
<tr>
<td valign=top>
<p><h2><em><strong>Ввод и изменение данных</strong></em></h2></p>
<ul>
<li><a href="input_new_pisma.php">Ввод новых писем</a>
<li><a href="vvod_ish.phtml" >Ввод исходящего номера</a>
<li><a href="izm4.php" >Ввод служебок</a>
<li><a href="korrektirovka.php" >Корректировка писем</a>
<li><a href="all.php" >Все письма сразу</a>
</ul>
<p><h2><em><strong>Отчеты</strong></em></h2></p>
<ul>
<li><a href="pisma_inf.php" >Отчет1</a>
<li><a href="prosrochka.php" >Отчет2</a>
</ul>
<em><p class="red"><h3><strong>ВЫХОД</strong></h3></p></em>
<ul>
<li><a href="logout.php" >Выйти</a>
<li><a href="../base/2005/show_menu1.php" >В БД  2005 </a><br>
</ul><br><br>
<h2><p class="red"><em>Вы зарегиострированы  в базе как:<?php echo $_SESSION['valid_user']; ?></em></p></h2>
</td>
<td valign=top>
<p><h2><em><strong>Поиск по БД</strong></em></h2></p>
<form name=main action="poisk.php">
<select name="find" onChange="document.main.action=this.value;">
        <option value="1" selected>Поиск письма по входящему </option>
        <option value="2">Поиск письма по наименованию</option>
        <option value="3">Поиск письма по теме</option>
</select>
<input type="submit" value="Поехали"><br>
<?php
ob_end_flush();
 }
else {
?><h2><em>"ООО пс!! Вы не зарегистрированы"</em></h2><?
?><p><a href="index.php">Зарегистрироваться!</a></p><?
}
?>
</form>
</body>
</td>
</tr>
</html>
vasa_c - путь который в адресной строке к месту расположения файлов программы, а "?find=3" вфдает после нажатия кнопки "Поехали"
 

AdminGorkyRu

Новичок
Автор оригинала: Leon_V
Может так?

<form name=main action="poisk.php">
<select name="find" onChange="this.form.action = this.options[this.selectedIndex].value;">
<option value="poisk.php" selected>Поиск письма по входящему </option>
<option value="poisk3.php" >Поиск письма по наименованию владельца</option>
<option value="poisk4.php" >Поиск письма по теме</option>
</select>
</form>
так надо!
 

oleg_61

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

AdminGorkyRu - списибо за консультацию, но усеравно не работает, переходит только на файл poisk.php. Причем не пойму почему при нажатии кнопки "Поехали" и выборе последнего пункта из selecta выдает ошибку что УРЛ не найден и рисует /base/3, где base - это где лежат файлы, а 3 надо полагать переменная find
 

AdminGorkyRu

Новичок
Автор оригинала: oleg_61
AdminGorkyRu - списибо за консультацию, но усеравно не работает,
дык блин, судя по твоему исходнику у тебя значения <option ...> не "poisk.php", "poisk3.php" и т.д. а просто "1, 2, 3"...

код который я тебе писал заносит значения из тега option в поле action формы....
 

oleg_61

Новичок
Ну да получилось, интересная функция, где бы то почитать про нее.

Спасибо большое AdminGorkyRu, премного благодарен!

-~{}~ 07.06.06 15:07:

Може кто подскажет, где почитать и полистать исходники по теме печати в Word и PHP
За ранее благодарен
 
Сверху