Не можете разместить значение в другой php?

у меня есть кнопка в моей таблице , original использует GET, чтобы отправить некоторую переменную новому пользователю страницы.php, но я не хочу показывать эту информацию в url .
Я пытаюсь построить форму и отправил ее другому пользователю.php, но пользователь.php ничего не получает:

 $('table').on( 'click', 'td .btn-info', function () {
    var parent = $(this).closest('table').parents('tr').prev();
    var parentIndex = parent.find('.index').text();
    var currentIndex = $(this).closest('tr').index();
    var data = sections[parentIndex][currentIndex];

     var mapForm = document.createElement("form");
      mapForm.target = "Map";
      mapForm.method = "POST"; // or "post" if appropriate
      mapForm.action = "user.php";

     var name= document.createElement("input");
      name.type = "hidden";
      name.id = "name";
      name.value = data.name;
      mapForm.appendChild(name);

      var loc= document.createElement("input");
      loc.type = "hidden";
      loc.id = "loc";
      loc.value = data.loc;
      mapForm.appendChild(loc);
      document.body.appendChild(mapForm );

      map=window.open("", "Map", "height=500,width=800,scrollbars=yes, resizable=yes");
     if (map) {
       mapForm.submit();
     } else {
       alert('You must allow popups for this map to work.');
      }



} );

3 ответа

  1. Используйте $_POSTвместо. Post не показывает переменные в url. Просто перенаправьте на php-файл и при перенаправлении получите переменные, используя:

    $variable = $_POST['input_name'];
    
  2. Согласно ответу, данному Evert of Question Window.Открыть сообщение

    Нельзя вызвать всплывающее окно javascript, а затем принудительно отправить запрос.

    Три варианта:

    1. Запуск формы POST с target="_blank"использованием javascript (но это не позволяет отключить элементы интерфейса, такие как строка меню).
    2. Откройте всплывающее окно локально,но не указывайте url. Используйте результат окна.откройте, чтобы изменить документ для создания формы, которую затем следует опубликовать.

      var myWindow = window.open("", "", "height=600,width=800,scrollbars=1,location=no,menubar=no,resizable=1,status=no,toolbar=no");
      myWindow.document.write("Write a form here and then later on trigger it");
      
    3. Вы действительно не должны делать ничего из этого. Если пользователям не нравится Копировать URL-адреса, в дизайне приложения есть недостаток.

    4. Добавлено после редактирования: используйте подход «пустое окно», но вместо того, чтобы писать форму и запускать ее, сделайте an XMLHTTPRequest(с POST) в родителе. Результат этого запроса может быть использован для заполнения дочернего окна.

  3. Используйте этот пример кода…..

    Поместите этот код в головной раздел страницы,

    <script>
        var name = "";
        var loc = "";
        collectData()
        {
            document.getElementById("name").value = name;
            document.getElementById("loc").value = loc;
        }
    </script>
    

    Поместите этот код в таблицу, где требуется кнопка,

    <form action="user.php" method="POST" onsubmit="collectData()">
        <input type="hidden" id="name">
        <input type="hidden" id="loc">
        <input type=submit value="Button">
    </form>
    

    Назначение значений переменным в коде javascript,

    name = data.name;
    loc = data.loc;
    

    И используйте этот код для получения данных в пользователе.РНР,

    $name = $_POST["name"];
    $loc = $_POST["loc"];
    

    Таким образом можно передать любое количество значений…
    Гудлак !