2017-05-30 67 views
0

我試試這個PHP代碼(我已閱讀有關SQL注入),但顯然它不運行,沒有錯誤信息或其他任何東西......是否PHP代碼不跑?沒有錯誤消息

<?php 
function SignIn(){ 
    session_start(); 
    require_once("dbConnection.php"); 
    if(isset($_POST['submit'])){ 
     $db_handle = new DBConnection(); 
    $username = $_POST["username"]; 
    if(filter_var($username, FILTER_VALIDATE_EMAIL)===true && strpos(explode('@',$username),"studio.unibo.it")===true){ 
     $query = $db_con->prepare("SELECT * FROM studenti_in_sessione 
     WHERE Username=:username"); 
     $query->execute(array(":username"=>$username)); 
     $row = $query->fetch(PDO::FETCH_ASSOC); 
     $count = $query->rowCount(); 
     if($row['Username']==$username){ 
      echo "<script language = javascript> 
       alert(\"Autenticazione riuscita,Le invieremo nella mail istituzionale un codice univoco di autenticazione.\"); 
       window.history.go(-1); 
      </script>"; 
      $querySession = $db_con->prepare("SELECT Nome, Cognome, Matricola FROM studenti_in_sessione 
     WHERE Username:=username"); 
     $querySession->execute(array(":username"=>$username)); 
     $rowStud = $querySession->fetch(PDO::FETCH_ASSOC); 
     $exit = array_values($rowStud); 
     $queryInsert = $db_con->prepare("INSERT INTO studente (Nome, Cognome, Matricola, Username, Codice) VALUES('".$exit[0]."', 
      '".$exit[1]."','".$exit[2]."','".$username."');"); 
     $resultInsert = $queryInsert->execute(); 
     sendCode($username); 
    } 
     }}else{ 
      echo "<script language = javascript> 
       alert(\"L'indirizzo deve essere @studio.unibo.it.\"); 
       window.history.go(-1); 
       </script>"; 
    } 
    if(isset($_POST['submit'])){ 
     SignIn(); 
    } 

?> 

這是HTML表單

<div class="box-header"> 
       <h2>Login</h2> 
      </div> 
      <form name="form" class="form" method="POST"> 
      <label for="username">Username</label> 
      <br/> 
      <input type="text" id="username" name="username"> 
      <input name="submit" id="submit" type="submit" value="Login"> 
     </div> 

最後的script.js

$('document').ready(function() 
{ 
    /* validation */ 
    $(".form").validate({ 
     rules: 
    { 
    user_email: { 
      required: true, 
      email: true 
      }, 
    }, 
     messages: 
    { 
      user_email: "please enter your email address", 
     }, 
    submitHandler: submitForm 
     }); 
    /* validation */ 

    /* login submit */ 
    function submitForm() 
    { 
    var data = $(".form").serialize(); 

    $.ajax({ 

    type : 'POST', 
    url : '../Slide_upload/database/signIn.php', 
    data : data, 
    success : function(response){  
    if(response=="ok"){ 

    } 
    else{ 

    } 
    } 
    }); 
    return false; 
    } 
    /* login submit */ 
}); 

我可能犯了錯誤,但我想不通的地方...

+0

你需要自己調試。在每行添加回顯並驗證 – Akintunde007

+0

在你的'signIn.php'中添加'error_porting(E_ALL); ini_set('display_errors',1); session_start();'並刪除'session_start()裏面function.Now提交表單,並檢查您的瀏覽器控制檯的錯誤或成功 –

+0

如果代碼根本不運行,頁面是空白的,原因通常是語法錯誤。 – Pyromonk

回答

0

當然,你缺少一個括號來關閉你正在執行的函數。 線

if(isset($_POST['submit'])){ 
    SignIn(); 

}

前加入這會讓你的函數調用工作。

相關問題