|
|
|
| есть два поля ввода и кнопка.
после нажатия на кнопку данные сохраняются в get.txt. и открывается страница:
на которой поле ввода и кнопка "найти". если в поле ввода на этой странице ввести значение которое мы записили в первое поле на первой странице, то после нажатия на кнопку высветилось значение первого поля и второго (того которое вводилось со значением первого поля).
У меня есть первая страница:
<form method=post>
<textarea name=text1 cols=20 rows=5></textarea><br>
<textarea name=text2 cols=20 rows=5></textarea><br>
<input type=submit value="ОК">
</form>
<?php
if(@empty($_POST['text1']) OR @empty($_POST['text2'])){die("Empty input. Please reenter.");}
$fd = fopen("get.txt","a") OR die('Couldn\'t open');
fwrite($fd, $_POST['text1']."\r\n".$_POST['text2']."\r\n") OR die('Couldn\'t write');
fclose($fd) OR die('Couldn\'t close');
echo "<SCRIPT>document.location='find.php';</SCRIPT>";
?>
|
Подскажите пожалуйста, как сделать вторую? | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 18:18)
| | Кстати, Хеопс - почему ту тему закрыли? | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 18:23)
| | Слишком длинная. | |
|
|
|
|
|
|
|
для: cheops
(21.06.2006 в 18:47)
| | А чем это мешает? | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 18:51)
| | Не удобно читать тем у кого плохой канал, из-за того, что используется лестничная структура (читай - ркурсивный спуск) большая нагрузка на движок. | |
|
|
|
|
|
|
|
для: cheops
(22.06.2006 в 00:23)
| | Ну для владельцев плохиз каналов есть и другая структура.
У меня не очень плохой канал но я всё равно предпочитаю не лесничную структуру. | |
|
|
|
|
|
|
|
для: valenok
(22.06.2006 в 10:49)
| | Так канал плохой на сервере, а не на клиенте:)
Клиенту фиолетово - рукурсивный там спуск или нет:)
А вот размер страницы - критичен. А для структурного форума разбиение по страницам толком не сделать. | |
|
|
|
|
|
|
|
для: Loki
(22.06.2006 в 11:48)
| | Ну это да... | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 18:18)
| | Тяжело понять конечно.
Но из того что понял наверное надо значение второго поля сохранять либо в сессионной переменной либо в файле промежуточном. Короче буфер сделать. И когда мы получаем последнюю страницу где
после нажатия на кнопку высветилось значение первого поля и второго (того которое вводилось со значением первого поля).
|
то получать значение этого второго поля из буфера. | |
|
|
|
|
|
|
|
для: Axxil
(21.06.2006 в 18:24)
| |
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
| |
|
|
|
|
|
|
|
для: Axxil
(21.06.2006 в 18:24)
| | А он сохраняет введённые значения в файл. | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 18:28)
| | Щас да :)
До этого у него другой код был...
А с вашим кодом согласен. Так же бы сделал. | |
|
|
|
|
|
|
|
для: Axxil
(21.06.2006 в 18:33)
| | Это он в другой теме не совсем сохранял. | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 18:46)
| | значит мне надо первый переделать? | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 19:56)
| | Нет. | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 19:56)
| | Первый
<form method=post>
<textarea name=text1 cols=20 rows=5></textarea><br>
<textarea name=text2 cols=20 rows=5></textarea><br>
<input type=submit value="ОК">
</form>
<?php
if(!isset($_POST['text1']) OR !isset($_POST['text2'])){die("Empty input. Please reenter.");}
$fd = fopen("get.txt","a") OR die('Couldn\'t open');
fwrite($fd, $_POST['text1']."\r\n".$_POST['text2']."\r\n") OR die('Couldn\'t write');
fclose($fd) OR die('Couldn\'t close');
echo "<SCRIPT>document.location='find.php';</SCRIPT>";
?>
|
| |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 19:56)
| | Второй
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
| |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 19:59)
| | второй не работает | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 20:20)
| |
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
for($i=0;$i<count($f);$i++){ echo "\"".$f[$i]."\"<br>\n";}
|
Результат выполнения | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 20:33)
| | хммм, что то я не понял какой из них нужный | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 20:40)
| | Это и что вышло:
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
for($i=0;$i<count($f);$i++){ echo "\"".$f[$i]."\"<br>\n";}
|
Это отладочный.
Для того чтоб отладить работу вот этого:
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
Какой результат выполнения первого скриптв в этом сообщении | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 20:48)
| | а куда этот отладочный девать? | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 20:53)
| | Загрузить вместо того и сказать что он выдал. | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 21:13)
| |
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
for($i=0;$i<count($f);$i++){ echo "\"".$f[$i]."\"<br>\n";}
|
выдаёт всё что есть в файле | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 21:42)
| | Ну где?
Ctrl c сюда.
Как есть. | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 21:48)
| | "123 "
"фыв "
"456 "
"вук "
" "
" "
"890 "
"пппппвпак "
"555 "
"еногенг "
" "
" "
"454 "
"ерер " | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 21:56)
| | Видишь оно везде порбелы добавляет?
Именно это нам и мешало:
Есть два решения порблемы. Либо добавиьт этот пробел к запросу поиска, либо вырезать пробелы у элементов массива.
Первый куда более быстрый и простой.
Если нет принципиального значения - лучше добавить пробел.
Второй (добавление пробела к запросу поиска)
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search']." ";
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
Второй (С вырезанием пробелом из элементов массива)
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search'];
$f=file('get.txt');
for($i=0;$i<count($f);$i++){$f[$i]=rtrim($f[$i]);}
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
Как я уже сказал, первый вариант в этом сообщении предпочтительней | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 22:11)
| | первый вариант не работает | |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 23:19)
| | Я немного спутал названия.
Не работает там где добавляем пробел или где стираем пробелы? | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 23:24)
| | там где добавляем :
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search']." ";
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
| |
|
|
|
|
|
|
|
для: lexal
(21.06.2006 в 23:33)
| | Замени на это и скажи что вышло:
<form method=post>
<input name='search'>
<input type=submit value="Search">
</form>
<?
if(!isset($_POST['search'])){die;}
$s=$_POST['search']." "; echo "\"".$s."\"";
if(in_array($s,$f)){echo '1';}
$s.=" "; echo "\'".$s."\'";
if(in_array($s,$f)){echo '2';}
$f=file('get.txt');
$key = array_search($s, $f);
if(!$key){die("Wasn't found.");}
echo "1.".$f[$key]."<br>\n2.".$f[$key+1];
|
| |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 23:24)
| | второй вроде работает | |
|
|
|
|
|
|
|
для: valenok
(21.06.2006 в 23:24)
| | спасибо огромное!!! | |
|
|
|