Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 14:01   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию условный оператор в PHP

около часа ломаю голову - почему не работает ветвь else...

Код:
<?php 
if (!isset ($id))
{
  $result = mysql_query("SELECT id, title FROM articles");
  $myrow = mysql_fetch_array($result);
  do 
  {
  printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>",$myrow['id'], $myrow['title']);
  }
  while ($myrow = mysql_fetch_array($result));
}
else
{
  $result = mysql_query("SELECT * FROM articles WHERE id=$id");
  $myrow = mysql_fetch_array($result);

print <<<HERE
          <form name="form1" method="post" action="update_lesson.php" align="center">
            <label>Введите название статьи <br>
              <input type="text" name="title" id="title" value="$myrow[title]">
              </label>
			  
            <p>
              <label>Введите краткое описание статьи <br>
              <input type="text" name="meta_d" id="meta_d" value="$myrow[meta_d]">
              </label>
            </p>
			
            <p>
              <label>Введите ключевые слова статьи<br>
              <input type="text" name="meta_k" id="meta_k" value="$myrow[meta_k]">
              </label>
            </p>
            <p>
              <label>Введите дату добавления статьи<br>
              <input type="text" name="date" id="date" value="$myrow[date]">
              </label>
            </p>
            <p>
              <label>Введите краткое описание статьи<br>
              <textarea name="description" cols="50" rows="7" id="description">$myrow[description]</textarea>
              </label>
            </p>
            <p>
              <label>Введите текст статьи<br>
              <textarea name="text" cols="50" rows="9" id="text">$myrow[text]</textarea>
              </label>
            </p>
            <p>
              <label>Автор статьи<br>
              <input type="text" name="author" id="author" value="$myrow[author]">
              </label>
            </p>
            <p>
              <label>
              <input type="submit" name="Submit" value="Принять">
              </label>
            </p>
          </form>

HERE;
}

?>
ветвь else не работает, хотя форма выводится без оператора, а по клику на ссылку ничего не происходит... кто нибудь видит причину? заранее благодарен.
Xeon332 вне форума Ответить с цитированием
Старый 15.06.2009, 14:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А (!isset ($id)) чему равно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2009, 14:41   #3
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

isset ($id) - возвращает false только в 2х случаях
-переменная неопределена
-равна null

конструкции ='' =0 для isset вернут true
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 15.06.2009, 15:12   #4
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

вобще по замыслу, проверяю сначала на то существует ли переменная $id, если нет то в цикле выводятся ссылки на новости. затем после кликанья по ссылкам, переменная $id создаётся (она извлекается из БД) - значит должна выводится форма и новость можно отредактировать... но эта ветвь игнорируется...
Xeon332 вне форума Ответить с цитированием
Старый 15.06.2009, 16:33   #5
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

А переменная $id у вас и не будет существовать - НИКОГДА (страшно да)
а будет переменная $_GET['id']
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 15.06.2009, 16:34   #6
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

ваша переменная хранится не в $id, а в $_GET['id']
свободен...
wall66 вне форума Ответить с цитированием
Старый 15.06.2009, 17:29   #7
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

спасибо за подсказку. я не подумал даже о глобальном массиве.. а надо бы!
Xeon332 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7. Условный оператор Юрий2009 Помощь студентам 9 29.04.2009 19:36
Delphi 7. Условный оператор Юрий2009 Помощь студентам 2 27.04.2009 20:10
Delphi 7. Условный оператор Юрий2009 Помощь студентам 1 27.04.2009 19:16
Условный оператор в Borland C++ 3.1 Xeon332 Помощь студентам 8 30.01.2009 17:08
Условный оператор IF в Си Zid@ne Помощь студентам 7 24.12.2008 20:02