Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите разобраться с $_Get
Форумы портала PHP.SU » PHP » Программирование на PHP » Помогите разобраться с $_Get

Страниц (2): [1] 2 »
 

1. MasterofCDM - 25 Июня, 2008 - 15:33:24 - перейти к сообщению
Не могу понять чего не работает:

Переменная "colEr" - это кол-во ошибок
Цитата:

<?

if (!isset ($_GET ["colEr"]))
{
$_GET ["colEr"] = 0;
}

$colEr = $_GET ["colEr"];

print $colEr;
$colEr = 1;

?>


Там еще присутствует кнопка "Submit" и сколько бы я ее не нажимал, все равно на экране будет "0"
2. EuGen - 25 Июня, 2008 - 15:47:27 - перейти к сообщению
А Вы проверяли, что у Вас приходит в $_GET?:
3. MasterofCDM - 25 Июня, 2008 - 16:05:11 - перейти к сообщению
Ввел строчку
Цитата:
print_r($_GET);


Он выдал:

Цитата:

Array ( )
Это нормально? У меня еще используются и другие переменные полученные от "input = "text"", они работают без проблем, а это ни в какую.
4. RomAndry - 25 Июня, 2008 - 16:18:27 - перейти к сообщению
запустите ваш файл file.php?foo=1&bar=2
и в нем print_r($_GET);
и смотрите что получается у меня и что не получается у вас.
5. EuGen - 25 Июня, 2008 - 17:09:02 - перейти к сообщению
Cкорее всего, в Вашей форме стоит method=POST
6. MasterofCDM - 25 Июня, 2008 - 21:30:07 - перейти к сообщению
Цитата:
Cкорее всего, в Вашей форме стоит method=POST

Нет - method=GET

Ради теста сделал маленькую прогу, помогите разобраться почему переменная "c" не передается?
Цитата:
<title></title>
</head>

<body>


<?php
$a = $_GET["a"]; $b = $_GET["b"]; $c = $_GET["c"];
print "<form method =\" get\" action =\"#\"><br>\n";
print "A = <input name =\"a\" value =\" $a\"><br>\n";
print "B = <input name =\"b\" value =\" $b\">\n";

print "<input name =\"butt\" value =\"ok\">\n";

$c = 1;

print "<input type =\"hidden\" name =\" math\">\n";
print "<input type =\"submit\" value =\" Ok\"></form>\n";

print_r($_GET);
?>

</body>

</html>


При нажатии кнопки появляется:
Цитата:
http://localhost/test1?a=+1&b=+2&butt=ok&+math=#
а на экране:
Цитата:
Array ( [a] => 1 [b] => 2 [butt] => ok [math] => )
7. RomAndry - 25 Июня, 2008 - 22:53:17 - перейти к сообщению
что не так тогда?
8. Vanu4 - 25 Июня, 2008 - 23:00:12 - перейти к сообщению
Попробуйте этот код, он намного проще вашего и выдает нормальные результаты.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_GET))
  3. {
  4. echo '<pre>';
  5. print_r($_GET);
  6. }
  7. ?>
  8. <form method="GET">
  9. A = <input type="text" name="a"> <br>
  10. B = <input type="text" name="b"> <br>
  11. <input type="submit" value="OK">
  12. </form>
9. MasterofCDM - 26 Июня, 2008 - 00:00:00 - перейти к сообщению
Цитата:
что не так тогда?

Переменная "c" отсутствует в $_GET.
Цитата:
Попробуйте этот код, он намного проще вашего и выдает нормальные результаты.

Этот код не подойдет. Но все равно спасибо.
Разобрался я в чем дело, не хватает одной строчки
Цитата:
print "<input type =\"hidden\" name =\" с\">\n";

Вставил ее и переменная "c" появилась в $_GET. Теперь знаю зачем нужно поле: input type ="hidden". Всем спасибо за помощь.
10. obi-wan - 26 Июня, 2008 - 08:09:03 - перейти к сообщению
Очень неудобно читать конструкции типа

print "<input type =\"hidden\" name =\" math\">\n";

Почему бы тогда не писать и

print "<title></title>";
print "</head>";

print "<body>";

??

Гораздо удобнее писать так:

PHP:
скопировать код в буфер обмена
  1.  
  2. <title></title>
  3. </head>
  4.  
  5. <body>
  6.  
  7.  
  8. <?PHP
  9. $a = $_GET["a"]; $b = $_GET["b"]; $c = $_GET["c"];
  10. ?>
  11. <form method ="get" action ="#"><br>
  12. A = <input name ="a" value ="<?=$a?>"><br>
  13. B = <input name ="b" value ="<?=$b?>">
  14.  
  15. <input name ="butt" value ="ok">
  16.  
  17. <? $c = 1; ?>
  18.  
  19. <input type ="hidden" name ="math">
  20. <input type ="submit" value ="Ok"></form>
  21.  
  22. <?PHP
  23. print_r($_GET);
  24. ?>
  25.  
  26. </body>
  27.  
  28. </html>
  29.  
11. MasterofCDM - 26 Июня, 2008 - 08:38:57 - перейти к сообщению
Согласен, что так удобнее, но на PHP я еще только учусь, а такая конструкция была приведена в книге, но все приходит с опытом.
12. obi-wan - 26 Июня, 2008 - 08:48:53 - перейти к сообщению
Если позволишь дать совет, не надо читать книгу, в которой приводятся такие конструкции. Да и вообще по php книги сейчас не нужны, вся информация есть в сети, в частности, на этом сайте.
Когда я только-только решил изучать php, у меня дома не было инета и я купил книгу "PHP в WEB-дизайне" издательства BHV. Книга оказалась настолько ужасной, что я вообще ничего в пхп не понял. В итоге мое обучение основам затянулось на очень долго.
Короче, чтобы стать крутым программистом, нужен интернет и больше практиковаться. Все. Книги может если только по философии программирования пригодятся.
13. EuGen - 26 Июня, 2008 - 10:15:21 - перейти к сообщению
Книги читать нужно. Хотя бы на первых порах.
14. MasterofCDM - 26 Июня, 2008 - 10:33:54 - перейти к сообщению
У меня порядко 6 разных книг, благо библиотечный фонд организации позволяет, из них буквально 1 - 2 книжки неплохие, по крайней мере основы там есть, а что посерьезней ни в книге, ни в сети найти не получается, вот и приходиться пробивать все головой...
15. obi-wan - 26 Июня, 2008 - 10:40:19 - перейти к сообщению
После того как я нашел сайт php.su, я очень редко искал что-нибудь по пхп в сети. Там практически все, что нужно есть. "Основ" предостаточно. Справочник - пожалуйста. Статьи.

А что "посерьезней" тебе надо?

 

Powered by ExBB FM 1.0 RC1