2017-04-06 12 views
0

기본적으로 한 페이지에 2 개의 양식이 있습니다. 첫 번째는 로그인 용이고 두 번째는 데이터 삽입 용입니다. 두 번째 양식 작업이 정상적으로 작동합니다. 나는 그것으로 데이터를 삽입 할 수있다. 하지만 로그인 사용자에게 사용하는 것과 동일한 양식을 사용하지만 작동하지 않습니다. 제출 단추를 클릭 할 때 페이지 새로 고침 만 수행됩니다.PHP에서 작동하지 않는 폼 동작?

내 코드를보고 첫 번째 양식의 조치 문제를 해결하는 데 도움을주십시오.

<div class="login_wrapper"> 
    <div id="login" class="animate form login_form"> 
    <section class="login_content"> 
     <form action="login.php" method="post"> 
     <h1>Login Form</h1> 
     <div> 
      <input type="text" class="form-control" placeholder="Username" required="" name="username" /> 
     </div> 
     <div> 
      <input type="password" class="form-control" placeholder="Password" required="" name="password" /> 
     </div> 
     <div> 
      <input type="submit" class="btn btn-default" name="insert" value="Sign In"> 
      <a class="reset_pass" href="#forgetpass">Lost your password?</a> 
     </div> 
     <div class="clearfix"></div> 
     <div class="separator"> 
      <p class="change_link">New to site? 
      <a href="#signup" class="to_register"> Create Account </a> 
      </p> 

      <div class="clearfix"></div> 
      <br /> 

      <div> 
      <h1><i class="fa fa-paw"></i> DiGItal Society</h1> 
      <p>©2016 All Rights Reserved. DiGItal Society is a Web Portal for E-Society. Privacy and Terms</p> 
      </div> 
     </div> 
     </form>    
    </section> 
    </div> 

    <div id="register" class="animate form registration_form"> 
    <section class="login_content"> 
     <form action="insertUser.php" method="post"> 
     <h1>Create Account</h1> 
     <div> 
      <input type="text" class="form-control" placeholder="Username" required="" name="username" /> 
     </div> 
     <div> 
      <input type="email" class="form-control" placeholder="Email" required="" name="email" /> 
     </div> 
     <div> 
      <input type="password" class="form-control" placeholder="Password" required="" name="password" /> 
     </div> 
     <div> 
      <input type="hidden" name="roleid" value=""> 
      <input type="submit" class="btn btn-default" name="insert" value="Log In"> 
     </div> 

     <div class="clearfix"></div> 

     <div class="separator"> 
      <p class="change_link">Already a member ? 
      <a href="#signin" class="to_register"> Log in </a> 
      </p> 

      <div class="clearfix"></div> 
      <br /> 

      <div> 
      <h1><i class="fa fa-paw"></i> DiGItal Society</h1> 
      <p>©2016 All Rights Reserved. DiGItal Society is a Web Portal for E-Society. Privacy and Terms</p> 
      </div> 
     </div> 
     </form> 
    </section> 
    </div> 
</div> 

또한 작업 페이지를 추가했습니다 (작동하지 않음). 폼에서 로그인 <input type="submit" class="btn btn-default" name="insert" value="Sign In">name="insert"의 이름을 변경하는 제 (안 작업) 형태 제 폼

<?php 
include 'db.php'; 
if (isset($_REQUEST['insert'])) 
    { 
    echo $username = $_REQUEST['username']; 

    echo $password = $_REQUEST['password']; 
     $sql = mysqli_query($conn,"SELECT * FROM `accountants` where `acc_email` = '$username' AND `acc_pass` = '$password'"); 
     $data = mysqli_fetch_array($conn,$sql); 
     $_SESSION['role']=$data['roleId']; 
     $_SESSION['username']=$data['acc_name']; 
     $data = mysqli_num_rows($data); 
     if ($data>0) 
      { 
       header('Location: home.php'); 
      } 
     else 
      { 
       header('Location: index.php'); 
       echo 'incorrect login'; 
      } 
    } 
?> 

insertUser.php위한 login.php. (작업)

<?php 
include 'db.php'; 
if (isset($_REQUEST['insert'])) 
    { 
     $acc_name = $_REQUEST['username']; 
     $acc_email = $_REQUEST['email']; 
     $acc_pass = $_REQUEST['password']; 
     $role_id = $_REQUEST['roleid']; 
     $sql = mysqli_query($conn,"INSERT INTO `accountants`(`acc_name`, `acc_email`, `acc_pass`, `roleId`) VALUES ('".$acc_name."','".$acc_email."','".$acc_pass."','2')"); 
     if ($sql>0) 
      { 
       header('Location: home.php'); 
       echo 'data added successfully'; 
      } 
     $row = mysqli_query('SELECT * FROM `accountants`');  
     $data = mysqli_fetch_array($row); 
     $data = mysqli_num_rows($conn,$data); 
     $_SESSION['role'] = $data['roleId']; 
    } 
?> 
+0

입력 양식에서 첫 번째 양식에 다른 '이름'을 사용해보십시오. 그리고 그것을 login.php에서 사용하십시오 –

+0

@KinshukLahiri 알았습니다. 여전히 같은 페이지에 –

+0

이'print_r ($ _REQUEST);에 대한 결과는 무엇입니까? print_r ($ _ POST [ "insert"])'; die; login.php 파일에서. –

답변

0

에게 이름을 잊지 말라가 솔루션이 시도 :

을 경우 조건 내부의

if (isset($_REQUEST['insert'])) 

위의 내용을 다음으로 변경하십시오.

if (isset($_REQUEST['login'])) 

PS : 물론 이러한 변경 :

echo $username = $_REQUEST['username']; 

echo $password = $_REQUEST['password']; 

에 :

echo $username = $_REQUEST['user']; 

echo $password = $_REQUEST['pass']; 

는 도움이되기를 바랍니다.

+0

여전히 작동하지 않습니다. 나는 이것을 일찍 시도했다. whts 문제를 알지 못함 –

+0

@amitsutar 업데이트 됨. –

+0

이 부분은 이미 변경되었습니다 –

0

보십시오. 이름이 동일하므로

예를 <input type="submit" class="btn btn-default" name="login" value="Sign In">

를 들어

및 login.php 여기

<?php 
include 'db.php'; 
if (isset($_REQUEST['login'])) 
    { 
    echo $username = $_REQUEST['username']; 

    echo $password = $_REQUEST['password']; 
     $sql = mysqli_query($conn,"SELECT * FROM `accountants` where `acc_email` = '$username' AND `acc_pass` = '$password'"); 
     $data = mysqli_fetch_array($conn,$sql); 
     $_SESSION['role']=$data['roleId']; 
     $_SESSION['username']=$data['acc_name']; 
     $data = mysqli_num_rows($data); 
     if ($data>0) 
      { 
       header('Location: home.php'); 
      } 
     else 
      { 
       header('Location: index.php'); 
       echo 'incorrect login'; 
      } 
    } 
?> 
+0

이 동호회는 작동하지 않았습니다. –

+0

insertUser.php를 입력하고 로그인하십시오.PHP 같은 .... 입력 이름 암호 및 사용자 이름. –

0

다음은 login.php 페이지를 수정 한 해결책입니다.

<?php 

if (isset($_POST['insert'])) 
    { 
     $username = $_POST['username']; 
     $password = $_POST['password']; 

     $sql = mysqli_query($conn,"SELECT * FROM `accountants` where `acc_email` = '$username' AND `acc_pass` = '$password'"); 
     $data = mysqli_fetch_array($conn,$sql); 
     $_SESSION['role']=$data['roleId']; 
     $_SESSION['username']=$data['acc_name']; 
     $data = mysqli_num_rows($data); 
     if ($data>0) 
      { 
       header('Location: home.php'); 
      } 
     else 
      { 
       header('Location: index.php'); 
       echo 'incorrect login'; 
      } 
    } 
?> 
+0

nop bro가 작동하지 않습니다. –

+0

어떤 오류가 발생합니까? 스틸 페이지를 새로 고침 하시겠습니까? –

+0

그냥 페이지를 다시로드 onclick 어떤 오류가 발생하지 않습니다, 아무 일도 일어나지 않습니다. –