Подтвердить что ты не робот

Как вы отправляете данные со ссылкой

У меня есть база данных, в которой проживают жители каждого дома на определенной улице. У меня есть веб-страница php на домашнем просмотре, которая может отображать отдельный дом и жителей, когда ему присваивается номер дома, используя "пост". У меня также есть веб-страница "Просмотр улиц", в которой приводится список домов. Что я хочу знать, если у вас есть ссылки на улицу, которые будут ссылаться на вид дома и одновременно вывести номер дома, не настраивая форму для каждого?

Привет

4b9b3361

Ответ 1

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

<a href="house.php?id=<?php echo $house_id;?>">
  <?php echo $house_name;?>
</a>

Затем в house.php вы получите идентификатор дома, используя $_GET['id'], подтвердите его с помощью is_numeric(), а затем отобразите его информацию.

Ответ 2

Если вы хотите передать данные с помощью POST вместо GET, вы можете сделать это, используя комбинацию PHP и JavaScript, например:

function formSubmit(house_number)
{
  document.forms[0].house_number.value = house_number;
  document.forms[0].submit();
}

Затем в PHP вы просматриваете домашние номера и создаете ссылки на функцию JavaScript, например:

<form action="house.php" method="POST">
<input type="hidden" name="house_number" value="-1">

<?php
foreach ($houses as $id => name)
{
    echo "<a href=\"javascript:formSubmit($id);\">$name</a>\n";
}
?>
</form>

Таким образом, у вас есть только одна форма, чья скрытая переменная (переменная) изменяется по той ссылке, на которую вы нажимаете. Затем JavasScript отправляет форму.

Ответ 3

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

@ben правильно, вы можете использовать php и javascript для отправки сообщения со ссылкой, но давайте спросить, что делает js - по существу он создает форму со стилем = 'display: none' устанавливает строку ввода/текста с value = 'something', а затем отправляет его.

однако вы можете пропустить все это, сделав форму. set style = 'display: none' на входных/текстовых строках (а не на самой форме, как указано выше), а затем с помощью CSS, чтобы кнопка выглядела как обычная ссылка.

вот пример: я использую:

в классе PHP,

public function styleButton($style,$text){
    $html_str = "<form id='view_form' action='".$_SERVER['REQUEST_URI']."' method='post' >";
    $html_str .= "<input style='display:none;' name='list_style' type='text' value='".$style."' >";
    $html_str .= "<input id='view_button' type='submit' value='".$text."' >";
    $html_str .= "</form>";
    return $html_str;
}

Затем в CSS id = "view_form" установите "display: inline;" и в CSS id = "view_button" установлено что-то вроде: "background: none; border: none; color: #fff; cursor: pointer"

Ответ 4

Вы не можете выполнить POST HTTP-запросы <a href="some_script.php">some_script</a>

Просто откройте house.php, найдите там, где у вас $house = $_POST['houseVar'], и измените его на:

isset($_POST['houseVar']) ? $house = $_POST['houseVar'] : $house = $_GET['houseVar']

И в streeview.php создайте такие ссылки:

<a href="house.php?houseVar=$houseNum"></a>

Или что-то еще. Я просто не знаю ваших файлов и что внутри.

Ответ 5

Я бы просто использовал значение в querystring для передачи необходимой информации на следующую страницу.

Ответ 6

Мы должны сделать все проще для всех, потому что вы можете просто комбинировать JS с PHP Совмещение PHP и JS довольно просто.

$house_number = HOUSE_NUMBER;
echo "<script type='text/javascript'>document.forms[0].house_number.value = $house_number; document.forms[0].submit();</script>";

Или несколько более безопасный способ

$house_number = HOUSE_NUMBER;
echo "<script type='text/javascript'>document.forms[0].house_number.value = " . $house_number . "; document.forms[0].submit();</script>";