2014-01-30 8 views
0

У меня есть простая форма html, которая берет имя пользователя и пароль и регистрирует его в базе данных. Однако он выполняет следующий оператор php if один раз, как только страница загружается даже до отправки формы. Ниже приведен фрагмент кода.Выполнение javascript перед отправкой формы

if (($_POST['reg_username']=="") || ($_POST['reg_password']=="")) 
{ ?> 
<script> alert("please enter both email and password"); </script> 

<? } 

Полный код php внизу. Это не последний код, поэтому я все еще не шифровал пароли и все, но я просто проверяю его. Спасибо заранее, ребята.

if (($_POST['reg_username']=="") || ($_POST['reg_password']=="")) 
{ ?> 
<script> alert("please enter both email and password"); </script> 

<? } 


$reg_username=mysql_real_escape_string($_POST['reg_username']); 
$reg_username=htmlspecialchars($reg_username); 
$reg_password=mysql_real_escape_string($_POST['reg_password']); 
$reg_password=htmlspecialchars($reg_password); 



if(!empty($reg_username) && !empty($reg_password)) 
{ 

if (isset($reg_username) && isset($reg_password)) 
{ 
mysql_select_db($db, $dbconnect); 
mysql_query("INSERT into students(username,password) VALUES  
('$reg_username','$reg_password')"); 
} 
} 

?> 
+0

возможный дубликат [Re ference: Почему код PHP (или другой сервер) в моем Javascript не работает?] (http://stackoverflow.com/questions/13840429/reference-why-does-the-php-or-other-server-side -code-in-my-javascript-not-wor) – Quentin

ответ

0

Изменить это:

if (($_POST['reg_username']=="") || ($_POST['reg_password']=="")) 
{ ?> 
<script> alert("please enter both email and password"); </script> 

<? } 

В это:

if(isset($_POST['reg_username']) || isset($_POST['reg_password'])) 
{ 
if (($_POST['reg_username']=="") || ($_POST['reg_password']=="")) 
{ ?> 
<script> alert("please enter both email and password"); </script> 

<?php } 
} 
+0

Спасибо, Роберт, сейчас работает. Также, когда я создал новый php-файл с моим исходным кодом и перенаправил значения формы в этот файл, он тоже работал. Еще раз спасибо. – user3150373

+0

Я рад помочь, не стесняйтесь отмечать этот ответ как правильный;) – Hackerman

0

Почему вы должны включать те теги внутри PHP? Почему вы просто не делаете этого отдельно. Вот пример с Javascript (jQuery):

Обратите внимание, что могут быть некоторые опечатки и синтаксические ошибки, так как я написал этот фрагмент в течение минуты.

<script type="text/javascript"> 

$(document).ready(function() { 

("#login_form").submit(function() { 

var username = ("#selector").val(); 
var password = ("#password").val(); 

if(username == "" && password == "") { 

alert("please enter both email and password"); 

} 
} 

)}; 
</script> 
0
if(isset($_POST['SubmitButtonName'])){ //check if form was submitted 
     unset($_POST['SubmitButtonName']); 
     if (($_POST['reg_username']=="") || ($_POST['reg_password']=="")) 
     { ?> 
      <script> alert("please enter both email and password"); </script> 
     <? } 
} 

Не забудьте изменить SubmitButtonName

0
 <script> 
    $(document).ready(function(){ 
    $("#submit").click(function(){ 
    var register_name=$('#reg_username').val(); 
var register_password=$('#reg_password').val(); 

if(register_name =="") 
{ 
alert("please enter your name"); 
return false; 
} else if(register_password =="") 
{ 
alert("please enter your password"); 
return false; 
} 
else 
{ 
return true; 
} 
     }); 
     }); 
      </script> 
     </head> 
     <body> 
      <form action="" method="post"> 
      Register name:<input type="text" name="reg_username" id="reg_username"><br> 
     Password: <input type="password" name="reg_password" id="reg_password"><br> 

      <input type="submit" id="submit"> 
     </form> 
    </html> 
+0

используйте проверку Jquery вместо использования php для этой цели из-за php на стороне сервера, а jquery - на стороне клиента –

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