Can anyone help pleaseee with this code!!

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
pirate1717
Forum Newbie
Posts: 2
Joined: Mon Sep 05, 2005 6:57 am

Can anyone help pleaseee with this code!!

Post by pirate1717 »

Hello,
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>
The Script for storing files in the database UpdateClassNotes.php

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>
The script for displaying the files stored in the database displayStudentNotes.php

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>&nbsp;</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>
Finally the script for viewing the content of a document stored in the database downloadDocument.php

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>
Thanks!!!


feyd | Please use

Code: Select all

and

Code: 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]
User avatar
patrikG
DevNet Master
Posts: 4235
Joined: Thu Aug 15, 2002 5:53 am
Location: Sussex, UK

Post by patrikG »

patrikG | Please use

Code: Select all

and

Code: 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]
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

you're outputing a binary stream into an html document. Remove all the HTML (and any other characters outside of php's processing) from download..
pirate1717
Forum Newbie
Posts: 2
Joined: Mon Sep 05, 2005 6:57 am

Post by pirate1717 »

did that...i still get the same output... :(
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

check your error logs to see what they have to say.
Post Reply