Я пытаюсь запустить быстрый скрипт php, когда пользователи покидают мой сайт, а также передают переменную из моего javascript в php, но я не совсем уверен, как включить php-файл и передать ему var. Но на самом деле он не запускает php-скрипт. есть идеи?
(javascript получает имя пользователя от внешней функции активности, и я знаю, что работает, я тестировал var на предупреждение и его там.)
Мой JavaScript:
<script language="javascript" type="text/javascript"> var username = null; function GetUsername(usernameff) { username = usernameff; } window.onbeforeunload = function () { if (username != null) { <?php include("scripts/RemoveUserOnDisconnect.php?username=username");?> } } </script>
Мой файл RemoveUserOnDisconnect.php:
<?php mysql_connect("mysql.mysql.com", "username", "password"); mysql_select_db("my_db"); mysql_query("DELETE FROM my_table WHERE username = '$username'"); ?>
Попробуйте выполнить запрос ajax. В зависимости от вашего php-скрипта вам потребуется $.post
или $.get
JQuery:
<script language="javascript" type="text/javascript"> var username = null; function GetUsername(usernameff){ username = usernameff; } window.onbeforeunload = function(){ if (username != null){ $.post('scripts/RemoveUserOnDisconnect.php', {username: username}, function(){ //successful ajax request }).error(function(){ alert('error... ohh no!'); }); } } </script>
РЕДАКТИРОВАТЬ:
Ваш PHP-скрипт должен ссылаться на массив $_POST
если вы используете мой код выше.
<?php $username = $_POST['username']; mysql_connect("mysql.mysql.com", "username", "password"); mysql_select_db("my_db"); mysql_query("DELETE FROM my_table WHERE username = '$username'"); ?>
Выполните вызов ajax для скриптов / RemoveUserOnDisconnect.php? Username = имя пользователя. Вы не можете включать PHP с Javascript, Javascript выполняется в браузере, PHP выполняется на сервере.
Вам нужно сделать вызов AJAX скрипту PHP. Ваш код javascript просто сделает фоновый запрос на php-скрипт, который будет выполнять эти операторы MySQL. Google вверх AJAX. Рекомендуем: Изучите jQuery и используйте ajax с помощью $.get()
или $.post()