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
45
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