0

他の情報を含むファイルをデータベースにアップロードし、それをグラフに表示するフォームがあります。現在、グラフにはファイル名のみが表示され、リンクされていません。ファイルの名前が test1.pdf の場合、チャート上ではまだ chart1.pdf と表示されますが、ファイルがあるディレクトリにリンクするようにするにはどうすればよいですか?

                       if ('POST' === $_SERVER['REQUEST_METHOD'])
{
$con = mysql_connect("localhost","xxxx","xxxxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("jjlliinn_test", $con);


$target = "clientdoc/"; 
$target = $target . basename( $_FILES['file']['name']);

$date = $_POST['date'];
$propertydescription = $_POST['propertydescription'];
$transactiontype = $_POST['transactiontype'];
$applicabledocument = ($_FILES['file']['name']); 
$received = $_POST['received'];
$paid = $_POST['paid'];

//Writes the to the server 
 if(move_uploaded_file($_FILES['file']['tmp_name'], $target)) 
 { 

 //Tells you if its all ok 
 echo ""; 
 } 
 else { 

 //Gives and error if its not 
 echo "Sorry, there was a problem uploading your file."; 
 } 

$sql = mysql_query("INSERT INTO `transactions` (`date`, `agentclient`, `propertydescription`, `transactiontype`, `applicabledocument`, `received`, `paid`) 
VALUES
 ('$date', '$agentclient', '$propertydescription', '$transactiontype', '$applicabledocument', '$received', '$paid')") or die(mysql_error()); 
$query = mysql_query($sql);
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
echo "Succesfully added transaction. Updating table...";
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"48\">";
mysql_close($con);
}
}
?>
4

1 に答える 1

0

すべてのアップロードがクライアント doc フォルダーに保存され、クエリを実行してトランザクション テーブルからレコードセットを取得したと仮定します...

<a href="/clientdoc/<?php echo $applicabledocument; ?>" title="example title">link text</a>

別のポイントは、コードを見て、生の $_POST 値をデータベースに直接送信すると、SQL インジェクションの問題が発生することです。ENT_QUOTES が設定された htmlentities か、php で利用可能な入力フィルタのいずれかを見てください。

于 2013-06-04T09:42:55.117 に答える