За последние 24 часа нас посетили 16745 программистов и 1694 робота. Сейчас ищут 874 программиста ...

простой массив

Тема в разделе "PHP для новичков", создана пользователем missAisa, 7 июн 2011.

  1. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Добрый день!
    С PHP знакома самую малость по Joomla. Прошу совета, вернее код.
    Есть на сайте поля для выбора, посетитель отмечает выбранные поля и наживает "отправить", приходит ответ сколько это стоит, то что он выбрал.
    По сути нужен массив и функция, которая выбранное прибавляет и отсылает на страницу.
    С синтаксисом PHP не знакома, поэтому и прошу помощи.
    Хоть приблизительно.

    Вроде так: создаем форму - <form action="obrabotka.php" method="POST" name="form1">
    присваиваем name="значение"
    потом в файле obrabotka.php создаем массив с индексами значений.
    Вопрос: как присвоить индексам значение цифр?
    потом пишем функцию выборки значений
    функция прибавляет и выводит а экран сумму.
    Все в теории к сожалению :cry:
     
  2. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    HTML:
    1. <form method="POST">
    2. <input type="checkbox" name="a[]" value="100"> 100<br>
    3. <input type="checkbox" name="a[]" value="120"> 120<br>
    4. <input type="checkbox" name="a[]" value="80"> 80<br>
    5. <input type="submit">
    6. </form>
    PHP:
    1. <?php
    2. echo array_sum($_POST['a']);
     
  3. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Скажите, пожалуйста, я на Joomla, куда этот php код вставлять. В шаблон попробовала, не получается, в материал вместе с html вставила , тоже после отправке результата нет. Как быть? Может его организовать отдельным файлом?
     
  4. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    пишет:
    The requested URL /studio/function.array-sum was not found on this server

    и

    Warning: array_sum() [function.array-sum]: The argument should be an array in Z:\home\localhost\www\studio\templates\tj_happiness\index.php on line 67
     
  5. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Л Ю Д И !!!!!

    Скажите куда php код на Joomla вставить надо. П О Ж А Л У Й С Т А!!!!
     
  6. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В контроллер модуля
     
  7. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    С П А С И Б О [vs]!!!!
     
  8. georgela

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

    С нами с:
    11 май 2011
    Сообщения:
    395
    Симпатии:
    0
    Обычная статья на Джумле поодерживает html,формы,Javascript поэтому нужно создать статью,в которой будет данная форма.
    Обработка.php в нее собственно запихать обработку в базу данных и в разных случаях переадресацию на разные статьи Джумлы.(допустим письмо отправлено или нет).Можно использовать Аякс и Jquery -будет вам счастье
     
  9. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    А по подробнее с переадресацией, как правильно синтаксис писать на статью:

    PHP:
    1.   if($_POST['a'] =="true" ) {echo array_sum($_POST['a']); [url=http://..............;]http://..............;[/url]}
    еще вопрос:
    если я проставлю индексы:

    HTML:
    1. <form method="POST">
    2.  <input type="checkbox" name="a[1]" value="100"> 100<br>
    3.  <input type="checkbox" name="a[2]" value="120"> 120<br>
    4.  <input type="checkbox" name="a[3]" value="80"> 80<br>
    5.  <input type="submit">
    6.  </form>
    надо добиться, чтобы было две переадресации: одна с ответом array_sum на статью
    другая с индексами выбранными на мыло

    PHP:
    1. if($_POST['a'] =="true" ) {echo array_sum($_POST['a']); [url=http://..............;]http://..............;[/url]}
    2.                                              { echo print_r($_POST['a']); mail("universe10@rambler.ru")}
    3.  
    4.  
    как правильно оформить синтаксис? Подскажите, пожалуйста.
     
  10. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    эточовообще?
     
  11. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Очень смешно, но не мне.
    Пытаюсь в файле обработка.php сделать переадресацию на два адреса: на страницу статьи и на e-mail
    Синтаксис php не знаю, поэтому и спрашиваю как правильно сделать.
    Подскажите, пожалуйста.
     
  12. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Вот это код не работает под заданное условие, а выводит два условия вместе. Где здесь ошибка?
    PHP:
    1.  
    2. <?php
    3. if($_POST['a'] =="0");
    4.  echo "Вы ничего не выбрали. Попробуйте еще.";
    5. if($_POST['a'] =="1");
    6. echo array_sum($_POST['a']);
    7. ?>
     
  13. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Как это не тебе? Этот url тут вообще не в тему и приводит к неработоспособности всего скрипта.
    http://phpfaq.ru/debug
     
  14. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Спасибо за ссылку. Скрипт не рабочий, вернее не существующий, вернее без переадресации. Я организовала все по другому принципу.
    Но вопрос остается вопросом: 1. как сделать переадсесацию?
    2. почему скрипт выводит два условия одновременно?
     
  15. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. header('Location: google.com');
    и не забыть http://phpfaq.ru/headers
     
  16. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Спасибо огромное [vs]!
     
  17. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Кричу о помощи! Л Ю Д И!!! Помогите, не могу разобраться. Массив один. Если ничего не выбрано:
    "Попробуйте еще"
    Если выбрано - результат(сумма).
    PHP:
    1.  <?php
    2.  if($_POST['a'] =="0");
    3.   echo "Вы ничего не выбрали. Попробуйте еще.";
    4.  if($_POST['a'] =="1");
    5.  echo array_sum($_POST['a']);
    6.  ?>
    7.    
    Я знаю, что это не правильно. Выводит два условия одновременно. Но как же добиться, чтобы было множественное условие.
     
  18. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    А что должно выполняться, допустим, в первом блоке if?
    Расставьте фигурные скобки. =)
     
  19. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. <form method="POST">
    2. <input type="checkbox" name="a[]" value="10" />
    3. <input type="checkbox" name="a[]" value="10" />
    4. <input type="checkbox" name="a[]" value="10" />
    5. <input type="submit" />
    6. </form>
    7. <?php
    8. if (isset($_POST['a'])) {
    9.      echo array_sum($_POST['a']);
    10. } else {
    11.     echo 'Вы ничего не выбрали';
    12. }
    13. ?>
    сохрани в отдельный скрипт и запусти. Когда поймешь, как оно работает, встраивай в джумлу.
    Или тебе в раздел Free-Lance...
     
  20. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Господи, я не знаю, как тебя благодарить [vs]!!! Спасибо тебе!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! От души!!! З А Р А Б О Т А Л О!
     
  21. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    PHP вставила через modul_php в страницу ответа, только почему-то не показывается сообщение 'Вы ничего не выбрали'.


    Решила сделать как посоветовал [vs] отдельным скриптом, только не знаю, как отправить на ту страницу, которую надо. Если так:

    PHP:
    1. <?php
    2.  if (isset($_POST['a'])){
    3. header ("location:http://127.0.0.1/studio/index.php?option=com_content&amp;view=article&amp;id=8&amp;Itemid=9");
    4. echo array_sum($_POST['a']);
    5.       } else {
    6.      echo 'Вы ничего не выбрали';
    7.  }
    8. ?>
    9.  
    то выводит просто шаблон страницы без решений, короче пустую страницу сайта. А если поставить первой функцию, а потом URL, то выводит ответ только на белую страницу, без нужного URLа (пишет, что шапка уже прибыла и поменять он не может)
    Опять, что-то я не правильно прописываю

    Как со скрипка отправить на ту страницу, где должен быть ответ? Помогите, 3 день бьюсь над ним, сил уже нет. Диплом скоро сдавать, а я застряла над этой страницей. Пожалуйста.
     
  22. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    что отправить?
     
  23. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Показать пользователю на какую сумму он выбрал пунктов. Чел выбирает пункты, жмет на кнопку отправить - переход на другую страницу с результатом ответа.

    А если он ничего не выбрал, тогда получает страницу с надписью"Вы ничего не выбрали". Я за электронные адреса ничего не говорю, мне надо только ответ для посетителя на странице.
     
  24. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Для этого вам надо форму отправлять на эту страницу, а не переадресацию делать.
     
  25. missAisa

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

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Подскажи, [vs], пожалуйста.