2016-09-05 5 views
1

저는 PHP, HTML, jQuery에 새로운 것이므로 약간의 도움이 필요합니다. 제출 버튼을 클릭 할 때 활성화해야하는 PHP 스크립트가 있습니다. 내 세션을 내 사용자 이름과 ID로 설정하도록 설정했습니다. 입력 한 정보가 데이터베이스와 동일한 경우 정말로 필요한 것은 p 태그를 업데이트하거나 내 div에 추가하는 방법입니다. 이미 내가 부트 스트랩을 사용하고 통지를하지 않은 경우 또한jQuery는 if 문을 기반으로합니다.

<div class="modal-footer"> 
<input type="submit" name="sumbit" value="Login" class="btn btn-primary" /> 
    <?php 
     if (isset($_POST["username"])) { 
      $username = $_POST["username"]; 
      $password = $_POST["password"]; 
      $sql = "select * from users where username = '$username' and password = '$password' limit 1"; 
      $res = mysql_query($sql) or die(mysql_error()); 
      if (mysql_num_rows($res)) { 
       $row = mysql_fetch_assoc($res); 
       $_SESSION["uid"] = $row["id"]; 
       $_SESSION["username"] = $row["username"]; 
       header("Location: index.php"); 
      } else { 
       ?> 
        //I want to add the text to my modal body above this code 
       <?php 
      } 
     } 
    ?> 
</div> 

:

여기 내 코드입니다.

내 주된 문제는 정보가 정확한지 확인하기 위해 PHP를 실행하는 방법을 모르며 클릭하면 정보가 닫히지 않습니다.

+0

대신 xmlhttprequest를 사용하십시오. – Ghost

+0

[mysql_function 사용 중지] (http://stackoverflow.com/questions/12859942/why-shouldnt-use-mysql-functions-in-php) PHP에서 삭제되었습니다. 또한 [password_hash] (http://php.net/manual/en/function.password-hash.php)를 사용하여 암호를 보호해야합니다. 마지막으로 [귀하의 코드는 SQL injection에 개방되어 있습니다] (0120-385-301) – Machavity

답변

1

여기서 필요한 것은 모든 정보를 가져 오는 AJAX 요청입니다. 이 같은

뭔가 :

HTML

<div class="modal-footer"> 
    <input type="submit" name="sumbit" value="Login" class="btn btn-primary" /> 
</div> 

jQuery를

$("input[name='submit']").click(function(e){ 
    e.preventDefault(); //to prevent form from submitting itself 
    $.post('phpcode.php', $("#form_id").serialize, function(response){ 
     if(response.status) 
     { 
      location.reload('index.php'); 
     } 
     else 
     { 
      $(".modal-footer").html(response.message); 
     } 
    }); 
}); 

PHP (phpcode.php)

,
if (isset($_POST["username"])) { 
     $username = $_POST["username"]; 
     $password = $_POST["password"]; 
     $sql = "select * from users where username = '$username' and password = '$password' limit 1"; 
     $res = mysql_query($sql) or die(mysql_error()); 
     if (mysql_num_rows($res)) { 
      $row = mysql_fetch_assoc($res); 
      $_SESSION["uid"] = $row["id"]; 
      $_SESSION["username"] = $row["username"]; 
      return json_encode(array('status' => true)); 
     } else { 
      return json_encode(array('status' => false, 'message' => 'Error Message or whatever you\'d like to show')); 
     } 
    } 

여기서는 꽤 많은 것을 가정했습니다. 당신이 이해하지 못했던 것이 있으면 다시 자유롭게 돌아 오십시오.

+0

코드가 나타나지만 모달이 종료되고 아무 일도 일어나지 않습니다. 유일한 일은 사용자 이름과 패스 코드에 대한 링크 변경입니다. – DowntownHype

+0

모달 코드가 불완전해야합니다. 여기서 전체 모달 코드를 공유 할 수 있습니까? –

+0

http://pastebin.com/vk0vg82f – DowntownHype