Кнопка повторного изображения PHP представляет форму

Я создавал веб-сайт, где мои пользователи могут оценить изображения, которые были загружены. В настоящее время я использую радио-кнопки и кнопку отправки, чтобы получить пользовательский рейтинг и спасти его в системе. Я хотел бы изменить это так, чтобы код использовал щелчки изображения, чтобы получить пользовательский рейтинг. До сих пор у меня есть следующий код, однако, он только работает на одну кнопку с изображением. Есть ли любой способ изменить это, чтобы получить результат в зависимости от того, на какое изображение нажали.

Кодекс:

HTML

<form>
<input
        type="image"
        name="flag_submit"
        src="img/Flag.png"
        onmouseover="this.src='img/Flag_Click.png'"
        onmouseout="this.src='img/Flag.png'"
        height="30"
        width="30"
        />
</form>

PHP

if (isset($_POST['flag_submit_x']))
{
    //Do process of rating.
}   

Есть ли какой-либо способ, которым я мог создать кнопки повторного изображения, и в коде PHP обнаруживают, какая кнопка с изображением была нажата?

1
И что PHP закодировал бы, чтобы должным быть зарегистрировать это?
добавлено автор Glen Robson, источник
Я попробовал это, но не работа. (см. ответ на его ответ),
добавлено автор Glen Robson, источник
Поменяйте имя на множество имя = "flag_submit[1]" . Назначьте различную стоимость для каждого изображения, и вы получили его.
добавлено автор Peon, источник
если (isset ($ _POST [' flag_submit'] [1])) для того особого случая, предлагаемого Dainis
добавлено автор Rodion Baskakov, источник

5 ответы

  1. Изменяет название на множество имя = "flag_submit[1]" . Назначьте различную стоимость для каждого изображения, и вы получили его.

  2. Рид это как множество на PHP стороне: , если (isset ($ _POST ['flag_submit'] [1])) .

Или лучше был бы, петля throu, если $ _POST ['flag_submit'] и находит все ценности:

foreach ( $_POST['flag_submit'] as $value )  {
    echo $value . ' has been clicked.';
}

<form method="post">
<input type="image" name="rateButton[1]" src="img/Rate1.png" height="40" width="40" value="1"/> T
<input type="image" name="rateButton[2]" src="img/Rate1.png" height="40" width="40" value="1"/> T
<input type="image" name="rateButton[3]" src="img/Rate1.png" height="40" width="40" value="1"/> T
<input type="image" name="rateButton[4]" src="img/Rate1.png" height="40" width="40" value="1"/> T
</form>
<?php
    if ( isset( $_POST['rateButton'] ) ) {
        foreach ( $_POST['rateButton'] as $key => $value ) {
            echo 'Image number '.$key.' was clicked.';
        }
    }
?>

В вашем случае вы не заботитесь, что оценивает его, посылает, все, о чем необходимо заботиться об этом, ключ, который использовался, чтобы представить форму, потому что всегда будет только один набор ключей.

3
добавлено
<входной тип = имя "изображения" = "rateButton[1]" src = "img/Rate1.png" onmouseover = "this.src =' img/Rate1.png'"; onmouseout = "this.src =' img/Rate1.png'"; высота = "40" ширина = "40" стоимость = "1"/>, Который является для изображения 1
добавлено автор Glen Robson, источник
оцените = "1" - стоимость = "10" для каждого уважаемого входа.
добавлено автор Glen Robson, источник
Хорошо его почти работа.... Когда я образовываю петли через $ _POST [' flag_submit'] и возвращение стоимость, поскольку вы показали в своем ответе, что я получаю случайные ценности (14, 23, 24, 29, 17) и т.д... Если я нажимаю кнопку один, я получаю различную стоимость каждый раз.
добавлено автор Glen Robson, источник
Я приношу извинения, что у меня была опечатка на мое имя кнопки. Его большая работа. Спасибо за вашу помощь.
добавлено автор Glen Robson, источник
Я попробовал это, и это, кажется, не работает. Я добавил [1] - [10] на названия моих кнопок с изображением и использовал если (isset ($ _POST [' flag_submit'] [1])), повторяют "Номер 1". Когда я нажимаю на первое изображение, текст Номер 1 не показывают?
добавлено автор Glen Robson, источник
Какие ценности вы назначили на изображения?
добавлено автор Peon, источник
Сделайте, чтобы вы настроили onclick = "document.form.submit (); событие?
добавлено автор Peon, источник
Можно ли отправить его?
добавлено автор Peon, источник
добавлено автор Peon, источник

Вот уловка, которая могла бы помочь:

Я создал страницу HTML формы:

КОДЕКС

<КОДЕКС><html><body><form method="post" action="show_post.php">
<input type="image" name="stamp[1134118800]" src="redstar.gif" value="red">
<input type="image" name="stamp[1134140400]" src="greenstar.gif" value="green">
</form></body></html>

В сценарии, которому форма подчиняется, show_post.php, говорится:

КОДЕКС

<КОДЕКС><?php
print '<html><body>
';

print_r ($_POST);

print '
</body></html>'; ?>

When I click on the first image, I get:

<КОДЕКС>Array
(
    [stamp] => Array
        (
            [1134118800] => 21
        )

)

When I click on the second image, I get:

<КОДЕКС>Array
(
    [stamp] => Array
        (
            [1134140400] => 15
        )

)

This works with Opera, IE, and Mozilla.

1
добавлено
Я точно не понимаю, как это работает. Что является ценностями [1134118800] и [1134140400] и где сделал вы получаете их от. И почему результат каждого из них 21 и 15?
добавлено автор Glen Robson, источник

Первый код хорошо работает для меня, Поменяйте имя на имя множества = "flag_submit[1]". Назначьте различную стоимость для каждого изображения, и вы получили его.

Прочитайте его как множество на PHP стороне:

if (isset($_POST['flag_submit'][1]))
1
добавлено

это могло бы помочь вам

<?php
if($_POST['button'])
{
    echo "you have pressed button ".$_POST['button'];
}
?>

<form method="POST">
    <input type="submit" name="button" value="1" class="overridecss"/>
    <input type="submit" name="button" value="2" class="overridecss"/>
    <input type="submit" name="button" value="3" class="overridecss"/>
    <input type="submit" name="button" value="4" class="overridecss"/>
    <input type="submit" name="button" value="5" class="overridecss"/>
</form>
0
добавлено
Как вы имеете в виду?
добавлено автор Glen Robson, источник
Это работало бы, если у меня уже есть многократные другие входные кнопки в той же самой форме, но с различными именами?
добавлено автор Glen Robson, источник
зависит от ситуации.. что вы делаете с формой?
добавлено автор khizar ansari, источник

You can have multiple <button type="submit"> elements with the same name but different values that can contain the images, only the value of the one that has been clicked will be sent.

For more info, see the specification: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-button-element

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing