Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <select> обрабочик 
:(
    Опции темы
kid_a
Дата 10.1.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



как правильно отправить значение selecta?
Notice: Undefined index: id in send_combo.php
Notice: Undefined index: table in 


Код

<?php
$table=$_GET['table'];
$id=$_GET['id'];
?>

<form action="send_combo.php?table=<?php echo  $table; ?>&id=<?php echo $id; ?>  method="GET">



<?php 
Include ("config.php");


$query=mssql_query("select * from $table");
$num_rows = mssql_num_rows($query);


echo '<td><select name='.$table.' size=1>';

while($res3=mssql_fetch_assoc($query))    


        {
    
    
        if ($_GET['id_'.$table]==$res3['id_'.$table]) 
        
        { 
        $select="selected"; 
        } 


        else 

        { 
        $select=" "; 

        } 
        
    
    echo "<option value=".$res3['id_'.$table]." ".$select.">".$res3[$table]."</option>";
     
    


        }


    echo '</select></td>';







mssql_close($con);

?>

<input type=submit value=Отправить>  
</form> 



send
Код

<?php 



$id_table=$_GET['table'];    
$id=$_GET['id'];    
$id_table_prefix="id_".$id_table;



$sql= "update admin set $id_table_prefix ='".$_POST['table']."' where id='".$id."'";

$resitog= mssql_query($sql, $con);
if ($resitog) echo "исправлено";

mssql_close($con);

?>
</form> 




PM MAIL   Вверх
KoLiZeI
Дата 10.1.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

Репутация: нет
Всего: нет



Для начала вместо <?php echo  $table; ?> гораздо проще писать <?=$table; ?>
Передавать такие данные всё таки наверное лучше постом и данные передавать в хидденах

Код

<input type=hidden name=table value=".$_GET['table'].">


Только зачем если в самом начале они у тебя не объявленных тоесть у тебя таких данных нету! 
Тебе же написали что их, зачем ты из определяешь если нет таких данных если очень используй @перед переменной @$id 
Notice: Undefined index: id in send_combo.php
Notice: Undefined index: table in 

Да и ещё возможно я не прав но помоему 
Код

$_GET['id_'.$table]


так нельзя делать, наверное всё таки двойное наследование используется!
PM MAIL WWW ICQ Skype   Вверх
Nikol
Дата 10.1.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 5.4.2006
Где: Берег Черного мор я

Репутация: 2
Всего: 4



Цитата(KoLiZeI @  10.1.2008,  12:04 Найти цитируемый пост)
Для начала вместо <?php echo  $table; ?> гораздо проще писать <?=$table; ?> Передавать такие данные всё таки наверное лучше постом и данные передавать в хидденах

Не стоит использовать короткие теги, это не везде работает. Лучше html-код вывести как текст.

Ошибка здесь в том, что переменные при передаче гетом нельзя цеплять к action, это работает для поста. Их нужно передать в хидденах. Попробуй так, переменные передадутся гетом:
Код

<?php
  echo '<form action="send_combo.php  method="GET">';
  echo '<input type=hidden name=table value="' . $_GET['table'] . '">';
  echo '<input type=hidden name=id value="' . $_GET['id'] . '">';
?>





--------------------
Я не волшебник, я только учусь.
PM MAIL WWW ICQ   Вверх
kid_a
Дата 10.1.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



проблема в том, что 
необходимо использовать переменную $table (несколько селектов по разным таблицам). 

echo '<td><select name='.$table.' size=1>';  
 
когда указываю name явно (напрмер,  <select name= place size=1>';  ), все получается. 
 
  

PM MAIL   Вверх
Nikol
Дата 10.1.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 123
Регистрация: 5.4.2006
Где: Берег Черного мор я

Репутация: 2
Всего: 4



Если ты отправляешь значение таким образом
Код

<form action="send_combo.php?table=<?php echo  $table; ?>&id=<?php echo $id; ?>  method="GET">

то это неправильно, и тогда ты присваиваешь переменной несуществующее значение
Код

$table=$_GET['table'];

т.к. table в массиве гет нет. Выведи на экран весь массив и увидишь.

--------------------
Я не волшебник, я только учусь.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.