I am quite new to php and currently i am developing a website with one of it's functionalities being to display documents from files stored in a mysql database. While everything seems to work fine when i upload these documents when they are displayed in the browser the document format is party encoded???... If anyone could help me that would be amazing. Below i give all the scripts for this process.
Database Table
Code: Select all
CREATE TABLE Document (
docId INT(5) NOT NULL AUTO_INCREMENT,
docName CHAR(30) NOT NULL,
type CHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
mId CHAR(12) NOT NULL REFERENCES Module,
PRIMARY KEY (docId, mId) );The script with html forms IsonAdminPageNotes.php
Code: Select all
<?php
/* Program: Displays the administrator page. Greeds the
* administrator by username and gives the user choice to
* add/delete or change student details in the system's database.
* It also provides links for the administrator to add/delete students
* and search the database. A javascript is used to check for any empty
* fields related to the chosen operation(i.e. add/delete/change).
*/
?>
<?php
//start session
session_start();
//Check for authorization if not authorized display the login page
if (@$_SESSION['authorized'] != "yes")
{
include("IsonAdminLogin.html");
exit();
}
include("mdbs.inc");
//Connect to the database
$connection = mysql_connect($host,$user,$password)
or die("Couldn't connect to database");
$db = mysql_select_db($database,$connection)
or die("Couldn't select database");
//get the username of the administrator
$username = $_POST["username"];
$sql = "SELECT adUsername FROM Administrator
WHERE adUsername = 'adUsername'"; /*'{$_SESSION['logname']}*/
$result = mysql_query($sql)
or die("Couldn't execute query");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
extract($row);
?>
<html>
<head>
<title>Ison Admin Page</title>
</head>
<body bgcolor='FFCC33'>
<p><img src='file:///D|/ebs/Project/Project%20Mysql-PHP(Appendix%20D)/isonImage1.gif' width='400' height='80'></p>
<div align='center'>
<h3 align="left"><font color="#66CC00" face="Courier New">Administrator Page<br>
Add/Delete Notes Section</font></h3>
<div align='center'>
<form name="form1" method="post" action="file:///D|/ebs/Project/Project%20Mysql-PHP(Appendix%20D)/UpdateClassNotes.php" enctype="multipart/form-data">
<table width="60%" border="0">
<tr>
<td width="50%"><font color="#0000CC">Please Choose Operation</font></td>
<td width="50%"><select name="operation" size="1">
<option value="add document" selected>add document</option>
<option value="delete document">delete document</option>
</select></td>
</tr>
<tr>
<td><font color="#0000CC">Please Enter Module Id</font></td>
<td><select name="mId" size ="1">
<option value="AjGrm"selected>AjGrm </option></option>
<option value="AjVoc">AjVoc</option>
<option value="AjSpk">AjSpk</option>
<option value="AjRd">AjRd</option>
<option value="AjLst">AjLst</option>
<option value="AjTst">'AjTst</option>
<option value="BjGrm">BjGrm</option>
<option value="BjVoc">BjVoc</option>
<option value="BjSpk">BjSpk</option>
<option value="BjRd">BjRd</option>
<option value="BjLst">BjLst</option>
<option value="BjTst">BjTst</option>
<option value="AsGrm">AsGrm</option>
<option value="AsVoc">AsVoc</option>
<option value="AsSpk">AsSpk</option>
<option value="AsRd">AsRd</option>
<option value="AsLst">AsLst</option>
<option value="AsTst">AsTst'</option>
<option value="BsGrm">BsGrm</option>
<option value="BsVoc">BsVoc</option>
<option value="BsSpk">BsSpk</option>
<option value="BsRd">BsRd</option>
<option value="BsLst">BsLst</option>
<option value="BsTst">BsTst</option>
<option value="CsGrm">CsGrm</option>
<option value="CsVoc">CsVoc</option>
<option value="CsSpk">CsSpk</option>
<option value="CsRd">CsRd</option>
<option value="CsLst">CsLst</option>
<option value="CsTst">CsTst</option>
<option value="DsGrm">DsGrm</option>
<option value="DsVoc">DsVoc</option>
<option value="DsSpk">DsSpk</option>
<option value="DsRd">DsRd</option>
<option value="DsLst">DsLst</option>
<option value="DsTst">DsTst</option>
<option value="FcGrm">FcGrm</option>
<option value="FcVoc">FcVoc</option>
<option value="FcSpk">FcSpk</option>
<option value="FcRd">FcRd</option>
<option value="FcLst">FcLst</option>
<option value="FcTst">FcTst</option>
<option value="AdGrm">AdGrm</option>
<option value="AdVoc">AdVoc</option>
<option value="AdSpk">AdSpk</option>
<option value="AdRd">AdRd</option>
<option value="AdLst">AdLst</option>
<option value="AdTst">AdTst</option>
<option value="ProfGrm">ProfGrm</option>
<option value="ProfVoc">ProfVoc</option>
<option value="ProfSpk">ProfSpk</option>
<option value="ProfLst">ProfLst</option>
<option value="ProfTst">ProfTst</option>
</select> </td>
</tr>
<tr>
<td><font color="#0000CC">Please Enter Doc Id *(delete operation only)</font></td>
<td><input type="text" name="docId"></td>
</tr>
<tr>
<td><input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile"></td>
<td><input name="execute" type="submit" class="box" id="execute" value="execute"></td>
</tr>
</table>
</form>
<p align="left"><a href="file:///D|/Uni/LogOutIson.php">LogOut</a></p>
</div>
</body>
</html>Code: Select all
<head>
<title>Upadate Class Notes </title>
</head>
<body>
<?php
//start session
session_start();
include("mdbs.inc");
//connect to database
$connection = mysql_connect($host,$user,$password)
or die("Couldn't connect to database");
$db = mysql_select_db($database,$connection)
or die("Couldn't select database");
$operation = $_POST["operation"];
$cId = $_POST["cId"];
$mId = $_POST["mId"];
$docId = $_POST["docId"];
$sql = "SELECT docId FROM Document WHERE docId = '$docId'";
$result = mysql_query($sql)
or die("Couldn't execute query");
$nrows = mysql_num_rows($result);
$type = $_FILES['userfile']['type'];
$fileName = $_FILES['userfile']['name'];
$size = $_FILES['userfile']['size'];
//Declare the variable that specifies which values are passed from the Admin form for student details
if($_FILES['userfile']['size'] <= $_REQUEST['MAX_FILE_SIZE'] && $operation == "add document")
{
$content = fread(fopen($_FILES['userfile']['tmp_name'], "rb"),
$_FILES['userfile']['size']);
$content = addslashes($content);
//base64_encode($content);
//include 'library/config.php';
//include 'library/opend.php';
$sql = "INSERT INTO Document (docId, docName, type, size, content, mId)
VALUES ('NULL', '$fileName', '$type', '$size', '$content', '$mId')";
mysql_query($sql)
or die("Couldn't upload file");
$sql2 = "INSERT INTO ModuleDocument (mId, docId, docName)
VALUES ('$mId', 'NULL', '$docName')";
mysql_query($sql2)
or die("Couldn't insert into moduledocument values");
//include 'library/closedb.php';
include("IsonAdminPageNotes.php");
echo "<div align='center'><font color='#0000CC'>File $fileName uploaded</font></div>";
}
else if($operation == "delete document")
{
if($nrows == 0)
{
include("IsonAdminPageNotes.php");
echo "<div align='center'><font color='#0000CC'>Document does not exist.<br>
Can not delete.</font></div>";
exit;
}
if($nrows > 0)
{
$sql = "DELETE FROM Document WHERE (docId = '$docId')";
mysql_query($sql)
or die("Couldn't delete document");
$sql2 = "DELETE FROM ModuleDocument WHERE (docId = '$docId')";
mysql_query($sql2)
or die("Couldn't delete from moduledocument");
include("IsonAdminPageNotes.php");
echo "<div align='center'><font color='#0000CC'>Document deleted.</font></div>";
exit;
}
}
?>
</body>
</html>Code: Select all
<html>
<head>
<title>Display Student Notes</title>
</head>
<body bgcolor="#FFCC33">
<p><img src='file:///D|/Uni/isonImage1.gif' width='400' height='80'></p>
<?php
//start session
session_start();
//Check for authorization if not authorized display the login page
if (@$_SESSION['authorized'] != "yes")
{
include("IsonStudentLogin.html");
exit();
}
include("mdbs.inc");
//Connect to the database
$connection = mysql_connect($host,$user,$password)
or die("Couldn't connect to database");
$db = mysql_select_db($database,$connection)
or die("Couldn't select database");
$mId = $_POST['mId'];
$sql = "SELECT docId, docName, type FROM Document
WHERE mId ='$mId'";
$result= mysql_query($sql)
or("Couldn't execute query");
echo "<font color='00CC00' size='5'>$mId</font>";
?>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#111111" width="100%">
<p> </p><tr>
<td width="34%" bgcolor="#FF9900" height="21">
<p style="margin-left: 10"><b><font size="2" face="Verdana" color="#FFFFFF">
File Name</font></b></td>
<td width="33%" bgcolor="#FF9900" height="21">
<p style="margin-left: 10"><b><font face="Verdana" size="2" color="#FFFFFF">
Type</font></b></td>
<td width="33%" bgcolor="#FF9900" height="21">
<p style="margin-left: 10"><b><font face="Verdana" size="2" color="#FFFFFF">
File</font></b></td>
</tr>
<?php
while($row = mysql_fetch_array($result))
{
?>
<tr>
<td width="34%" bgcolor="#FFDCA8" height="21">
<p style="margin-left: 10; margin-right: 10">
<font face="Verdana" size="1">
<?php echo $row["docName"]; ?>
</font>
</td>
<td width="33%" bgcolor="#FFDCA8" height="21">
<p style="margin-left: 10">
<font face="Verdana" size="1">
<?php echo $row["type"]; ?>
</font>
</td>
<td width="33%" bgcolor="#FFDCA8" height="21">
<p style="margin-left: 10"><font face="Verdana" size="1">
<a href="file:///D|/Uni/downloadDocument.php?docId=<?php echo $row["docId"]; ?>">
Download now
</a></font>
</td>
</tr>
<?php
}
echo "</table>";
?>
</html>Code: Select all
<html>
<head>
<title>Download Document</title>
</head>
<body>
<?php
//start session
session_start();
//Check for authorization if not authorized display the login page
if (@$_SESSION['authorized'] != "yes")
{
include("IsonStudentLogin.html");
exit();
}
include("mdbs.inc");
//Connect to the database
$connection = mysql_connect($host,$user,$password)
or die("Couldn't connect to database");
$db = mysql_select_db($database,$connection)
or die("Couldn't select database");
if(isset($_REQUEST['docId']))
{
$sql = "SELECT docName, size,type, content FROM Document
WHERE docId = '${_REQUEST['docId']}'";
$query = mysql_query($sql)
or die("Couldn't execute query");
$results = mysql_fetch_array($query);
header("Content-lenght: " . $results['size']);
header("Content-type: " . $results['type']);
header("Content-Disposition: attachment; " . $results['docName']);
echo $results['content'];
}
else
echo "No record";
?>
</body>
</html>feyd | Please use
Code: Select all
andCode: Select all
tags where approriate when posting code. Read: [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url].[/color]