PHP web app help
26 posts
• Page 3 of 3 • 1, 2, 3
It really depends on how you are inserting data into the DB. If each file is considered a new row than you would need to get the users id (or however you track each user) and then just insert the file each loop.
Or, if you were to add them into a serialized array than you would just add each file to an array, serialize it, and then update the users information.
If you could post how your DB is setup for this it would help out as there are many ways of doing this.
- jbullard
- VP - Software
- Posts: 3653
- Joined: Sun Jun 06, 2004 10:17 pm
- Location: Utah
- Real Name: Jason Bullard
Ok heres what im doing exactly, Im input just the links into the same row as all the other data in the form. Theres to fields on the end labeled download1 and download2. So basicly i need it to save the file name and path and ill parse the domain in myself. I just dont know how to get it to send the link to each of the different fields in the array. Thanks
Stephen
- DRAGON OF DARKNESS
- Posts: 1826
- Joined: Fri Jul 16, 2004 11:14 pm
- Location: MIA > FLA > USA
This is somewhat how I would do it.
- Code: Select all
<html>
<head>
<title>Secure PHP File Upload</title>
</head>
<body>
<?php
// Check if form was submitted
if (isset($_POST['Submit']))
{
// Create variable to count
$i = 1;
// Create variable to continue
$pass = FALSE;
// Setup sql command
$command = array(
'firstname' => $_POST['firstname'],
'lastname' => $_POST['lastname'],
'dob' => $_POST['dob'],
'dr' => $_POST['dr'],
'startdate' => $_POST['startdate'],
'starttime' => $_POST['starttime'],
'indications' => $_POST['indications'],
'FILE1' => '',
'FILE2' => ''
);
// Loop through files
foreach ($_FILES['download']['error'] as $key => $val)
{
// Check upload status
if ($val == UPLOAD_ERR_OK)
{
// Get file name
$filename = basename($_FILES['download']['name'][$key]);
// Get extension
$ext = substr($filename, strrpos($filename, '.') + 1);
// Only allow text files to be uploaded under 350Kb
if (($ext == "txt") && ($_FILES['download']['size'][$key] < 350000))
{
// Create new path name
$newname = dirname(__FILE__).'/uploads/'.$filename;
// Check if file already exists
if (!file_exists($newname))
{
// Move uploaded file to new path
if ((move_uploaded_file($_FILES['download']['tmp_name'][$key], $newname)))
{
// File uploaded okay
echo "File uploaded successfully.<p />";
echo $_POST['firstname']."<br />";
echo $_POST['lastname']."<br />";
// Add file to command
$command['FILE'.$i] = $newname;
// Set pass
$pass = TRUE;
}
else
{
// There was an upload error
echo "Error: A problem occured during file upload.<p />";
// Set pass
$pass = FALSE;
}
}
else
{
// File already existed
echo "Error: File ".$_FILES['download']['name'][$key]." already exists.<p />";
// Set pass
$pass = FALSE;
}
}
else
{
// Only text files under 350Kb
echo "Error: Only .txt files under 350Kb are authorized for upload.".$_FILES['download']['size'][$key]."<p />";
// Set pass
$pass = FALSE;
}
}
else
{
// No file uploaded (Error)
echo "Error: No file uploaded.<p />";
}
// Increment $i
$i++;
}
if ($pass == TRUE)
{
// Generate mysql inserts
foreach ($command as $key => $value)
{
$fields = $fields . ', ' .$key;
$values = $values . ', ' . $value;
}
// Execute query
$sql = mysql_query("INSERT INTO `TABLE_NAME` ($fields) VALUES($values)");
}
}
?>
<form enctype="multipart/form-data" action="index.php" method="post">
Firstname: <input type="text" name="firstname" value="" />
<br />
Lastname: <input type="text" name="lastname" value="" />
<br />
DOB: <input type="text" name="dob" value="" />
<br />
Doctor: <input type="text" name="doctor" value="" />
<br />
Start Date: <input type="text" name="start_date" value="" />
<br />
Start Time: <input type="text" name="start_time" value="" />
<br />
Indications: <input type="text" name="indications" value="" />
<br />
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
Download1: <input type="file" name="download[]" value="" />
<br />
Download2: <input type="file" name="download[]" value="" />
<p />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
- jbullard
- VP - Software
- Posts: 3653
- Joined: Sun Jun 06, 2004 10:17 pm
- Location: Utah
- Real Name: Jason Bullard
Ok i sort of used your concept and made up my own thing xD but hey it worked ! Thanks for all your help ! I think im done here
Stephen
- DRAGON OF DARKNESS
- Posts: 1826
- Joined: Fri Jul 16, 2004 11:14 pm
- Location: MIA > FLA > USA
26 posts
• Page 3 of 3 • 1, 2, 3
Return to HTML, CSS, and Scripts
Who is online
Users browsing this forum: No registered users and 4 guests