Как смешать php внутрь javascript? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть код php, как показано ниже, в котором есть условие if.

php:

if(mysqli_num_rows($result1) > 0){   // Line X
    while($row = mysqli_fetch_array($result1)){
        if($row['open'] == "true") {
                if(!isset($_SESSION['admin'])) {
                    $message = "user " . $row['user_name'] . " is currently editing the form. Want to take over ?";  // Line B
                    echo "<script type='text/javascript'>if(confirm('$message')) {   } else {  };</script>";   // Line A                        
                    }
            break;
        }
    }
}

Мне удалось интегрировать $ message в Строка B .

Мне интересно, какие изменения я должен сделать на Строка A , чтобы я мог интегрировать следующий код в фигурные скобки блока if (verify ('$ message') :

$username = $_SESSION['user_name'];
$open="true";
$write="1";
$stmt=$connect->prepare("UPDATE trace_users SET write=0 WHERE write=1"); // revoke write access of all users
$stmt=$connect->prepare("UPDATE trace_users SET open=?, write=? WHERE user_name=?");
$stmt->bind_param('sss', $open, $write, $username);
$stmt->execute();

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

К сожалению, user1950349, это немного сложнее, чем может показаться, потому что ваша идея ближе к тому, как приложение для настольного компьютера, где есть сообщение l oop, которое позволяет коду реагировать на ввод пользователя. Но с веб-страницей, сгенерированной php и отправленной через inte rnet, у нас нет сообщения l oop для работы. Таким образом, мы нашли способ заставить сервер и компьютер пользователя отправлять сообщения туда и обратно без каких-либо дополнительных загрузок веб-страниц.

Именно здесь AJAX вступит в игру; однако объяснение того, как использовать это для вашего варианта использования, будет зависеть от того, как вы реализуете AJAX. Например, вы можете использовать jQuery или другую библиотеку javascript.

0 голосов
/ 29 апреля 2020

Это хорошая практика, если вы избегаете смешивать два разных языка вместе.

Когда вы смешиваете эти два, сложность вашего кода увеличивается.

Поскольку вам нужен здесь ответ, вы go

echo "<script type='text/javascript'>if(confirm(" . $message . ")) {   } else { };</script>";

Внутри эха двойной / одиночный кавычки ("/ ') все рассматривается как строка, поэтому для доступа к переменной PHP необходимо использовать метод конкатенации, чтобы использовать эту переменную PHP.

if ( подтвердить (". $ message."))

ОБНОВЛЕНИЕ

Необходимо выполнить те же действия, как описано выше. Вам необходимо использовать строку конкатенации.

Но это будет очень сложно, а также очень трудно сделать отладку.

Вы можете использовать лучший подход, используя XHR request или design * PHP код лучше использовать его с JavaScript кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...