Как использовать php и javascript вместе? от моих собственных исследований, это кажется невозможным. Я понимаю, что они разные, и каждый из них имеет свои особые вещи, которые они делают. Но допустим, вы подтверждаете форму. Вы используете javascript для проверки формы, а затем, если ошибок нет, вы запустите php, чтобы вставить запись. Как бы вы это сделали? Есть ли способ запустить php в javascript или вызвать метод php?
Как правило, вы увидите Javascript, который используется как код на стороне клиента . Это означает, что браузер, который посещает ваш сайт, загрузит ваш Javascript-код, скомпилирует его и запустит сам. Клиентский код просто означает, что клиент (человек, который посещает ваш сайт) запускает код.
С другой стороны, PHP используется в качестве кода на стороне сервера . Это означает, что ваш веб-сервер анализирует и запускает ваш код. Код на стороне сервера просто означает, что код запускается на вашем веб-сервере.
Вы можете предоставить Javascript информацию из кода PHP. Например:
<?php $myVariable = 'a testing variable'; ?> <script type='text/javascript'> var fromTheServer = '<?php echo $myVariable; ?>'; </script>
Переменная Javascript fromTheServer установлена в значение переменной php myVariable . Все это действительно делает вывод значения переменной php как строки, которую использует Javascript. Этот подход может быть полезен, скажем, если вам нужен массив Javascript элементов корзины покупок, которые пользователь имеет в своей корзине.
<?php // get some shopping cart items using a function $shoppingCartItemsArray = getShoppingCartItems(); ?> <script type='text/javascript'> var shoppingCartItemsArray = "<?php echo implode('|', $shoppingCartItemsArray); ?>"; // split the string value by the | delimeter to get an array shoppingCartItemsArray = shoppingCartItemsArray.split('|'); </script>
Теперь вы видели, как можно немного интегрировать php с Javascript. Еще раз, это не совсем интеграция , просто вывод информации с сервера. Как насчет отправки информации на сервер? Именно здесь входит AJAX.
Скажем, вы реализуете корзину с перетаскиванием с помощью Javascript. Идея состоит в том, что пользователь выбирает элемент с вашего сайта и перетаскивает его в свою корзину покупок. После отпускания предмета элемент должен быть добавлен в корзину пользователей на сервере. Вы должны использовать AJAX для отправки номера позиции на сервер и дождаться, пока сервер скажет вам, был ли элемент успешно добавлен. Примечание. Вы можете создавать свои собственные методы AJAX, используя собственный код Javascript, однако зачем это делать, когда вы можете использовать фреймворк, в котором он встроен? Обычно я использую jQuery , но есть ряд других JS-фреймворков , которые вы можете использовать.
Следующий очень простой пример показывает, как взаимодействие с Javascript и php может выглядеть как при вышеуказанном обстоятельстве. Он использует jQuerys $.ajax();
функция.
<?php /** File: https://www.example.com/cart.php **/ // .. code if($_POST['action'] === 'addItem'){ $result = addItemToCart($_POST['itemId']); echo $result; } // ... code ?> <script type='text/javascript'> // code .... $.ajax({ url: 'https://www.example.com/cart.php' type: 'POST', data: { action: 'addItem', itemId: getDraggedItem() // get the item id from a function } success: function(result){ $('#ServerMessage').html(result); } }); // code .... </script>
Итак, теперь вы можете очень кратко увидеть, как действуют php и Javascript, если javascript используется как код на стороне клиента.
Javascript также может использоваться в качестве кода на стороне сервера, например, IIS позволяет запускать JScript в касательной к VBScript .
<script type='text/javascript' runat='server'> Response.Write("MS Server here.") </script>
В дополнение к этому, CommonJS предоставляет API-интерфейс для кода Javascript на стороне сервера, который в настоящее время реализуется многими проектами. Возможно, вы слышали о некоторых из них, в частности, Node.js. Один из этих проектов может позволить вам запускать php и javascript вместе с eachother, вам придется искать.
Суть в том, что Javascript – это не только код на стороне клиента. Это просто код, который может быть выполнен как на сервере, так и на клиенте, или как способ очистки вашей медиатеки iTunes .
Вы должны проверить как на JavaScript, так и на PHP. Но самое важное – проверка PHP, потому что помните: Javascript – это код интерфейса, поэтому пользователь может изменить его или просто отключить. Поэтому перед вставкой вы должны проверить на PHP.
Существуют тысячи плагинов для проверки javascript, хорошим является jQuery Validate: http://bassistance.de/jquery-plugins/jquery-plugin-validation/
У вас есть пример здесь для проверки PHP: http://buildinternet.com/2008/12/how-to-validate-a-form-complete-with-error-messages-using-php-part-1/
Вы можете проверить использование javascript и вставить записи, используя php. Но гораздо лучше, если вы будете проверять записи с помощью javascript и php. Зачем? Поскольку проверка JavaScript будет бесполезной, когда вы отключите javascript в своем браузере, это означает, что если браузер javascript выключен, проверки не будут выполняться, а это означает, что недопустимые записи будут вставлены в вашу базу данных. Таким образом, гораздо лучше иметь резервную проверку php.
<?php if(PHP VALIDATION) { echo 'You were not validated'; } else { echo "<script src=\"FILE WITH UR JAVASCRIPT\"><script>" } ?>
Этот javascript будет загружаться и выполняться только в том случае, если проверка php завершена.
давайте рассмотрим этот простой пример: в приведенном примере используется jquery, вы можете сделать это. HTML:
<html> <body> <input type = "text" name = "username" id = "username"></input> <input type = "button" name = "submit" id = "save_button" value = "insert"></input> <div id = "save_stat"></div> <!--This will be the status of the insertion. "loading or sucess!"----> <script> $('#save_button').click(function(){ //assign an event handler //grab values var name = $('#username').val(); //get the value of whatever the user entered //perform HTTP ajax request //could be $.get instead $.post('phpfile.php', (name:name)/*this could be modified to (name:name, password: password) etc.*/, function(data){ //send the data to the php file. $('#save_stat').html(data); }); }); </script> </body> </html>
Теперь все, что осталось сделать, это создать страницу регистрации php и связать ее вместо «phpfile.php». И для загрузки значений в этот файл, используйте $ _POST ['name']; OR $ _POST ['password']; и т.п.
Вышеупомянутые ответы (предлагаемые другими) являются идеальными, поскольку они предполагают сущность того, что вам на самом деле требуется для создания синхронного Javascript и php-приложения.
** * ИЗМЕНИТЬ ИЗОБРАЖЕНИЕ * ** * **** При создании php используйте инструкцию echo при предоставлении пользовательских сообщений, т. Е.
if(!empty($_POST['name'])){ echo "You successfully entered your name!"; }else echo "you forgot to enter a name";
Образец № 2
if(!empty($_POST['name'])){ $message = "You successfully entered your name!"; }else $message = "you forgot to enter a name"; echo $message;