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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Не передаются введеные значения
 
 автор: lucero   (20.05.2006 в 16:04)   письмо автору
 
 

Суть проблемы: как я поняла, не передаются данные из первой страницы (из полей ввода) в вторую для обработки. То есть search_word1, search_word2..... search_word10 и не сработывают checkbox: в любом случает отправляется значение value.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title>Поиск: люди.</title>
</head>
<body>
<form name="search" action="ResultSearchPeople.php" method="GET">
<table>
  <tr>
    <td>
   Найти:
   <input type="submit" value="Найти">
</td>
  </tr>
  <tr>
    <td>
<br />
Выберети параметры поиска:
</td>
  </tr>
    <td valign="TOP"><input type="text" name="search_word2" style="width:130px;"/>Фамилия<br />
    <input type="text" name="search_word1" style="width:130px;"/>Имя<br />
    <input type="text" name="search_word3" style="width:130px;"/>Отчество<br /></td>
  </tr>
  <tr>
    <td valign="TOP">Координаты:<br />
    <input type="text" name="search_word4" style="width:130px;"/>Адрес<br />
    <input type="text" name="search_word5" style="width:130px;"/>E-mail<br />
    <input type="text" name="search_word6" style="width:130px;"/>Телефоны<br /></td>
  </tr>
  <tr>
    <td valign="TOP">
    Тип работы:<br />
  <input type="checkbox" name="seach_type_work[]" value="1"/>Озвучивание<br />
  <input type="checkbox" name="seach_type_work[]" value="2"/>Роль<br /></td>
  <tr/>
  <tr>
    <td valign="TOP"><input type="text" name="search_word[9]" style="width:130px;"/>Дата рожденья<br />
    <input type="text" name="search_word10" style="width:130px;"/>Город<br />
    <input type="text" name="search_word7" style="width:130px;"/>Дополнительно<br />
    <input type="text" name="search_word8" style="width:130px;"/>Дата регистрация<br /></td>
  </tr>
</table>
</form>
</body>
</html>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[url="http://www.w3.org/TR/html4/loose.dtd"]http://www.w3.org/TR/html4/loose.dtd[/url]">
<html>
<head>
<title>Результат</title>
</head>
<body>
<?php 
  error_reporting
(E_ALL);
  
$usertable "people";
  require(
"./config.php");
  
$search_word = array(1=>$search_word12=>$search_word23=>$search_word34=>$search_word45=>$search_word56=>$search_word67=>$search_word78=>$search_word89=>$search_word910=>$search_word10);
  
$search_field = array(1=>'NAME'2=>'SURNAME'3=>'PATRONYMIC'4=>'ADDRESS'5=>'E_MAIL'6=>'TELEPHONE1'7=>'OTHER'8=>'DATE'9=>'BIRTHDAY'10=>'CITY');
  
$i=11;
  while(--
$i >=1)
  {
    if(
strlen($search_word[$i]) == 0)
   {
       
$search $search_word[$i];
       echo (
"$search");
       
$field="and $search_field[$i] like %{$search}$field";
   }
   echo (
"$i $field <br />");
  }
  
  
$search_field_type = array(1=>'INSONATION'2=>'ACTOR');
  
$j=-1;
  while(++
$j <=1)
  {
    if(
$seach_type_work[$j]=1$field="and $search_field_type[1] like on $field";
    if(
$seach_type_work[$j]=2$field="and $search_field_type[2] like on $field";
  }

  echo (
"1 $field <br />");
  
$field substr_replace($field" "03); //убираем end из начала строки
  
echo ("2 $field <br />");
  
//запрос к таблице, определенной в переменной usertable
  
$query "select * from $usertable where $field";
  
$ath mysql_query($query);
  
//проверка успешности выполнения запроса
  
if(!$ath) exit(mysql_error());
  
//выводим результат
  
echo '<table border="1">';
  echo 
"<tr>
    <td>Имя</td>
    <td>Фамилия</td>
    <td>Отчество</td>
    <td>Адрес</td>
    <td>E-mail</td>
    <td>Телефон</td>
    <td>Дополнительно</td>
    <td>Дата регистрации</td>
    <td>Родился</td>
    <td>Озвучивание</td>
    <td>Роль</td>
    <td>Город</td>
  </tr>"
;
  while(
$result mysql_fetch_array($ath))
  {
    echo 
"<tr>
      <td>"
.$result['NAME']."</td>
      <td>"
.$result['SURNAME']."</td>
      <td>"
.$result['PATRONYMIC']."</td>
      <td>"
.$result['ADDRESS']."</td>
      <td>"
.$result['E_MAIL']."</td>
      <td>"
.$result['TELEPHONE1']."<br />".$result['TELEPHONE2']."</td>
      <td>"
.$result['OTHER']."</td>
      <td>"
.$result['DATE']."</td>
      <td>"
.$result['BIRTHDAY']."</td>
      <td>"
.$result['INSONATION']."</td>
      <td>"
.$result['ACTOR']."</td>
      <td>"
.$result['CITY']."</td>
    </tr>"
;
  }
  echo 
"</table>";
  
mysql_close();
?>
</body>
</html>

   
 
 автор: ChemboRambo   (20.05.2006 в 16:45)   письмо автору
 
   для: lucero   (20.05.2006 в 16:04)
 

Мне кажеться что проблемма у вас в register_globals
вот почитайте тут: http://phpfaq.ru/globals

   
 
 автор: Mefisto84   (20.05.2006 в 17:46)   письмо автору
 
   для: lucero   (20.05.2006 в 16:04)
 

Если Вы указали метод Get в первом файле, то во втором файkе получать переменные нужно вот так, к примеру $_GET['search_word1'];
а не $search_word1.

   
 
 автор: генг   (20.05.2006 в 17:53)
 
   для: Mefisto84   (20.05.2006 в 17:46)
 

Я конечно не понял наверно что вы делаете, но хостинг nm.ru что уже поддерживает php?

   
 
 автор: Lucero   (20.05.2006 в 19:25)   письмо автору
 
   для: генг   (20.05.2006 в 17:53)
 

На NM.ru я просто выложила, чтобы можно было посмотреть, как всё выглядит (на всякий случай).

   
 
 автор: Lucero   (20.05.2006 в 19:41)   письмо автору
 
   для: Mefisto84   (20.05.2006 в 17:46)
 

Я всё перевела на метод передачи данных POST.
У меня ошибка не с передаче, а в обработке массива с переданными данными циклом: при этом цикл while срабатывает, а if - нет (мы в него даже и не заходим).



error_reporting(E_ALL);
$usertable = "people";
require("./config.php");

$search_word = array(1=>$_POST['search_word1'], 2=>$_POST['search_word2'], 3=>$_POST['search_word3'], 4=>$_POST['search_word4'], 5=>$_POST['search_word5'], 6=>$_POST['search_word6'], 7=>$_POST['search_word7'], 8=>$_POST['search_word8'], 9=>$_POST['search_word9'], 10=>$_POST['search_word10']); 


$search_field = array(1=>'NAME', 2=>'SURNAME', 3=>'PATRONYMIC', 4=>'ADDRESS', 5=>'E_MAIL', 6=>'TELEPHONE1', 7=>'OTHER', 8=>'DATE', 9=>'BIRTHDAY', 10=>'CITY');

$i=11;
while(--$i >=1) 
{
if(strlen($search_word[$i]) == 0)
{
$search = $search_word[$i];
$field="and $search_field[$i] like %$search% $field";
}
}

   
 
 автор: Mefisto84   (20.05.2006 в 21:05)   письмо автору
 
   для: Lucero   (20.05.2006 в 19:41)
 


$field="and $search_field[$i] like %$search% $field"; 

вот здесь вроде должно быть

$field="and $search_field[$i] like '%".$search."%' $field"; 

   
 
 автор: Lucero   (21.05.2006 в 00:57)   письмо автору
 
   для: Mefisto84   (20.05.2006 в 21:05)
 

вечно мучаюсь с этими кавычками (((

   
 
 автор: Trianon   (20.05.2006 в 23:39)   письмо автору
 
   для: Lucero   (20.05.2006 в 19:41)
 

По-моему, Вы ошиблись в условии.


if(strlen($search_word[$i]) != 0) 

   
 
 автор: Lucero   (21.05.2006 в 00:56)   письмо автору
 
   для: Trianon   (20.05.2006 в 23:39)
 

ага, спасибо большое =)))
всё работает.

   
Rambler's Top100
вверх

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