#javascript #php
#javascript #php
Вопрос:
У меня есть форма. Я хочу предупреждать, когда пользователь нажимает на кнопку сохранения. Затем, если пользователь нажал «Да», должен быть выполнен некоторый php-код. Итак, как я могу это сделать. могу ли я использовать onclick в теге ввода???
<?php if (isset($_POST['save'])){ ?>
<script language="javascript">
if (confirm('It should be reloaded, Are you sure you want to save changes?')) {
<?php $x=$_POST['myName']; ?>
}
else{
<?php $x='nothing' ?>
}
</script>
<?php }
echo $x;
?>
<form method="post" action="">
name:<input type="text" name="myName" />
city:<input type="text" name="city" />
email:<input type="email" name="email" />
<br/>
<input type="submit" name="save" value="save"/>
</form>
Комментарии:
1. Вам нужно знать, что PHP-код выполняется до получения пользователем html / js-страницы. Итак, как только он получит страницу, вы не сможете запустить PHP напрямую. Но что именно вы хотите?
2. Я хочу предупредить пользователя. Если пользователь уверен, что некоторая функция php (например, shell execute ()) должна быть выполнена…
3. Какова ваша идея, как я могу это сделать?
4. Если вы хотите предупредить пользователя перед отправкой формы, вы должны выполнить подтверждение, и если пользователь подтвердит, вы можете выполнить ajax-запрос для выполнения PHP на сервере. В противном случае вы не сможете выполнить PHP непосредственно из javascript
Ответ №1:
Измените свой код на
<?php
// connection
if ($_POST['t'] == 'execute'){
<?php $x=$_POST['myName']; ?>
}else{
<?php $x='nothing' ?>
}
?>
<form method="post" action="">
name:<input type="text" name="myName" />
city:<input type="text" name="city" />
email:<input type="email" name="email" />
<br/>
<input type="hidden" name="t" value="execute"/>
<input type="submit" name="save" onclick="return confirm('you message')" value="save"/>
</form>