2016-01-31 95 views
1

這是一個概念問題..現在我有一個註冊/登錄和使用php和mysql構建的配置文件頁面系統。但我有一個問題。現在我想要一個用戶能夠製作他們自己特定的待辦事項。所以當他們登錄時,他們可以看到他們的待辦事項,併爲他們自己創建他們的待辦事項。只有他們的登錄才能接受他們的待辦事項。但我不明白如何做到這一點在PHP/MySQL。請幫我在那謝謝你。特定用戶表

這是我的登錄頁面:

<?php 
session_start(); 
require_once('PhpConsole.phar'); 
require_once('connection.php'); 
ob_start(); 
require('index.php'); 
$data = ob_get_clean(); 
ob_end_clean(); 
?> 
<!DOCTYPE html> 
<html lang="en-US"> 
<head> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="https://rawgit.com/marcoceppi/bootstrap-glyphicons/master/css/bootstrap.icon-large.css"> 
    <link rel="stylesheet" href="main.css"> 
    <link rel="stylesheet" href="lib/sweetalert.css"> 
    <script src="lib/sweetalert-dev.js"></script> 
</head> 

<body> 

    <div id="page"> 

    <form method = "post" role = "form" id = "form"> 
     <h1 style = "position:relative; left:60px; font-family: Impact;">Login </h1> 
     <div class="col-xs-2"> 
      <div class="inner-addon left-addon"> 
      <i class="glyphicon glyphicon-envelope"></i> 
      <input type="text" class="form-control" id = "email" name = "loginemail" placeholder="Email" /> 
      </div> 
     </div> 
     <br> 
      <div class="col-xs-2"> 
      <div class="inner-addon left-addon"> 
      <img src = "http://i.imgur.com/GqkLI3z.png" id = "imgLock"/> 
      <input type="text" class="form-control" name = "loginpassword" placeholder="Password" id = "password" /> 

      </div> 
     </div> 

     <br> 
     <br> 
     <div id = "buttons"> 
     <div class="col-xs-2"> 
     <div class="inner-addon left-addon"> 
      <i class="glyphicon glyphicon-ok-sign" ></i> 
      <input type = "submit" class="btn btn-info" name = "loginsubmit" id = "submit"/> 
     </div> 
     <div> 
     </div> 

    </form> 
    </div> 
<?php 
    if(isset($_POST["loginsubmit"])){ 

    $loginEmail = $_POST["loginemail"]; 
    $loginPassword = $_POST["loginpassword"]; 
    if ($query = mysqli_query($connection, "SELECT * FROM `authe` WHERE Email = '".$loginEmail."' AND Password = '".$loginPassword."' ")) { 

    $rows = mysqli_num_rows($query); 

    if($rows>0){ 
     echo "<script> swal('Good job!', 'Sucessfully Authenticated', 'success')</script>"; 
     $_SESSION['email'] = $loginEmail; 
     $_SESSION['password'] = $loginPassword; 
     if(true){ 
     // header("Location: http://localhost:8012/phpForm/Profile.php"); 

     if ($queryTwo = mysqli_query($connection, "SELECT Username FROM `authe` WHERE Email = '".$loginEmail."'")) { 
      $rowsTwo = mysqli_num_rows($queryTwo); 
      if($rowsTwo>0){ 
      printf($rowsTwo); 
      while($roww = mysqli_fetch_array($queryTwo)) 
       { 
       $_SESSION["username"] = $roww['Username']; 
       } 
      } 
     } 
     echo "<script> window.location.href = 'http://localhost:8012/phpForm/Profile.php' </script>"; 
     } 

    } 
    else { 
    echo "<script>sweetAlert('Oops...', 'Authentication Failed', 'error');</script>"; 
    } 
    } 
} 
?> 


</body> 
    </html> 

    <!-- <br> 

<input type = "text" class="form-control" name = "loginemail" style = "width = 20px;" id = "input" placeholder = "Enter Email" required/> 
<i class="glyphicon glyphicon-user form-control-feedback"></i> 
    <br> --> 

我的個人資料頁:

<?php 
session_start(); 
require_once('PhpConsole.phar'); 
require_once('connection.php'); 
ob_start(); 
require('index.php'); 
$data = ob_get_clean(); 
ob_end_clean(); 

    ?> 
<!DOCTYPE html> 
<html lang="en-US"> 
<head> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="https://rawgit.com/marcoceppi/bootstrap-glyphicons/master/css/bootstrap.icon-large.css"> 
    <link rel="stylesheet" href="main.css"> 
    <script src="https://code.angularjs.org/1.4.9/angular.js"></script> 
    <link href='https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:700' rel='stylesheet' type='text/css'> 
    <script src = "page.js"></script> 
    <link rel="stylesheet" href="lib/sweetalert.css"> 
    <script src="lib/sweetalert-dev.js"></script> 
    <style> 
    #toDoButton { 
    position: relative; 
     color: rgba(255,255,255,1); 
     text-decoration: none; 
     background-color: rgba(219,87,5,1); 
     font-family: 'Yanone Kaffeesatz'; 
     font-weight: 700; 
     right:550px; 
     bottom:70px; 
     font-size: 3em; 
     display: block; 
     padding: 4px; 
     -webkit-border-radius: 8px; 
     -moz-border-radius: 8px; 
     border-radius: 8px; 
     -webkit-box-shadow: 0px 9px 0px rgba(219,31,5,1), 0px 9px 25px rgba(0,0,0,.7); 
     -moz-box-shadow: 0px 9px 0px rgba(219,31,5,1), 0px 9px 25px rgba(0,0,0,.7); 
     box-shadow: 0px 9px 0px rgba(219,31,5,1), 0px 9px 25px rgba(0,0,0,.7); 
     margin: 100px auto; 
    width: 160px; 
    text-align: center; 

    -webkit-transition: all .1s ease; 
    -moz-transition: all .1s ease; 
    -ms-transition: all .1s ease; 
    -o-transition: all .1s ease; 
    transition: all .1s ease; 
    } 

    #toDoButton:active { 
     -webkit-box-shadow: 0px 3px 0px rgba(219,31,5,1), 0px 3px 6px rgba(0,0,0,.9); 
     -moz-box-shadow: 0px 3px 0px rgba(219,31,5,1), 0px 3px 6px rgba(0,0,0,.9); 
     box-shadow: 0px 3px 0px rgba(219,31,5,1), 0px 3px 6px rgba(0,0,0,.9); 
    } 

    </style> 
</head> 

<body> 

    <div id="page" ng-app = "pageApp" ng-controller="pageController"> 
     <h1>Welcome <?php echo $_SESSION['username']; ?></h1> 
     <h5>Here is one cool feauture. Type in the box :)</h5> 
     <div class = "coolFeauture" id = "CoolFeauture1"> 
     <input type = "text" ng-model = "CoolFeauture"/> 
     <div ng-bind = "CoolFeauture"></div> 
    </div> 
<div class = "todoMain"> 
    <h4>Click on the button for a TODO App! Check it out!</h4> 
     <a href="javascript:void(0);" id = "toDoButton">Todo</a> 
    </div> 
    </div> 
    <?php 
    ?> 


</body> 
    </html> 

    <!-- <br> 

<input type = "text" class="form-control" name = "loginemail" style = "width = 20px;" id = "input" placeholder = "Enter Email" required/> 
<i class="glyphicon glyphicon-user form-control-feedback"></i> 
    <br> --> 
+0

兩個表:一個'用戶'表和一個'todolist'表,它具有用戶ID作爲外鍵。登錄時,可以將會話變量設置爲用戶標識,以便代碼僅查詢具有該用戶標識的todolist。 – TurtleTread

+0

好@JoeS我已經有一個用戶表。但是,todolist是每個人都可以....我不能把多個數據放在一個單一的行..我真的不明白你在說什麼。 – amanuel2

+0

todolist table columns:todoid,content,userid。查詢:選擇...其中userid = {userid} – TurtleTread

回答

1

既然是概念的問題,你提到的登錄/註冊系統已經完成,有什麼您需要做的是:

  • 記錄它們以保存唯一的$_SESSION['id']或可終止的唯一密鑰。
    • 此外,您可以保存cookie來識別其賬戶

todo.php頁:

  • 確保它們是通過檢查$_SESSION['id'](如果已設置登錄,否則重定向到某處或彈出消息)。
  • 查詢其當前的存儲TODOS通過類似SELECT * FROM todo WHERE user='id'
  • 顯示<textarea>或類似的存儲新TODO(您可以通過一個POST做同一頁)。
  • 如果頁面得到一個POST要求:
    • 商店新TODOS通過INSERT INTO todo('id', 'sanitized $_POST["text"]')

同時,始終確保做任何這些查詢的前消毒變量。

+0

我還是不明白你想說什麼在這裏傑裏 – amanuel2