Jump to content

Recommended Posts

Hello

 

Im trying to upload and then display images from a mysql database - Its only basic and i only need one pic per user on the database hence why using mysql

 

I really need osme help as ive been going round in circles for a couple of days now - I know its probably very simple but my head is spinning - any help would be amazing - Be very gratefull

 

The database has blob specified for the pic

 

Here is my post data

 

  <form id="form1" method="post" action="djregistercheck.php" enctype="multipart/form-data">

  <p>

<label>Dj Name

<input type="text" name="DJName" id="DJName" />

  </label> * - Must Be Entered

  </p>

  <p>

    <label>Your Email

    <input type="text" name="Email" id="Email" />

    </label>* - Must Be Valid Email Address

  </p>

    <p>

    <label>Password

    <input type="password" name="Password" id="Password" />

</label>* - Must be more than 6 charachters

  </p>

  <p>

    <label>Name

    <input type="text" name="Name" id="Name" />

</label>

    * - Must Be Entered  </p>

  <p>

    <label>Surname

    <input type="text" name="Name" id="Name" />

</label>

    * - Must Be Entered  </p>

<p>

<label>Description

<input type="text" name="Description" id="Description" />

  </label> * - Must Be Entered

  </p>

    <p>

<label>Expierience

<input type="text" name="Expierience" id="Expierience" />

  </label> * - Must Be Entered

  </p>

  <p>

<label>Website

<input type="text" name="Website" id="Website" />

  </label> * - Must Be Entered

  </p>

    <p>

<label>Location

<input type="text" name="Location" id="Location" />

  </label> * - Must Be Entered  </p>

      <p>

<label>Mobilephone

<input type="text" name="Mobilephone" id="Mobilephone" />

  </label> * - Must Be Entered

  </p>

        <p>

<label>Picture

<input type="file" name="Pic" size="50" id="Pic" />

  </label> * - Must Be Entered

  </p>

      <p>

    <input type="submit" name="button" id="button" value="Submit" />

  </p>

</form>

 

and here is the djregistercheck page

 

<?php

include 'connection.php';

// Main ----------

session_start();

  // Get the data collected from the user

    $DJName = $_POST['DJName']; 

$Email = $_POST['Email'];

$Password = $_POST['Password'];

$Name = $_POST['Name'];

$Surname = $_POST['Surname']; 

$Description = $_POST['Description'];

$Expierience = $_POST['Expierience'];

$Website = $_POST['Website'];

$Location = $_POST['Location'];

$Mobilephone = $_POST['Mobilephone'];

$Pic = $_POST['Pic'];

 

if (empty($Email))

{

$_SESSION["message"] = "Email Address is Empty - Please re-enter" ;

      header("Location: djregister.php");

    exit; //Ends the script and redirects to above

}

//Check to see if the email contains '@'

else if (strpos($Email,'@') < 1)

{

  $_SESSION["message"] = "Email Address is Invalid - Please re-enter" ;

      header("Location: djregister.php");

exit; //Ends the script and redirects to above

}

//Checks to see if the password is less than 6 charachters

else if (strlen($Password)<6)

{

  $_SESSION["message"] = "Password must be longer than 6 charachters" ;

      header("Location: djregister.php");

    exit; //Ends the script and redirects to above }

}

//All was OK - Log details to Customer Database and re-direct to login so customer can now login

else

$query = "INSERT INTO Dj (DJName, Email, Password, Name, Surname, Description, Expierience, Website, Location, Mobilephone, Pic) VALUES ('$DJName', '$Email', '$Password', '$Name', '$Surname', '$Description', '$Expierience', '$Website', '$Location', '$Mobilephone', '$Pic')"; 

$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

 

$_SESSION["message"] = "Thank You $DJName For Registering - Please now log in to View Site" ; 

header("Location: login.php"); //This sets the redirection information

exit; //Ends the script and redirects to above

    // execute query

 

  // print $query;

 

    $result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

 

// close connection

mysql_close($connection);   

?>

 

 

So im not sure if that works correctley but i presume it does as when i do the below a file path is displayed

 

Here is the code for the display

 

//Include the connection details, open $connection and select database

include ("connection.php");

 

//Prepare query

$query = "SELECT DJName, Email, Description, Expierience, Website, Pic

FROM Dj";

 

 

// execute query 

$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 

 

// see if any rows were returned

if (mysql_num_rows($result)>0) {

    echo "<table border=1>\n<tr>" .

              "<th>DJName</th>" .

              "<th>Email</th>" .

  "<th>Description</th>" .

  "<th>Expierience</th>" .

  "<th>Website</th>".

  "<th>Pic</th>";   

 

    while ($row = @ mysql_fetch_array($result)) {

    //while($row = mysql_fetch_row($result)) {

      echo "<tr>";

        echo "<td class=BorderMeRed>".$row["DJName"]."</td>";

        echo "<td class=BorderMeRed>".$row["Email"]."</td>";

        echo "<td class=BorderMeRed>".$row["Description"]."</td>";

echo "<td class=BorderMeRed>".$row["Expierience"]."</td>";

echo "<td class=BorderMeRed>".$row["Website"]."</td>";

echo "<td class=BorderMeRed>".$row["Pic"]."</td>"; 

        echo "</tr>";

    }

    echo "</table>";

else { 

    // no 

    // print status message 

    print "No rows found!"; 

 

?> 

Your code and html display is all wrong.

 

The "file" input will return a $_FILES array

 

Here's some code play with:

 

$image='';

            $imagedest='unix or windows path';

$tmp_name=$_FILES['Pic']['tmp_name'];

$image_type=explode('/',$_FILES['Pic']['type']);

$fulldest=$imagedest.$image;

 

if(isset($_FILES['Pic'])&&$_FILES['Pic']['name']!=''){

if(preg_match('/\\.(jpg|gif|jpeg|bmp)$/i',$image)){

if(move_uploaded_file($tmp_name,$fulldest)){

echo 'file uploaded';

}

}

}

 

You have to create the imagedest path on your server. You're not storing the image in the db, only the filename.

Then, when you want to display the image, you need to pull the path and have your html in proper form.

 

Not:

echo "<td class=BorderMeRed>".$row["Pic"]."</td>"; 

 

This:

echo '<td class=BorderMeRed><img src="'.$row['Pic'].'</img></td>'; 

 

PS. Please learn the difference between a single and double quote.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.