2016-12-23 3 views
0

Извините за страшный титул; Я не знал, как правильно это сказать.PHP: Как отправить переменные на текущую страницу?

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

Как отправить переменные, такие как ($ id, $ name, $ time и т. Д.) В функцию выше при нажатии кнопки?

Пример: если (кнопка нажата) -> функция();

+1

Вызов функции 'JavaScript' или' PHP'? –

+1

поделитесь своим кодом, затем задайте вопрос. –

+0

Мой код беспорядок, потому что я пытаюсь понять, как мне нужно это делать. Код - это функция php, включенная в другой файл. –

ответ

1

Просто используйте кнопку отправки затем добавить код, прежде чем работать if(isset($_GET['id'])) { // run you function }

+0

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

+0

Это должно быть частью вашей функции, чтобы определить, есть ли у них разрешение, и вы не делились какой-либо дополнительной информацией, поэтому я могу сделать только гадание 'if (isset ($ _ GET ['id'])) {// проверьте, разрешено ли тогда выполнение функции} else {вы получаете идею} ' – chop62

+0

В основном, это то, что я сделал: https://gyazo.com/fb2a81d7bfdac37ff281f4c3de6de083 и: https://gyazo.com/d00fb035ee4235369872bea384623f33 ... WORKED great ! –

1

Много способов сделать вашу задачу:

  1. Вы можете использовать почтовую форму и кнопку отправки, то просто отправить форму, чтобы отправить переменную.

    <form action="" method="POST"> <input type="hidden" name="id" value="idvale" /> <input type="hidden" name="name" value="idname" /> <input type="hidden" name="time" value="idtime" /> </form>

    Затем получить значение из PHP функции: $ _POST [ 'ID'], $ _POST [ 'имя'], $ _POST [ 'время']

  2. Или вы можете добавить переменный в URL, то используется метод GET из функции PHP:

    <a href="/?id=idvalue&name=namevalue&time=timevalue"><button>click me</button></a>

Но этот метод не является ценной бумагой.

Это основные способы или вы можете использовать javascript для выполнения этой задачи. Надеюсь, это поможет вам.

1

Если ваша функция должна быть выполнена на сервере. Затем, предположив, что ваша кнопка имеет тип 'submit', вы можете передать свои параметры в форме сообщения. Тогда вы можете получить их, используя что-то вроде:

$id = $_POST['id']; 
$name = $_POST['name']; 
$time = $_POST['time']; 

В этом случае, вы бы отправить что-то подобное от клиента:

<form action="yourPage.php" method="post"> 
    <input type="text" name="id" value="DS-YourID-324-Whatever" /> 
    <input type="text" name="name" value="your-name" /> 
    <input type="submit" value="Submit Button"> 
</form> 

Я надеюсь, что это может быть какой-то помощи.

+0

Переменные уже определены из чего-то другого. Вот почему я немного смущен, потому что нет фактических данных. –

+0

Если они уже определены, вам не нужно: Use: . И напишите, что необходимо для того, чтобы внутри вас был сформирован соответствующий контент. – Michel

+0

Так вот так? https://gyazo.com/56711887461fdd7d7062d28e0184e247, а затем я могу просто использовать $ _POST для получения таких переменных, как указано выше? –

1

Поскольку вопрос настолько неясно, я рассмотрю основы.

Вы не можете иметь кнопку в HTML, которая запускает функцию непосредственно в PHP. Это не то, как работает PHP, PHP-скрипты не являются постоянным приложением, с которым вы можете взаимодействовать. Когда вызывается страница PHP, скрипт будет запускаться, генерировать вывод и выходить.

Чтобы взаимодействовать с пользовательским вводом, ака, получать переменные от пользователя, вы должны вызвать PHP-скрипт, который будет обрабатывать ввод пользователя с данными в самом HTTP-вызове.

Это может быть сделано несколькими способами и может обрабатываться скриптом, который сгенерировал страницу, без проблем. Типичный способ сделать это - использовать <form>.

Вы также можете сделать что-то очень простое с помощью только ссылку, поступая <a href="script.php?variable=value">Click</a>, сценарий script.php будет называться и суперглобальный $_GET['variable'] будет нести значение value. Вы можете многое сделать с этим уже. Просто не забудьте проверить, не isset() перед использованием.

A <form> может содержать текстовые поля, скрытые поля, флажки и все, что вы обычно видите, когда, когда вы заполняете форму. И когда вы отправите форму, данные в этих полях будут отправлены в скрипт через GET или POST методов, в зависимости от того, что вы указали в <form method=get> или <form method=post>, и скрипт PHP сможет обрабатывать эту информацию, читая суперглобалы $_GET или $_POST соответственно, или $_REQUEST, который представляет собой смесь обоих, плюс $_FILES, если форма заключается в отправке файла.

<form> также позволяет указать, какой сценарий (не функция) будет обрабатывать вызов, используя свойство action, как в <form action=script.php>.

Я не буду приводить примеры использования <form>, я уверен, что их можно найти в Google.

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

Смежные вопросы