2016-07-24 93 views
-1

我已經能夠將圖像上傳到數據庫中,但現在我還想在HTML表單下方顯示上傳的圖像。我試圖通過在一個PHP腳本中創建一個數組來執行此操作,該腳本將在單獨的PHP腳本中使用。顯示的錯誤是「不要直接訪問超級全局$ _REQUEST」如何解決這個問題?在網頁上顯示來自數據庫的圖像

<?php 

require 'connection'; 

$id = addslashes ($_REQUEST ['id']); 

$image = mysql_query ("SELECT * FROM players WHERE id= $id"); 
$image2 = mysql_fetch_assoc($image); 
$image3 = $image2 ['image']; 


header ("content-type: image/jpeg"); 
echo $image3; 


<?php 
require 'connection.php'; 

// file properties 
$id = filter_input(INPUT_POST, 'playerid'); 
$name = filter_input(INPUT_POST, 'name'); 
$age = filter_input(INPUT_POST, 'age'); 
$position = filter_input(INPUT_POST, 'position'); 
$nationality = filter_input(INPUT_POST, 'nationality'); 
$file = $_FILES['image']['tmp_name']; 

if (! isset($file)){ 
    echo "Please select an image."; 
} 
else { 
    $_id = mysql_real_escape_string($id); 
    $_name = mysql_real_escape_string($name); 
    $_age = mysql_real_escape_string($age); 
    $_position = mysql_real_escape_string($position); 
    $_nationality = mysql_real_escape_string($nationality); 
    $image = addslashes(file_get_contents($_FILES ['image']['tmp_name'])); 
    $image_name = addslashes($_FILES ['image']['name']); 
    $image_size = getimagesize($_FILES ['image']['tmp_name']); 

if ($image_size == FALSE){ 
    echo "Thats not an image."; 
} 
else{ 
    if(!$insert = mysql_query("INSERT INTO players VALUES ('$_id', '$_name', '$_age', '$_position', '$_nationality', '$image_name', '$image')")){ 
     echo "Problem uploading image."; 
    } 
else 
{ 
    $lastid = mysql_insert_id(); 
    echo "Profile photo uploaded.<p />Player photo:<p /><img src= getphoto.php?id=$lastid"; 
} 
} 
} 

回答

0

變化

$id = addslashes ($_REQUEST ['id']); 

,來訪問$_POST$_GET這取決於你正在處理一個POST或GET請求:

$id = addslashes ($_POST['id']); 
or 
$id = addslashes ($_GET['id']);