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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: не передана переменная

Сообщения:  [1-10]   [11-12] 

 
 автор: KPETuH   (18.01.2008 в 12:47)   письмо автору
 
   для: Dizels   (18.01.2008 в 11:25)
 

форму приведите

   
 
 автор: CrazyAngel   (18.01.2008 в 11:49)   письмо автору
 
   для: Dizels   (18.01.2008 в 10:34)
 

как вариант registr_globals

   
 
 автор: Dizels   (18.01.2008 в 11:25)   письмо автору
 
   для: Faraon   (18.01.2008 в 11:02)
 

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

Собственно сейчас все выглядит вот так:
editform.php:
<?php
$id_enterprise 
$_GET['id_enterprise'];
?>
...
<input type="hidden" name="id" value="<?=$id_enterprise?>">
</form>

edit.php:
if(empty($_POST['id']))
    { echo "Не передана переменная предприятия";
        exit;
    }

Сейчас ошибок не выдает, но при этом и не переписывает значения в БД :( Т.е. я исправляю, а они какие были, такие и остались.

Вот весь код файла edit.php:

<?php
// Устанавливаем соединение с базой данных
require_once("config.php");

// Проверяем, переданы ли скрытые поля формы
if(empty($_POST['id']))
    { echo 
"Не передана переменная предприятия";
        exit;
    }
if(empty(
$_POST['id_catalog']))
    { echo 
"Не передана переменная каталога";
        exit;
    }

// Проверяем, заполнены ли поля
if(empty($_POST['name'])) links("Введите название предприятия.");
if(empty(
$_POST['leader'])) links("Введите ФИО руководителя.");

// Получаем переменные и где надо заменяем одинарные кавычки на обратные
$sity $_POST['sity'];
if(
$_POST['statys'] == "on"$statys "show";
    else 
$statys "hide";
$form $_POST['form'];
$name str_replace("'","`",$_POST['name']);
    
$e_day $_POST['e_day']; 
    
$e_month $_POST['e_month']; 
    
$e_year $_POST['e_year']; 
$e_bithday $e_day.".".$e_month.".".$e_year;
$leader str_replace("'","`",$_POST['leader']);
$position str_replace("'","`",$_POST['position']);
    
$l_day $_POST['l_day']; 
    
$l_month $_POST['l_month']; 
    
$l_year $_POST['l_year']; 
$l_bithday $l_day.".".$l_month.".".$l_year;
// Определяем, скрыт параграф или нет
if($_POST['ch_bithday'] == "on"$ch_bithday "hide";
    else 
$ch_bithday "show";
$activity str_replace("'","`",$_POST['activity']);
$additionally str_replace("'","`",$_POST['additionally']);
$adress str_replace("'","`",$_POST['adress']);
$phone str_replace("'","`",$_POST['phone']);
$fax str_replace("'","`",$_POST['fax']);
$email str_replace("'","`",$_POST['email']);
$site str_replace("'","`",$_POST['site']);
$face str_replace("'","`",$_POST['face']);
$facetel str_replace("'","`",$_POST['facetel']);
$dopol str_replace("'","`",$_POST['dopol']);
    
$k_day $_POST['k_day']; 
    
$k_month $_POST['k_month']; 
    
$k_year $_POST['k_year']; 
$k_bithday $k_day.".".$k_month.".".$k_year;
    
$b_day $_POST['b_day']; 
    
$b_month $_POST['b_month']; 
    
$b_year $_POST['b_year']; 
$b_bithday $b_day.".".$b_month.".".$b_year;
$operator str_replace("'","`",$_POST['operator']);
$id_catalog str_replace("'","`",$_POST['id_catalog']);
 
// Формируем и осуществляем SQL-запрос на исправление предприятия
$query "UPDATE enterprise SET 
    id='
$id',
    sity='
$sity',
    statys='
$statys',
    form='
$form',
    name='
$name',
    e_bithday='
$e_bithday',
    leader='
$leader',
    position='
$position',
    l_bithday='
$l_bithday',
    ch_bithday='
$ch_bithday',
    activity='
$activity',
    additionally='
$additionally',
    adress='
$adress',
    phone='
$phone',
    fax='
$fax',
    email='
$email',
    site='
$site',
    face='
$face',
    facetel='
$facetel',
    dopol='
$dopol',
    k_bithday='
$k_bithday',
    b_bithday='
$b_bithday',
    operator='
$operator',
    id_catalog='
$id_catalog'
    WHERE id='
$id'";
if(
mysql_query($query))
    {
      
// В случае успеха, осуществляем автоматический переход
        
echo "<HTML><HEAD>
            <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
            </HEAD></HTML>"
;
    }
else 
 echo 
mysql_error();
?>

что не так?

   
 
 автор: Петр   (18.01.2008 в 11:03)   письмо автору
 
   для: Faraon   (18.01.2008 в 10:52)
 

Нет, я дизелю.. он же и так знает, что работать не будет :) надо указать конкретные ошибки

   
 
 автор: Faraon   (18.01.2008 в 11:02)   письмо автору
 
   для: Dizels   (18.01.2008 в 10:34)
 

editform.php
<?php
$id_enterprise 
$_GET['id_enterprise'];
print 
"<form action=\"edit.php\" method=\"post\">
...
<input type=\"hidden\" name=\"id\" value=\"
$id_enterprise\">
</form>"
;
?>


edit.php
<?php
if(empty($_POST['id']))
    { echo 
"Не передана переменная предприятия";
        exit;
    }
?>

   
 
 автор: Faraon   (18.01.2008 в 10:52)   письмо автору
 
   для: Петр   (18.01.2008 в 10:49)
 

Вы это мне объясняете ?
Мне не надо это объяснять, я это и так знаю, потому и сразу же обратил на это внимание :)

   
 
 автор: Петр   (18.01.2008 в 10:49)   письмо автору
 
   для: Faraon   (18.01.2008 в 10:44)
 

Конечно не будет.
Во-первых: на путано с вложенностью тегов <?php ?>
Во-вторых: если надо вывести текст в браузер внутри этих тегов, надо использовать функцию echo '';
В-третьих: форма использует метод POST, а проверяешь переменную GET

   
 
 автор: Dizels   (18.01.2008 в 10:46)   письмо автору
 
   для: Петр   (18.01.2008 в 10:40)
 

Все равно пишет тоже самое.

У меня на компе работает нормально, а вот на серваке - выдает ошибку, может какая функция отключена?

   
 
 автор: Faraon   (18.01.2008 в 10:44)   письмо автору
 
   для: Dizels   (18.01.2008 в 10:34)
 

<?php 
$id_enterprise 
$_GET['id_enterprise']; 
<
form action="edit.php" method="post"
... 
<
input type="hidden" name="id" value="<?php echo "$id_enterprise"; ?>"
</
form
?> 

Что то мне подсказывает, что в это у Вас точно работать не будет :)

   
 
 автор: Петр   (18.01.2008 в 10:40)   письмо автору
 
   для: Dizels   (18.01.2008 в 10:34)
 

Что именно надо было сделать?
Переменные надо одинаковые брать, если был id_enterprise, то откуда возьмется id???

<form action="edit.php" method="post">
...
<input type="hidden" name="id" value="<?php echo $id?>">
</form>

<?php
$id 
$_GET['id'];
if (empty(
$id)) {
 die(
"Не передана переменная предприятия");
}
?>

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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