[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Неработает условие if elsе для переменной $id
biksystem
Что может быть не так?
Есть страничка админки с надписью "редактировать".
Там названия уроков с сылками, я ставлю задание если $id не нажата, то выводим цикл уроков, а когда нажимаю один из уроков (который иначе по ссылке должен переходить в форму редактирования) мне опять высвечиват сираничка таже самая с списком уроков. После <<<HERE пробелов нет. Еще как в браузере или в коде сделать отображение ошибок? Я только учусь если можно подробнее ответ rolleyes.gif

PHP
if  (!isset($id))
{
   
$result mysql_query("SELECT title,id FROM design");
   
$myrow mysql_fetch_array($result);

   do
     {
     
printf ("<p><a href='edit_design.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);    
     }
    
   while (
$myrow mysql_fetch_array($result));    
}

else
{
print <<<HERE
<form action="add_design.php" method="post" namse="form1" id="form1">
  <p>
    <label>Введите названия урока<br>
      <input type="text" name="title" id="title">
    </label>
  </p>
  <p>
</form>

HERE;
}





Спустя 5 минут, 37 секунд (11.10.2009 - 21:17) Winston написал(а):
Цитата (biksystem @ 11.10.2009 - 21:11)
Я только учусь

Не по попову случайно учишься ? Такой код я только у него видел.

Спустя 1 минута, 47 секунд (11.10.2009 - 21:19) sergeiss написал(а):
М-да... По-моему, уже пора делать шаблон ответа, содержащий:

1. Используй тэги оформления кода! А то я уже устал их ставить за многими smile.gif
2. Забудь про цикл do{}while и используй while{}!
3. У тебя нету пока еще переменной $id, т.к. выключены глобальные переменные.
Надо:
PHP
$id=isset( $_POST['id']) ? $_POST['id'] : 0;

Спустя 6 минут, 17 секунд (11.10.2009 - 21:25) biksystem написал(а):
Цитата
Не по попову случайно учишься ? Такой код я только у него видел.

По попову, но у него всё получается!

Спустя 15 минут, 31 секунда (11.10.2009 - 21:41) igovet написал(а):
Код у тебя немного бредовый.

Это условие в котором видно что если нету элемента get то выводятся уроки, при нажатии на ссылку выводится форма с редактированием, дальше ты там сам форму доделай, лень было.
Вывод ошибок:
error_reporting(E_ALL & ~E_NOTICE);

PHP
<?
if (empty(
$_GET['id']))
{
    echo 
'<a href="?id=5">Математика</a>';
}
else
{
    echo 
'
    <form>
        <input type="text" value="" />
    </form>
    '
;
}

Спустя 10 минут, 47 секунд (11.10.2009 - 21:51) sergeiss написал(а):
biksystem - так я не понял - ты моё-то сообщение прочитал или как? smile.gif

Цитата (igovet @ 11.10.2009 - 22:41)
Код у тебя немного бредовый.
Это да smile.gif И даже не совсем "немножко".
Но вот только при чем тут get, если у автора темы указано в форме post?

Спустя 3 минуты, 36 секунд (11.10.2009 - 21:55) biksystem написал(а):
sergeiss -Прочитал, что то невыходит! Сейчас напишу, как я написал.

Спустя 1 минута, 58 секунд (11.10.2009 - 21:57) biksystem написал(а):
Цитата
1. Используй тэги оформления кода! А то я уже устал их ставить за многими

Если неполучится - я невиноват! я учусь!
Вот код:
PHP
if
$id=isset( $_POST['id']) ? $_POST['id'] : 0;
{
$result mysql_query("SELECT title,id FROM design");
$myrow mysql_fetch_array($result);

printf ("<p><a href='edit_design.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);    
    
while (
$myrow mysql_fetch_array($result));    

else
{
print <<<HERE
<form action="add_design.php" method="post" namse="form1" id="form1">
  <p>
    <label>Введите названия урока<br>
      <input type="text" name="title" id="title">
    </label>
  </p>
HERE;

Спустя 10 минут, 12 секунд (11.10.2009 - 22:07) igovet написал(а):
А я не увидел про пост, сорри.

Спустя 41 секунда (11.10.2009 - 22:08) sergeiss написал(а):
М-да... А логику если немного включить? smile.gif

Код писать я не буду, только пояснения и объяснения.

1. Сначала надо сделать назначение $id, и только затем сравнение. Наверное, с нулём: если больше нуля, то обрабатываем данные, иначе выводим форму.
2. Если ты заменяешь один цикл на другой, то тело цикла-то оставь! И вынеси while в начало цикла. Сейчас у тебя вообще пустой цикл. И зачем ты дважды вызываешь musql_fetch_array? При правильном использовании цикла (while{...}) будет только один вызов.

Абстаргируйся от того бреда, который ты почерпнул у Попова, и подумай сам.
А то, что у Попова бред - это факт smile.gif Потому что именно этот вот кусок кода появляется на форуме с зАвидной регулярностью, иногда 2-3 раза за день. И каждый раз приходится объяснять именно то, что я перечислил в 1-м ответе в этой теме.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.