Как отправить переменную php в форме html с заданным значением - PullRequest
0 голосов
/ 02 февраля 2020

У меня проблема с моим PHP кодом. Я пытаюсь отправить переменную на другую страницу. Я знаю, как сделать это с другими переменными, потому что я даю значение для них в форме. Однако, что если у меня есть переменная, которую я хочу отправить с заданным значением (которое я дал ранее)?

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

    <html>
         <body>
            <h1>Select one option...</h1> 
         </body>
        <form action="button2.php" method="post" target="page">
        <input type="submit" name="Add" value="Participate on the event"> 
        <input type="submit" name="Mod" value="Modify my information"> 
        <input type="submit" name="Erase" value="Erase my confirmation"> 
        <input type="submit" name="Info" value="See the event information"> 
            <input type="hidden" name="Dir" value=$Dir"> 
        </form>
        <iframe name="page" src="button2.php"> //llamada al botton.php
        </iframe>
    </html>

Итак, проблема у меня заключается в том, что, очевидно, я отправляю Dir со значением $Dir, в то время как я хочу отправить Dir со значением, которое у него есть (например, C:/user/file.txt). Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 02 февраля 2020

Проблема

Вы пытаетесь преобразовать переменную PHP в строку пути к файлу в HTML.

Решение

Вы можете использовать echo для вывода строки. Делайте c здесь

<input type="hidden" name="Dir" value="<?php echo $Dir; ?>"> 

Будьте осторожны с этим. Вы помещаете путь к файлу в скрытое поле, но любой может увидеть его, если заглянет в DOM. Возможно, было бы безопаснее изменить это значение на идентификатор, который можно использовать для определения того, какой путь к файлу вам нужен при отправке этой формы, а затем использовать его на сервере для поиска правильного пути к файлу. Это также сделало бы его более динамичным c.

Пример

$filePathID = 1;

<input type="hidden" name="Dir" value=<?php echo $filePathID; ?>"> 

Если вы выберете этот маршрут, вы можете обработать его на сервере следующим образом:

if ($_POST['Dir'] == 1) {
    $filePath = "C:/user/file.txt"
}    else   {
    $filePath = "C:/user/otherFile.txt"
}

// Do something with the... $filePath;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...