hi guys,

am trying to make a simple PHP form submission and insert some data to MySQL, my tables are:

category:
-id
-category_name

table1:
-category_id(FK)
-title
-description

table2:
-table1_id(FK)
-filetype
-filesize
-filedate
-filename

Form:
-Date
-Title
-description
-category(drop down)
-upload file (get the file info like type,ext,size,filename)

Or is there any sample script or similar project, it would be a great help. Thanks! Cheers!

to make it short, heres the code:

Form:

<strong>Fill up the form:</strong><br /><br>                

    <form enctype="multipart/form-data" action="upfileone.php" method="POST">
        Date: <?php echo date("d-M-Y") ?>

            <p>Title:
                <input type="text" name="title" value="<?php echo $sel_filepage['file_title']; ?>" id="file_title" />
            </p>

            <p>Description:<br>
                <textarea name="description" rows="4" cols="24">
                <?php echo $sel_filepage['content']; ?></textarea>
            </p>

        Category:
        <select name="select_cat">
        <?php $cat_set = get_all_categs();
            while($category = mysql_fetch_array($cat_set)){
                $catname = $category['cat_name'];
                echo '<option value="'.$catname.'">'.$catname.'</option>';
            }
        ?>
        </select>
        <br><br>
        <label for="file">Choose File to Upload:</label>
        <input type="file" name="upfile" id="upfile" > <br /><br />
        <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
        <input type="hidden" name="filepage" value="<?php echo $_GET['filepage']?>">
        <input type="submit" name="upload" value="Add" class="pure-button pure-button-success">
        <a href="content.php?filepage=<?php echo $sel_filepage['id']; ?>" class="pure-button">Cancel</a>
    </form> <!-- END FORM -->

Action FILE:

<?php
require_once("includes/functions.php");

// directory to be saved
$target = "server/php/files/";
$target = $target . basename($_FILES['upfile']['name']);

// gets info from FORM
$currentDate = date("Y-m-d");
$file_title = $_POST['title'];
$content = $_POST['description'];
$category = $_POST['select_cat'];
$upfile = ($_FILES['upfile']['name']);

// connects to db
$con = mysqli_connect("localhost", "root", "password", "database");
if(mysqli_connect_errno())
{
    echo "error connection" . mysqli_connect_error();
}

// insert to database
$sql = "INSERT INTO filepages (category_id,file_title,content)
VALUES ('$category','$file_title','$content')";

/*$sql2 = "BEGIN
            INSERT INTO filepages (category_id, file_title, content)
                VALUES ('$category','$file_title','$content')
            INSERT INTO fileserv (file_date)
                VALUES ($currentDate)
            COMMIT";*/

if(!mysqli_query($con, $sql))
{
    die('Error ' . mysqli_error());
}
echo "1 File Added <br>";

    if (file_exists("server/php/files/" . $_FILES["upfile"]["name"]))
      {
      echo $_FILES["upfile"]["name"] . " already exists. ";
      }
    else
      {
        insertFile( $_POST['filepage'], 
                    $_FILES["upfile"]["type"], 
                    ($_FILES["upfile"]["size"] / 1024), 
                    $_FILES["upfile"]["name"]);       
        move_uploaded_file($_FILES["upfile"]["tmp_name"],"server/php/files/" . $_FILES["upfile"]["name"]);

        echo "The FILE " . basename($_FILES['upfile']['name']) . " has been uploaded.<br>";
        echo "Stored in: " . "server/php/files/" . $_FILES["upfile"]["name"] . "<br>";
        echo "Upload: " . $_FILES["upfile"]["name"] . "<br>";
        echo "Type: " . $_FILES["upfile"]["type"] . "<br>";
        echo "Size: " . ($_FILES["upfile"]["size"] / 1024) . " kB<br>";
        echo "Temp file: " . $_FILES["upfile"]["tmp_name"] . "<br>";

      }



?>

It does insert to both tables, now my main problem is:

  1. how to get the ID from drop down menu of category and insert to Filepages.category_id
  2. how to get Filepages.ID data and insert to Fileserve

Thanks!

i hope someone can help me :(

JUST FOR CLARIFICATION:

i have simple form submission with title, description and file upload, this file having size,type,filename will insert to table3, ALL same time after ADD.

am trying to make a simple PHP form submission and insert data to 3 MySQL tables:

category:
-id
-category_name (for dropdown menu)

table1:
-id
-category_id (FK, automatic when dropdown selected) NOT WORKING
-title
-description

table2: (automatic insert file properties info here)
-id // auto increment
-table1_id (FK, automatic get ID from table1) NOT WORKING
-filetype
-filesize
-filedate
-filename

FORM:
-Date
-Title
-description
-category(drop down)
-upload file (get the file info like type,ext,size,filename)

Status: it is inserting but only 2 not working

I think this is simple, maybe either mysql statement or handling of php data?

Please help, cheers

hi guys, hope u can help :(

any clue,hint,or guide will be very helpful?

thanks again

  1. If you give the dropdown values the ID of the category, then you can use that directly from the POST array.

  2. Not sure what you mean, can you explain?

categs
----------------
+ id | catname + 
================
+ 1  | fruit   +
+ 2  | animal  +
----------------

filepages
-----------------------------------------
| id | categoryid | file_title | content
=========================================
| 1  | (empty)    | bear       | brown  |
| 2  | (empty)    | apple      | red    |
-----------------------------------------

fileserv
-----------------------------------------------------------------------
| fileid | filepage_id | filetype | filesize | filename  | filedate  |
=======================================================================
| 1      | (empty)     | jpeg     | 89       | apple.jpg | 08-03-2013 |
| 2      | (empty)     | jpeg     | 120      | bear.jpg  | 08-03-2013 |

the posted currently is similar with my basic upload file but only have 1 table and insert category NAME not ID but this one doesnt work because it is requiring category ID