Я столкнулся с проблемой при попытке выполнить команду с каждым отдельным URL-адресом, загруженным из XML, каждый раз, когда я нажимаю кнопку, загружается один и тот же URL-адрес. XML

0
robotron 3 Мар 2021 в 19:31

1 ответ

Лучший ответ

Что вы сделали неправильно, так это то, что вы создаете 3 формы без идентификатора, и это заставляет каждую кнопку отправки отправлять все URL-адреса на бэкэнд. Поместите инкрементный идентификатор в форму .. ниже работает код.


<?php ?>
    <div class='container'>

        <?php
        $xml = simplexml_load_file( 'channels.xml' ) or die( 'Failed to read data' );
        $i = 0;


        foreach ( $xml->channels as $channelsElement ):
            ?>

            <img class='responsive' src='<?= $channelsElement->banner ?>'><br>
            <form method='post' action='index.php' id=form-<?= $i ?> >
                <input type='hidden' type='text' name='url' value='<?= $channelsElement->url ?>'><br>
                <input id='wrapper' type='submit' name='submit' value='PLAY CHANNEL'>
            </form>
            <br>

            <?php
            $i ++;
        endforeach;
        ?>
    </div>

<?php
if ( isset( $_POST['url'] ) ) {
    echo $_POST['url'];
    shell_exec( "sudo killall vlc" );
    shell_exec( "sudo killall omxplayer.bin" );
    shell_exec( "sudo omxplayer `youtube-dl -g " . ( $_POST['url'] ) . " ` >> /dev/null &" );
}
?>

1
Chanaka Karunarathne 3 Мар 2021 в 16:53