2016-03-08 3 views
0

Проблема заключается в следующем: выполнить подтверждение запроса пользователя перед обновлением db. Два варианта: использование submitfunc по щелчку Я могу запустить js confirm, получить выбор пользователя, но в upload_db функция Я не могу поймать значение, введенное пользователем (это значение textarea) Если я использую button type="submit..., я могу получить значение textarea, но Я не могу запустить подтверждение и получить подтверждение возвращаемого значения до обновления db. Как я могу это исправить?Подтверждение пользователя перед обновлением db

<?php 
session_start(); 
// In case user press button_lookfor 
if (isset($_POST['button_lookfor'])) { 
    // I run sql select... 
} 
// In case user press button_update 
if (isset($_POST['button_update'])) { 
    //to update db i have to get value of textarea.Ok in this case 
    $sql_upd = "UPDATE db SET field_value ='" .$_POST['alpha_9_10']."'"; 
} 

function upload_db(){ 
    //I am not able to catch the value entered in textarea 
    if (isset($_POST['alpha_9_10'])) { 
     //.... 
    } 
} 
?> 
<html> 
<head> 
<script language="javascript" type="text/javascript"> 
function submitFunc(){ 
    var r = confirm("Press OK per confermare la modifica al database!"); 
    if (r == true) { 
     var x="<?php upload_db(); ?>"; 
     alert(x); 
     return false; 
    } 
} 
</script> 
</head> 
</style> 
<body> 

<form method="post" action="" > 
<table class='table1' id="pos_table1" > 
    <tr><td><textarea name="alpha_9_10"<textarea></td></tr> 
</table> 

<button type="submit" name="button_lookfor" >Look for data</button> 
<button type="submit name="button_update" >Save data</button> 
<!--<button type="button" onClick="submitFunc();"name="button_update">Save</button>--> 

</body> 
</form> 
</html> 
+0

Пожалуйста, отформатируйте свой код, но я бы сказал, исправьте свой тег textarea. – WheatBeak

+1

Проблема в том, что вы пытаетесь поймать значение textarea, используя php, но php-код ничего не делает, пока вы не отправите форму. PHP - код на стороне сервера. Что вы хотите сделать с значением textarea? Вы можете получить значение с помощью javascript. Кроме того, как сказал WheatBeak, ваш код имеет множество синтаксических проблем. –

+1

PHP работает только на сервере, javascript запускается в браузере. Вы не можете получить javascript, чтобы вызвать такую ​​функцию PHP. Возможно, вам понадобится узнать AJAX – RiggsFolly

ответ

0

Вы можете попробовать вернуть значение подтверждения (true или false, когда пользователь нажимает кнопку). Форма будет отправлена ​​только в том случае, если пользователь нажимает ok. это будет выглядеть примерно так:

<?php 
session_start(); 
// In case user press button_lookfor 
if (isset($_POST['button_lookfor'])) { 
    // I run sql select... 
} 
// In case user press button_update 
if (isset($_POST['button_update'])) { 
    //to update db i have to get value of textarea.Ok in this case 
    $sql_upd = "UPDATE db SET field_value ='" .$_POST['alpha_9_10']."'"; 
} 

function upload_db(){ 
    //I am not able to catch the value entered in textarea 
    if (isset($_POST['alpha_9_10'])) { 
     //.... 
    } 
} 
?> 
<html> 
<head> 

</head> 
</style> 
<body> 

<form method="post" action="" > 
<table class='table1' id="pos_table1" > 
    <tr><td><textarea name="alpha_9_10"<textarea></td></tr> 
</table> 

<button type="submit onClick="return confirm('Press OK per confermare la modifica al database!')" name="button_update" >Save data</button> 


</body> 
</form> 
</html> 
+0

большое спасибо за ваш ответ! задача решена – Valgo54

Смежные вопросы