Uploading files/images via forms


Posted on 16th Feb 2014 07:03 pm by admin

Hey all, I am building a database for work that will contain some minor data on plant species along with 4 images. I have developed the form and am able to add the data but due to my abilities and I am stuck trying to get the images to post properly. I am looking for some help or better ways of doing what I am trying to do. Here is my code:
<?php // ivmdadd.php
require_once 'ivmlogin.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($db_database, $db_server)
or die("Unable to select database: " . mysql_error());

// Start with the PHP code

$commonname = $scientificname = $class = $color = $controlcty = $wsdotrow = $prescription = "";

if (isset($_POST['commonname']))
$commonname = fix_string($_POST['commonname']);
if (isset($_POST['scientificname']))
$scientificname = fix_string($_POST['scientificname']);
if (isset($_POST['class']))
$class = fix_string($_POST['class']);
if (isset($_POST['color']))
$color = fix_string($_POST['color']);
if (isset($_POST['controlcty']))
$controlcty = fix_string($_POST['controlcty']);
if (isset($_POST['wsdotrow']))
$wsdotrow = fix_string($_POST['wsdotrow']);
if (isset($_POST['prescription']))
$prescription = fix_string($_POST['prescription']);

$fail = validate_commonname($commonname);



echo "<html><head><title>Add IVM Data</title>";

if ($fail == "") {
echo "</head><body>IVM data successfully validated and added to the database: $commonname,
$scientificname, $class, $color, $controlcty, $wsdotrow, $prescription, $name.</body></html>";

// databse post

$query = "INSERT INTO ivm_data(commonname, scientificname, class, color, controlcty, wsdotrow, prescription, name) VALUES('$commonname','$scientificname', '$class', '$color', '$controlcty', '$wsdotrow', '$prescription', '$name')";
$result = mysql_query($query);


exit;
}

// Now output the HTML and JavaScript code

echo <<<_END

<!-- The HTML section -->

<style>.signup { border: 1px solid #999999;
font: normal 14px helvetica; color:#444444; }</style>
<script type="text/javascript">
function validate(form)
{
fail = validatecommonname(form.commonname.value)
fail += validatescientificname(form.scientificname.value)
fail += validateclass(form.class.value)
fail += validatecolor(form.color.value)
fail += validatecontrolcty(form.controlcty.value)
fail += validatewsdotrow(form.wsdotrow.value)
if (fail == "") return true
else { alert(fail); return false }
}
</script></head>

<body>
<table class="signup" border="0" cellpadding="2"
cellspacing="5" bgcolor="#eeeeee">
<th colspan="2" align="center">Add Data to IVM Database</th>

<tr><td colspan="2"><br />
<p><font color=red size=1><i>$fail</i></font></p>
</td></tr>

<form method="post" action="ivmadd.php" enctype='multipart/form-data'>

<tr><td>Common Name</td><td><input type="text" maxlength="50"
name="commonname" value="$commonname" /></td>
</tr><tr><td>Scientific Name</td><td><input type="text" maxlength="50"
name="scientificname" value="$scientificname" /></td>
</tr><tr><td>Class</td><td><input type="text" maxlength="4"
name="class" value="$class" /></td><input type="text" maxlength="25"
name="color" value="$color" /></td>
</tr><tr><td>Required Control Counties</td><td><textarea name="controlcty" value="$controlcty" cols="50" rows="10" wrap="type"></textarea></td>
</tr><tr><td>On WSDOT ROW</td><td>Yes<input type="checkbox" name="wsdotrow" value="Yes" check="checked" />No<input type="checkbox" name="wsdotrow" value="No" /></td>
</tr><tr><td>Prescription</td><td><input type="text" maxlength="100"
name="prescription" value="$prescription" /></td>
</tr><tr><td>Image 1</td><td><input type='file' name='filename' size='50' />
<tr><td><input type="submit" value="Add" /></td>
</form></table>

<!-- The JavaScript section -->

<script type="text/javascript">
function validatecommonname(field) {
if (field == "") return "No Common Name was entered.\n"
return ""
}

</script></body></html>
_END;

echo "</body></html>";
//PHP functions

if ($_FILES)
{
$name = $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $name);
echo "Uploaded image '$name'<br /><img src='$name' />";
}


function validate_commonname($field) {
if ($field == "") return "Please enter information<br />";
return "";
}

// function validate_scientificname($field) {
// if ($field == "") return "No scientificname was entered<br />";
// return "";
// }

// function validate_class($field) {
// if ($field == "") return "No class was entered<br />";
// else if (strlen($field) < 5)
// return "classs must be at least 5 characters<br />";
// else if (preg_match("/[^a-zA-Z0-9_-]/", $field))
// return "Only letters, numbers, - and _ in classs<br />";
// return "";
// }

// function validate_color($field) {
// if ($field == "") return "No color was entered<br />";
// else if (strlen($field) < 6)
// return "colors must be at least 6 characters<br />";
// else if ( !preg_match("/[a-z]/", $field) ||
// !preg_match("/[A-Z]/", $field) ||
// !preg_match("/[0-9]/", $field))
// return "colors require 1 each of a-z, A-Z and 0-9<br />";
// return "";
// }

// function validate_controlcty($field) {
// if ($field == "") return "No controlcty was entered<br />";
// else if ($field < 18 || $field > 110)
// return "controlcty must be between 18 and 110<br />";
// return "";
// }

// function validate_wsdotrow($field) {
// if ($field == "") return "No wsdotrow was entered<br />";
// else if (!((strpos($field, ".") > 0) &&
// (strpos($field, "@") > 0)) ||
// preg_match("/[^a-zA-Z0-9.@_-]/", $field))
// return "The wsdotrow address is invalid<br />";
// return "";
// }

function fix_string($string) {
if (get_magic_quotes_gpc()) $string = stripslashes($string);
return htmlentities ($string);
}

?>

Parsed in 0.122 seconds, using GeSHi 1.0.8.4

No comments posted yet

Your Answer:

Login to answer
207 Like 45 Dislike
Previous forums Next forums
Other forums

for loop without same $i digits?
Hi,

Can some guru please advise how can I accomplish this with a simple for loop ?

I

mysqli_fetch_assoc returns multiple arrays, how to return a single array
Hello, I am using mysqli_fetch_assoc which is returning multiple rows, so it looks like:

Code

Timer control causing error
I recently decided to add a timer control to an existing page that uses AJAX on my site. As soon as

Need Help with a query
Hello,
For some reason I am just not getting the right answer when I do this query and not quite

Re-Order by ID Number
I have a cms set up for inputting an image, thumb, title, pdf, and eps. When input the database ass

MySQL Primary key gap
Alright, so I have a table with 26 entries in it (id, filename, caption) for my image randomiser (ht

Registration
ok so i have a site where people can register and login which works now thanks to someone on here th

Help uploading .JPG
I have a problem with upload images when the ending is .JPG capitalized.. I really don't know what c

php - xml what is the best way to do this.
IN essence I want to have a script calling the info from the database.. I have no problem thus far,

Forgot password won't work
My forgot password thing is not working properly. It is giving me this errorMailbox unavailable. The

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash