2016-11-23 107 views
0

我有一個系統,用戶可以登錄,並可以選擇該事件並將保存到數據庫中。調用當前用戶登錄的選擇項的用戶名

然而,問題是,我可以設置爲只有一個用戶,你可以在9號線在save.php看到

所以我的問題是,如何設置用戶在系統中自動這樣如果其他用戶登錄,數據將被保存在他們的名下。這個問題是因爲登錄使用yii2框架,這個選擇事件被使用HTML和事件的模型是使用GII,

這裏是我的代碼:

代碼爲viewevents.php

<?php 

    echo '<link href="../../css/style.css" rel="stylesheet"/>'; 

    $event = get_events(); 
    function get_events(){ 
     include ("../config/connect.php"); 
     $sql = "SELECT * FROM `events` order by event_id desc;"; 
     if ($result = $dayahlatiff->query($sql)) { $in = 0; 
     while ($row = $result->fetch_assoc()) { 
      $new_res[$in] = $row; 
      $in++; 
     } 
     $result->free(); 
    } 

     return isset($new_res)?$new_res:array(); 
    } 

    $this->title = 'View Events'; 
    $this->params['breadcrumbs'][] = $this->title; 
    ?> 

    <?php $in = 1; 
    if (!empty($event)) { 
     include 'events.php'; 
    } 
    ?> 

爲save.php

<?php 
    session_start(); 

    if(isset($_SESSION["id_"])){ 
    // $hh = $_SESSION["id_"]; 
    // die($hh); 
    } 
    require("../../../vendor/yiisoft/yii2/Yii.php"); 
    $user = "dayahlatiff"; 
    //$user = Yii::$app->user->identity->username; 
    /* 
    * To change this license header, choose License Headers in Project Properties. 
    * To change this template file, choose Tools | Templates 
    * and open the template in the editor. 
    */ 
    if(isset($_POST["save"])){ 
     include ("../../config/connect.php"); 
     $where = $_POST["where"]; 
     $list = $_POST["check_list"]; 
     if(empty($list)){ 
      header("Location: ".$where); 
     }else { 
      $done = true; 
      for($s = 0; $s<sizeof($list); $s++){ 
       $event = $list[$s]; 
       $sql = "INSERT INTO `selectevents` (`user_id`, `username`, `event_title`) VALUES (NULL, '$user', '$event');"; 
       if($dayahlatiff->query($sql) === FALSE){ 
        $event = false; 
       } 
      } 
      header("Location: ".$where); 
     } 
    } 
+1

這看起來像一些舊的遺留PHP代碼被迫使用Yii。你爲什麼不正確使用Yii 2? – Bizley

+0

@Bizley其實,我試過使用yii2,但它不工作..所以我從我的朋友那裏得到幫助,但他不是太高手使用yii2,這就是爲什麼代碼混合yii2和html。但是,html代碼僅適用於這兩個文件(viewevents.php和save.php) – Fyp16

+0

帶'// user = ...'的註釋行正是獲取已記錄的Yii 2用戶的用戶名的方式,但是我真的懷疑你是否可以像這樣在沒有任何問題的情況下使用它。除了你的代碼是開放給SQL注入的。 Yii 2並不難學。檢查[Yii 2指南](http://www.yiiframework.com/doc-2.0/guide-index.html)並正確執行。 – Bizley

回答

0

的代碼,我建議你得到一些有關

面向
  • 對象編程
  • MVC結構
  • 命名空間
  • 活動記錄

並獲得與yii2及其文檔有點熟悉並且。

這段代碼是純PHP,在Yii2等框架中,沒有像包含文件或連接到數據庫那樣的東西。

仔細查看來自This Url的Yii2文檔,並嘗試使用Yii2結構下提供的概念進行編碼。確保你熟悉這個概念,並嘗試忘記老派原生PHP編程。

相關問題