За последние 24 часа нас посетили 52823 программиста и 1768 роботов. Сейчас ищут 976 программистов ...

Zerox страшно тупит и немного флуда

Тема в разделе "Прочее", создана пользователем Zerox, 5 мар 2010.

  1. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    Здравствуйте! У меня вот такая вот проблемка:
    есть форма, в ней кроме всего остального есть чекбоксы, но почему то, через $_POST не передаётся значение одного чекбокса. Помогите пж, вот часть формы:
    HTML:
    1. <p>
    2.    <input type="checkbox" name="CS 1.6" value="Counter-Strike 1.6" />Counter-Strike 1.6<br>
    3.    <input type="checkbox" name="War3" value="WarCraft III" />WarCraft III<br>
    4.    <input type="checkbox" name="CSS" value="Counter-Strike Source" />Counter-Strike Source<br>
    5.    <input type="checkbox" name="CoD4" value="Call Of Duty 4: Modern Warfare" />Call Of Duty 4: Modern Warfare<br>
    6.    <input type="checkbox" name="CoD6" value="Call Of Duty 6: Modern Warfare2" />Call Of Duty 6: Modern Warfare2<br>
    7. </p>
    а вот тут:
    PHP:
    1. echo $_POST['CS 1.6'];
    пусто
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
  3. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Всегда меня напрягали пробелы в идентификаторах. Насколько мне известно, в пхп есть (был) механизм отражения переменных хттп запроса (и многих других) на реальные переменные. register globals - так вроде это называется. мне эта затея сразу не понравилась, поэтому я ею никогда не пользовался. Так вот. Если бы этот регистер глобалс сделал из
    <input type="checkbox" name="CS 1.6" value="Counter-Strike 1.6" />
    переменную, то как бы к ней нужно было обращаться? типа
    if ($CS 1.6) ...
    что за муть? пхп бы грязно выругался.
    короче, попробуй без пробела название инпута. тем более, что от остальных инпутов он как-раз наличием пробела и отличается
    я бы даже всякие точки не рекомендовал использовать.
     
  4. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    да я пробывал делать просто CS всё равно не работает! Я вообще не понимаю в чём может быть дело!
     
  5. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    делай тогда вар_дамп
    потом пость сюды
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Это чекбокс, он или пустой если не выбран, или value если выбран.
    И из CS 1.6 превращается в CS_16
     
  7. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    о..да?!
    проверить не могу, денвер тупит.
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    CS_1_6
     
  9. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    XSS А что? «X» поставили только потому что css уже был :)
     
  11. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    вы говорите по теме!!
     
  12. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Zerox
    Вам уже несколько раз сказали по теме, вы не послушали.
    var_dump ($_POST);

    http://phpfaq.ru/debug - ещё это почитайте
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    по теме
     
  14. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    Elkaz
    я грю, денвер выпендриваецо
     
  15. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Вы, извините, дурак. Вам уже сколько раз намекнули, что это особенность самого PHP. Примите как факт.

    Если вы хоть немного интересуетесь языком, на котором пишите, то вы бы знали что в PHP переменные не могут содержать знак точка ("."), а ведёт это ограничение к дням register_globals, когда данные из GET/POST запросов автоматом преобразовывались в переменные и все сонимательные и запрещённые символы автоматом приводились к знаку подчёркивания ("_").

    Если бы вы уж совсем хотели бы изучить нормально PHP, то знали бы все причины, по которым происходит такое преобразование, а так же о планах его возможно отменить в PHP6, т.к. прямого перевода GET/POST данных в переменные там просто не будет существовать.
     
  16. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    вы тоже
    это я понял с самого начала
    и это мне уже объяснили
    Извините, но ничего нового вы мне не сказали, кроме
     
  17. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    вот дамп
    PHP:
    1. array(13) { ["rlogin"]=>  string(5) "Zerox" ["rpass"]=>  string(6) "123456" ["rpass_r"]=>  string(6) "123456" ["date"]=>  string(4) "1992" ["name"]=>  string(8) "Вячеслав" ["fam"]=>  string(8) "Алексеев" ["email"]=>  string(20) "joker-main@yandex.ru" ["icq"]=>  string(9) "403993613" ["War3"]=>  string(12) "WarCraft III" ["CSS"]=>  string(21) "Counter-Strike Source" ["CoD4"]=>  string(30) "Call Of Duty 4: Modern Warfare" ["CoD6"]=>  string(31) "Call Of Duty 6: Modern Warfare2" ["nick"]=>  string(5) "Zerox" }
     
  18. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    я посмотрел..переменная CS вообще не создаётся?
    з.ы перед этим поменял имя чекбокса на CS и в массиве поставил trim($_POST['CS'])
     
  19. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Zerox
    PHP:
    1.  
    2. <?php
    3.  
    4. if (count ($_POST) > 0){
    5.     echo '<pre>' . print_r ($_POST, true) . '</pre>';
    6. }
    7. ?>
    8. <form method="post" action="">
    9. <p>
    10.    <input type="checkbox" name="CS 1.6" value="Counter-Strike 1.6" />Counter-Strike 1.6<br>
    11.    <input type="checkbox" name="War3" value="WarCraft III" />WarCraft III<br>
    12.    <input type="checkbox" name="CSS" value="Counter-Strike Source" />Counter-Strike Source<br>
    13.    <input type="checkbox" name="CoD4" value="Call Of Duty 4: Modern Warfare" />Call Of Duty 4: Modern Warfare<br>
    14.    <input type="checkbox" name="CoD6" value="Call Of Duty 6: Modern Warfare2" />Call Of Duty 6: Modern Warfare2<br>
    15.  </p>
    16.  <input type="submit" name="ok" value="Ololo">
    17.  </form>
    18.  
    Вывод:
     
  20. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    так...и чё теперь....
     
  21. Zerox

    Zerox Активный пользователь

    С нами с:
    18 янв 2010
    Сообщения:
    123
    Симпатии:
    0
    ого! Что то я не понял! Не знаю может ли быть такое, но по моему превышено максимальное количество переменных, так как после того как я удалил последний чекбокс всё заработало! Может ли быть такое?
     
  22. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    6 переменных?оО я точно у себя больше передавал...
     
  23. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    ещё один webkill
     
  24. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Mr.M.I.T.
    почему webkill?)
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632