2016-05-13 3 views
2

У меня есть сценарий, что я хочу javascript внутри php-кода и в этом javascript я хочу выполнить php-код для выполнения запроса mysql.javascript внутри php и внутри этого javascript php code

На моей кнопке отправки У меня есть javascript, поэтому я не могу вызвать ajax для проверки значения из базы данных, поэтому я поставил код в функцию кнопки отправки.

мне нужна функциональность, если пользователь подтверждает то MySQL запрос на обновление будет выполняться, но если пользователь не подтверждает, то он будет идет к accountlist.php страница

  if (isset($_POST['createcomapny']) && $_POST['createcomapny'] == "Submit") { 
       $company = $_POST['cmpname']; 
       $user = $_POST['username']; 
       $checkquery = mysql_query("select * from license_info where company_name='$company' and admin_user_name='$user'"); 

       if($checkrecord>0){ 
         echo "<script>var conf=confirm('Are you sure want to create this company'); if(conf){"; 
         mysql_query("update license_info set admin_user_name='lalu' where company_name='$company' and admin_user_name='$user'"); 
         echo "} else { windows.location='accountlist.php'; }</script>"; 
     } 

кнопку On отправить меня проверить подтверждение JavaScript.

function create() 
      { 
       if (document.companyregister.cmpname.value === "") 
       { 
        alert("Please Enter Company name"); 
        document.companyregister.cmpname.value = ""; 
        document.companyregister.cmpname.focus(); 
        return false; 
       } 
       var company = document.companyregister.cmpname.value; 
       var user = document.companyregister.user.value; 
       var xmlhttp = new XMLHttpRequest();      
       xmlhttp.onreadystatechange = function() {    
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {      
       var res = xmlhttp.responseText;      
       var resu = res.split("|");      
       if(resu[0]=="lokesh"){       
         document.getElementById('selectdriver1').style.display = 'block';             
         document.getElementById("drvr").style.display = "none"; 
         document.getElementById('findprinter').disabled = false; 
       }           
       document.getElementById('driver').innerHTML = resu[1]; 
       return false; 
       } 
      } 
      xmlhttp.open("GET", "getaccount.php?", true); 
      xmlhttp.send();           
      return true; 

      document.getElementById("formsubmitting").style.display = "block"; 
      document.getElementById("hidesubmit").style.display = "none"; 
      return true; 
      } 
+2

Вы, похоже, немного смущены разделением клиентского и серверного кода, поэтому я предлагаю вам изучить этот вопрос. Что касается вашего вопроса, чтобы сделать то, что вам нужно, вам придется использовать AJAX. –

+0

Но если я вызываю ajax, то до того, как действие ajax завершает кодовую страницу, получите истинное значение из-за асинхронного вызова. – LOKESH

+0

Вот почему вам нужно использовать обратный вызов запроса AJAX –

ответ

-1

Просто используйте форму с методом = "POST". Если пользователь подтвердит, задайте значение ввода с именем «confirm» true в javascript и отправьте форму. Вы можете добавить все данные, которые вам нужны, в виде скрытых входов.

Javascript представить его:

if(conf){ document.getElementById("myForm").submit(); } 

PHP:

if($_POST['confirm']==true) { do action } 

Btw. Не можете ли вы открыть это сообщение для подтверждения перед отправкой формы? В основном вы отправите 2 раза такую ​​форму. Вы можете просто добавить подтверждение перед отправкой первого ...

+0

Вы не поняли мою проблему. Я хочу подтвердить в javascript после нажатия кнопки отправки и в действии кнопки отправки нужно javascript. – LOKESH

+0

Ну, я понял проблему. Единственное решение не обновлять страницу снова - использовать AJAX. Вы сказали, что не можете использовать AJAX. Так что просто отправьте другую форму с дополнительными подтверждающими данными :) Невозможно поместить PHP-код внутри JavaScript. И вы сказали, что не можете использовать AJAX, и вы на самом деле используете его после редактирования. Я запутался. – RaV

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