raymondcvillapando Ответов: 2

Привет ребята я новичок в PHP как я могу преобразовать переменную javascript в PHP


Вот в чем проблема, я хочу искать БД на основе пользовательских входов.
поэтому я не использую POST или GET, вместо этого я использовал on click...
я разместил ниже свой код.
не могли бы вы, пожалуйста, указать мне, как это сделать правильно?
заранее спасибо.
эта форма используется для получения информации о клиенте в целях редактирования.
Я поставил значение 2 в критерии поиска только для того, чтобы показать вам, что это работающая программа. но я хочу, чтобы система искала значение, основанное на вводимых пользователем данных.

мы высоко ценим вашу помощь.

я не знаю, как использовать значение "p1.val()" в поиске sql.

Что я уже пробовал:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
	    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
	    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
        <title>sample b</title>
    </head>
    <body>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        
        <div class="container">
            <div class="form-row">
                <div class="form-group col-md-3">
                    <input type="text" class="form-control" placeholder="Last Name" name="last_name" id ="last_name" value=''>
                </div> 
                <div class="form-group col-md-3">
                    <input type="text" class="form-control" placeholder="Last Name" name="first_name" id ="first_name" value=''>
                </div>
                <div class="form-group col-md-3">
                    <input type="text" class="form-control" placeholder="Middle Name" name="middle_name" id="middle_name">
                </div>
            </div>
           
            <div class="form-group col-md-3" id="rslt">
                <input type="text" name="id" placeholder="Enter ID" value = '' />
                <button id='go' name="search" class=''>GO</button>
            </div>
           
        </div>
       
        <script>
            document.getElementById('go').onclick = function () {

                var p1 = $('#id'); 
                p1.val();
                
              <?php
                $connection = mysqli_connect("localhost","root","admin");
                $db = mysqli_select_db($connection,'test');

                $query = "Select * from tblnames where id = '2' ";
                $query_run = mysqli_query($connection,$query);
                $ln = "";
                $fn = "";
                $mi = "";
                while($row = mysqli_fetch_array($query_run))
                {
                    $ln=$row['lastname'];
                    $fn=$row['firstname'];
                    $mi=$row['miname'];
                }
               ?>
                var last_name=document.getElementById("last_name").value = "<?php echo $ln; ?>";
                var first_name=document.getElementById("first_name").value = "<?php echo $fn; ?>";
                var first_name=document.getElementById("middle_name").value = "<?php echo $mi; ?>";
            };
        </script>
    </body>
</html>

2 Ответов

Рейтинг:
2

MadMyche

Ключ к вашей проблеме - понять разницу между клиентскими и серверными сценариями.

Клиентская сторона - это веб-страница, которую видит конечный пользователь и с которой он взаимодействует. Он содержит ваши визуализированные HTML, JavaScript и CSS.
PHP не существует на стороне клиента как таковой, а только влияет на него.
PHP работает на стороне сервера, где по большей части HTML, JS и CSS не существуют.

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

Самое лучшее, что вы можете сделать для себя, - это пройти несколько учебных пособий по этому предмету; я погуглил "php ajax tutorial" и нашел этот пример в школах W3:
PHP AJAX и MySQL[^]


Рейтинг:
2

W∴ Balboos, GHB

PHP (скрипты) запускаются на сервере. Когда он наконец попадает к вашему клиенту (пользователю), PHP исчезает со страницы. То, что осталось, - это результаты запуска php на сервере. Таким образом, вы не можете установить значение php-данных на клиенте, так как на клиенте нет механизма, который мог бы что-либо с ними сделать. Или функция PHP и т. д. PHP также является вашим шлюзом в SQL, MySQL и т. д. - Они находятся на стороне сервера.

JAVASCRIPT запускается на клиенте (опционально - его можно отключить!). Проще говоря, это дает вашей странице, как визуализируется на клиенте, функциональность. В частности, он полезен для обработки событий (таких как изменение содержимого раскрывающегося списка). Он также может быть задействован в настройке и работе вашей страницы - например, в таймере обновления или проверке данных.

Таким образом, PHP никогда не попадает к клиенту, и клиент не понимает PHP. Довольно сложная дилемма для вас и вашей проблемы.

Существует два распространенных способа передачи данных с клиента на сервер.
1) Использование веб-форм[^]. Они могут вызывать скрипты, и в конечном счете целевая страница на стороне сервера это может быть отправлено данные в вашей форме. Обратите внимание, что ваша страница будет обновлена.
2) использовать AJAX[^Это javaScript, который имеет функциональность, которая отправляет информацию на сервер - в файл PHP, который затем может обрабатывать ее и делать с ней все, что вы хотите. Он не обновляет текущую страницу - но еще лучше - он может обновлять содержимое на текущей странице без обновления.

Передача данных между ними требует некоторого привыкания.