С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449

не работает isset

11.11.2013, 17:12. Показов 2216. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
почему может не работать такая конструкция?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if(isset($_POST['add'])) 
{ 
echo('wdger');
 $link = mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
 mysql_select_db("news",$link) or die("Нет соединения с БД".mysql_error());//подключаемся к базе
 mysql_query("SET NAMES utf8");
     if (isset ($_POST['nam'])) {$namDB = $_POST['nam'];}
     if (isset ($_POST['desc'])) {$descDB = $_POST['desc'];}
     if (isset ($_POST['tex'])) {$texDB = $_POST['tex'];}
     if (isset ($_POST['auth'])) {$authDB = $_POST['auth'];}
     $result = mysql_query("INSERT INTO `new`(`name`, `description`, `document`, `author`) VALUES ('$namDB','$descDB','$texDB','$authDB')");
     if ($result== 'true') 
     {echo "<script type='text/javascript'>alert('данные успешно добавлены')</script>";}
     else echo "<script type='text/javascript'>alert('данные не добавлены')</script>";
     header("Location: adm.php"); 
 mysql_close($link);
 } 
 else
 {
?>    
<html>
     <font align="center"><H2>Добавить новость</H2></font>
     <form action="adm.php" method="post">
        <p align="center">Название <input type="text" name="nam" style="width: 80%;"/><br>
        <p align="center">Описание<br>
        <p align="center"><textarea rows="6" cols="77.4" name="desc"></textarea></p>
        <p align="center">Текст новости<br>
        <p align="center"><textarea rows="18" cols="93" name="tex"></textarea></p>
        <p align="right">Автор<input type="text" name="auth" /><br>
        <p align="center"><input type="submit" name="add" value="Добавить" />
   </form>
</html>
<?php
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2013, 17:12
Ответы с готовыми решениями:

не работает isset
Добрый день уважаемые программисты. Помогите с такой проблемой: Есть фома в php странице, в ней есть submit ... &lt;form...

Как работает функция isset() ?
if(!isset($_post)) { echo 123123; } вот код. При отправке постом &quot;cancel&quot; Он пишет 123123. Если же не пришло cancel, то он ничего...

Проверка isset($_POST['submit']) не работает
в процедурном стиле, работает вариант: //после нажатия на кнопку if(isset($_POST)) { //сделать то-то } а через классы,...

24
1 / 1 / 0
Регистрация: 11.05.2013
Сообщений: 27
11.11.2013, 17:23
А какой код ошибки?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
11.11.2013, 17:28
Как именно не работает?
0
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 17:29  [ТС]
перебрасывает на страницу adm.php и все. в бд новые данные не добавляет.
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
11.11.2013, 17:31
Цитата Сообщение от gylayko Посмотреть сообщение
перебрасывает на страницу adm.php и все. в бд новые данные не добавляет.
форма при этом выводится?

а и весь этот код лежит в adm.php ?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
11.11.2013, 17:35
Цитата Сообщение от gylayko Посмотреть сообщение
перебрасывает на страницу adm.php и все
А точнее? Он попадает в ветку if и выводит 'wdger' с alert('данные не добавлены')? Пробовали включать вывод всех ошибок и отключать output_buffering? Не представляю, какого результата Вы ждёте от вывода echo с последующие header Location'ом. Попробуйте временно закомментировать header().
0
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 17:59  [ТС]
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
форма при этом выводится?
форма и выводится.
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
а и весь этот код лежит в adm.php ?
да

Добавлено через 1 минуту
Цитата Сообщение от Vovan-VE Посмотреть сообщение
А точнее? Он попадает в ветку if и выводит 'wdger' с alert('данные не добавлены')? Попробуйте временно закомментировать header().
в том то и дело, что не попадает он туда вообще, не выводит 'wdger', если убрать header то кнопка вообще не работает!
0
9 / 9 / 3
Регистрация: 08.10.2012
Сообщений: 62
11.11.2013, 18:01
уберите action у формы
0
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 18:03  [ТС]
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
а и весь этот код лежит в adm.php ?
без isset этот код работает, но проблема в том, что там есть еще и удаление данных в админ-меню. подозреваю, что если разделить его по файлам, может и заработать, но все же интересно, что там может быть не так!
да, меню (удаление, добавление) реализуется switch.

Добавлено через 53 секунды
Цитата Сообщение от ELked Посмотреть сообщение
уберите action у формы
как это? а как же будут передаваться данные?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
11.11.2013, 18:03
Цитата Сообщение от gylayko Посмотреть сообщение
то кнопка вообще не работает!
Ладно, тогда в лоб:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
var_dump($_SERVER['REQUEST_METHOD']);
print_r($_POST);
 
if (...) {
   ...
 
   // уберите header()
}
else {
    ... форма
}
0
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 18:27  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Ладно, тогда в лоб:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
var_dump($_SERVER['REQUEST_METHOD']);
print_r($_POST);
 
if (...) {
   ...
 
   // уберите header()
}
else {
    ... форма
}
так выдает string(3) "GET" Array ( )
это что значит? не могу найти информации.

Добавлено через 19 минут
получается POST меняется на GET как-то?
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
11.11.2013, 20:15
Цитата Сообщение от gylayko Посмотреть сообщение
так выдает string(3) "GET" Array ( )
это что значит? не могу найти информации.

Добавлено через 19 минут
получается POST меняется на GET как-то?
нет это значит что массив пустой.. т.к. Array ( ) =>isset lдаст фалсе

Добавлено через 3 минуты
хмм.. ваш код работает.. ( если у вас в конце ?> дописан... )
так что я предполагаю пост гдето раньше обнуляется
1
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 20:41  [ТС]
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
так что я предполагаю пост гдето раньше обнуляется
да где он может обнуляться? add только тут используется! вот весь код на странице
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
echo '
   <UL>
    <Li><H4><a href = adm.php?ch=',1,'>Добавить новость<a></H4>
    <Li><H4><a href = adm.php?ch=',2,'>Удалить новость<a></H4>
    <Li><H4><a href = adm.php?ch=',3,'>Выход<a></H4>
   </UL>
 </div>
';
 
 if(isset($_GET['ch']))
  {
switch($_GET['ch']) {
case 1:
var_dump($_SERVER['REQUEST_METHOD']);
print_r($_POST);
if(isset($_POST['add'])) 
{ 
 $link = mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
 mysql_select_db("news",$link) or die("Нет соединения с БД".mysql_error());//подключаемся к базе
 mysql_query("SET NAMES utf8");
     if (isset ($_POST['nam'])) {$namDB = $_POST['nam'];}
     if (isset ($_POST['desc'])) {$descDB = $_POST['desc'];}
     if (isset ($_POST['tex'])) {$texDB = $_POST['tex'];}
     if (isset ($_POST['auth'])) {$authDB = $_POST['auth'];}
     $result = mysql_query("INSERT INTO `new`(`name`, `description`, `document`, `author`) VALUES ('$namDB','$descDB','$texDB','$authDB')");
     if ($result== 'true') 
     {echo "<script type='text/javascript'>alert('данные успешно добавлены')</script>";}
     else echo "<script type='text/javascript'>alert('данные не добавлены')</script>";
     header("Location: adm.php"); 
 mysql_close($link);
} 
else
{
?>    
 <html>
     <font align="center"><H2>Добавить новость</H2></font>
     <form action="adm.php" method="post">
        <p align="center">Название <input type="text" name="nam" style="width: 80%;"/><br>
        <p align="center">Описание<br>
        <p align="center"><textarea rows="6" cols="77.4" name="desc"></textarea></p>
        <p align="center">Текст новости<br>
        <p align="center"><textarea rows="18" cols="93" name="tex"></textarea></p>
        <p align="right">Автор<input type="text" name="auth" /><br>
        <p align="center"><input type="submit" name="add" value="Добавить" />
   </form>
 </html>
<?php
} 
break;
 
case 2:
echo <<<EOF
      <font align="center"><H2>Удалить новость</H2></font>
      <font align="center"><H4>Кликните по новости, которую хотите удалить</H4></font>
EOF;
$link = mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
mysql_select_db("news",$link) or die("Нет соединения с БД".mysql_error());//подключаемся к базе
mysql_query("SET NAMES utf8");
  if (isset($_GET['choise'])) 
    {
     $choiseDB= $_GET['choise'];
     $result = mysql_query("DELETE FROM new WHERE N='$choiseDB'") or die("ERROR:".mysql_error());//делаем запрос на выборку
     echo "<script type='text/javascript'>alert('данные удалены')</script>";
     header("Location: news.php");
    }
    else
    {
      $result = mysql_query("SELECT * FROM new");
      while($row = mysql_fetch_array($result)) 
       {
        print ("<font align='center'><H2><a href = adm.php?choise=".$row['N'].">".$row['name']."</a></H2>");
        print ("<H3>".$row['description']."</H3><br><p></face>");
       }
    }
echo '</div>'; 
 break;
  
case 3:
  header("Location: news.php");
  break;
}
}
?>
удаление, кстати, тоже не работает и тоже идет тупое перенаправление на страницу adm.php и данные в бд не обновляются.
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
11.11.2013, 21:07
Цитата Сообщение от gylayko Посмотреть сообщение
да где он может обнуляться? add только тут используется! вот весь код на странице
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
echo '
   <UL>
    <Li><H4><a href = adm.php?ch=',1,'>Добавить новость<a></H4>
    <Li><H4><a href = adm.php?ch=',2,'>Удалить новость<a></H4>
    <Li><H4><a href = adm.php?ch=',3,'>Выход<a></H4>
   </UL>
 </div>
';
 
 if(isset($_GET['ch']))
  {
switch($_GET['ch']) {
case 1:
var_dump($_SERVER['REQUEST_METHOD']);
print_r($_POST);
if(isset($_POST['add'])) 
{ 
 $link = mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
 mysql_select_db("news",$link) or die("Нет соединения с БД".mysql_error());//подключаемся к базе
 mysql_query("SET NAMES utf8");
     if (isset ($_POST['nam'])) {$namDB = $_POST['nam'];}
     if (isset ($_POST['desc'])) {$descDB = $_POST['desc'];}
     if (isset ($_POST['tex'])) {$texDB = $_POST['tex'];}
     if (isset ($_POST['auth'])) {$authDB = $_POST['auth'];}
     $result = mysql_query("INSERT INTO `new`(`name`, `description`, `document`, `author`) VALUES ('$namDB','$descDB','$texDB','$authDB')");
     if ($result== 'true') 
     {echo "<script type='text/javascript'>alert('данные успешно добавлены')</script>";}
     else echo "<script type='text/javascript'>alert('данные не добавлены')</script>";
     header("Location: adm.php"); 
 mysql_close($link);
} 
else
{
?>    
 <html>
     <font align="center"><H2>Добавить новость</H2></font>
     <form action="adm.php" method="post">
        <p align="center">Название <input type="text" name="nam" style="width: 80%;"/><br>
        <p align="center">Описание<br>
        <p align="center"><textarea rows="6" cols="77.4" name="desc"></textarea></p>
        <p align="center">Текст новости<br>
        <p align="center"><textarea rows="18" cols="93" name="tex"></textarea></p>
        <p align="right">Автор<input type="text" name="auth" /><br>
        <p align="center"><input type="submit" name="add" value="Добавить" />
   </form>
 </html>
<?php
} 
break;
 
case 2:
echo <<<EOF
      <font align="center"><H2>Удалить новость</H2></font>
      <font align="center"><H4>Кликните по новости, которую хотите удалить</H4></font>
EOF;
$link = mysql_connect("localhost","root","") or die("Could not connect to MySQL server!");
mysql_select_db("news",$link) or die("Нет соединения с БД".mysql_error());//подключаемся к базе
mysql_query("SET NAMES utf8");
  if (isset($_GET['choise'])) 
    {
     $choiseDB= $_GET['choise'];
     $result = mysql_query("DELETE FROM new WHERE N='$choiseDB'") or die("ERROR:".mysql_error());//делаем запрос на выборку
     echo "<script type='text/javascript'>alert('данные удалены')</script>";
     header("Location: news.php");
    }
    else
    {
      $result = mysql_query("SELECT * FROM new");
      while($row = mysql_fetch_array($result)) 
       {
        print ("<font align='center'><H2><a href = adm.php?choise=".$row['N'].">".$row['name']."</a></H2>");
        print ("<H3>".$row['description']."</H3><br><p></face>");
       }
    }
echo '</div>'; 
 break;
  
case 3:
  header("Location: news.php");
  break;
}
}
?>
удаление, кстати, тоже не работает и тоже идет тупое перенаправление на страницу adm.php и данные в бд не обновляются.
мдя.. ну это все меняет
HTML5
1
2
<form action="adm.php" method="post">
<form action="adm.php?ch=1" method="post">
замените
1
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 21:11  [ТС]
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
замените
на что?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.11.2013, 21:29
Цитата Сообщение от gylayko Посмотреть сообщение
на что?
одну строчку замените на другую
0
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 22:31  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
одну строчку замените на другую
действительно, данные добавляет, но почему не выводит соответствующее сообщение?
PHP
1
2
3
     if ($result== 'true') 
     {echo "<script type='text/javascript'>alert('данные успешно добавлены')</script>";}
     else echo "<script type='text/javascript'>alert('данные не добавлены')</script>";
а что насчет удаления? там что не так может быть?
0
11.11.2013, 22:32

Не по теме:

шифруется, наверное..

0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
11.11.2013, 22:47
Цитата Сообщение от gylayko Посмотреть сообщение
действительно, данные добавляет, но почему не выводит соответствующее сообщение?
PHP
1
2
3
     if ($result== 'true') 
     {echo "<script type='text/javascript'>alert('данные успешно добавлены')</script>";}
     else echo "<script type='text/javascript'>alert('данные не добавлены')</script>";
а что насчет удаления? там что не так может быть?
должно выводить... поидее
попробуйте так
PHP
1
2
3
4
                if ($result== 'true')
                {echo "<script type='text/javascript'>alert('данные успешно добавлены');location.href='adm.php';</script>";}
                else echo "<script type='text/javascript'>alert('данные не добавлены');location.href='adm.php';</script>";
                mysql_close($link);
Добавлено через 3 минуты
насчет удалени замените

PHP
1
2
                    print ("<font align='center'><H2><a href = adm.php?choise=".$row['N'].">".$row['name']."</a></H2>");
                    print ("<H3>".$row['description']."</H3><br><p></face>");
на это

PHP
1
2
                    print ("<font align='center'><H2><a href = adm.php?ch=2&choise=".$row['N'].">".$row['name']."</a></H2>");
                    print ("<H3>".$row['description']."</H3><br><p></face>");
а ну и везде где Header удалите и в js location.href = "adm.php";
1
30 / 29 / 15
Регистрация: 28.09.2011
Сообщений: 449
11.11.2013, 22:51  [ТС]
Цитата Сообщение от JxF-TEAM Посмотреть сообщение
должно выводить... поидее
попробуйте так
PHP
1
2
3
4
                if ($result== 'true')
                {echo "<script type='text/javascript'>alert('данные успешно добавлены');location.href='adm.php';</script>";}
                else echo "<script type='text/javascript'>alert('данные не добавлены');location.href='adm.php';</script>";
                mysql_close($link);
Добавлено через 3 минуты
насчет удалени замените

PHP
1
2
                    print ("<font align='center'><H2><a href = adm.php?choise=".$row['N'].">".$row['name']."</a></H2>");
                    print ("<H3>".$row['description']."</H3><br><p></face>");
на это

PHP
1
2
                    print ("<font align='center'><H2><a href = adm.php?ch=2&choise=".$row['N'].">".$row['name']."</a></H2>");
                    print ("<H3>".$row['description']."</H3><br><p></face>");
а ну и везде где Header удалите и в js location.href = "adm.php";
спасибо огромное, все работает! все таки со switch я намутил в ссылках
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2013, 22:51
Помогаю со студенческими работами здесь

Не работает if isset
Доброго времени суток. Возникла странного рода проблема. Пишу регистрацию для сайта. Передаю переменные скрипту и там проверяю,...

Не работает if (!isset($id)
&lt;?php include(&quot;blocks/bd.php&quot;); ?&gt; &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;...

Isset не работает, как нужно
Всем доброго времени суток. Вкратце суть проблемы. Есть блок текстареа. Есть обработчик этого блока(парсер) так вот надо чтобы он...

Условие isset
Помоги понять, почему не выполняется условие &quot;//Если тема выбрана&quot; ? //Если кнопка &quot;Начать тест&quot; не нажата ...

Переменная в isset()
Здравствуйте. Пробовал так if (isset($_POST)) { $opros.$d =$_POST; } Мне нужно, чтобы шла проверка в цикле, если существует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru