Как взять переменную javascript в запросе php mysql?

Я новичок в Javascript и PHP. Может ли кто-нибудь сообщить мне, как использовать переменную javascript в переменной php, и я хочу использовать эту переменную php в запросе MySQL для извлечения данных из базы данных MySQL. Можно ли взять переменную javascript прямо в запросе MySQL?

Я пробовал, но не могу получить результат. Я прикрепил код ниже

<script>
var baccount = document.getElementById('accountid');
var bacc = baccount.value;
</script>

<?php 

$abcd = '"+bacc+"';

$quer=mysql_query("SELECT * from fpay_user where account_id='$abcd'");


$result=mysql_fetch_array($quer);

$rbal = $result['balance'];

echo $rbal;

?>

вы можете использовать javascript для перезагрузки страницы со строкой запроса, переменная является частью строки запроса или, что чаще, использовать ajax для отправки запроса в скрипт php и, таким образом, в базу данных

Professor Abronsius 14.07.2018 09:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
1 306
2

Ответы 2

Это не так просто. Javascript запускается в браузере (клиент), а php - на веб-сервере (хосте). Это два разных компьютера. Чтобы передать данные от клиента к хосту, вы можете сделать http-запрос от javascript к определенному URL-адресу на сервере. Когда сервер отправляет свой ответ, вы можете снова обработать его в javascript.

Пример (с использованием jQuery):

<script>
  // success will be called when the server sent a response.
  function success(result) {
    // result.responseJSON is a javascript object: { balance: 1234 }
    let balance = result.responseJSON.balance
  }

  $.ajax({
    url: '/path/to/script.php',
    data: {
        bacc: baccount.value
      },
    success: success,
    dataType: 'json'
  });
</script>

В php вы можете получить переданное значение, выполнить запрос и вернуть результат:

<?php
  // get the passed value
  $abcd = $_GET['bacc'];

  // do the query SAFELY. See explanation below.
  $quer = mysql_query("SELECT * from fpay_user where account_id='" . mysql_escape_string($abcd) . "'");
  $result=mysql_fetch_array($quer);

  // Now return the result as json string
  header('Content-Type: application/json');
  // This will encode the result as: "{balance: 1234}"
  echo json_encode($result);

Одна важная вещь очень. Вы всегда должны дезинфицировать полученные значения чем-то вроде mysql_escape_string. Если вы этого не сделаете, ваше программное обеспечение восприимчиво к SQL-инъекции. Я добавил этот вызов функции в ваш пример.

Есть два скрипта: javascript и php. Какой сценарий? Какая линия?

mbuechmann 14.07.2018 17:31

В javascript возникает ошибка. Я указал правильный путь к script.php, но я все еще получаю ошибку в '/path/to/script.php', этой строке.

John 16.07.2018 07:13

Я получаю сообщение об ошибке Uncaught syntaxterror: missing) после списка agrument в строке data: {в программе javascript.

John 16.07.2018 07:51

Я понимаю. Извини за это. Исправил код в ответе.

mbuechmann 16.07.2018 08:35

Спасибо за быстрый ответ. Ошибка, которую я получил ранее, была решена, но я получаю сообщение об ошибке, так как не могу прочитать свойство balance of undefined в строке, пусть balance = result.responseJSON.balance. Я получаю вывод в программе php [echo json_encode ($ result); ], но я не могу получить его в javascript.

John 16.07.2018 11:56

Я могу решить указанную выше проблему. Используя document.write, я могу получить баланс в браузере, но я не могу использовать этот баланс вне функции success (result) {....}.

John 16.07.2018 14:24

Это правильно и по-другому невозможно. Значение доступно только после того, как javascript принял значение номера банковского счета, отправил запрос на сервер и обработал возвращенное значение.

mbuechmann 16.07.2018 14:32

Вам нужно понимать разницу между языком клиента и языком сервера.

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

В вашем случае вы можете отправить запрос Ajax из JavaScript на сервер (используя собственный XMLHttpRequest или jQuery)

$.ajax({
type: "POST",
  url: url,
  data: {bacc:value},
});

Тогда ваш PHP сможет получить к нему доступ через $ _POST ["bacc"]

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

Другие вопросы по теме