• Hi all,
    I’m looking for a bit of help. I’m a bit of a noob when it comes to php and I’ve put together the following code. What I’m trying to do is give the subscriber 3 dropdowns, and I then want to use those three dropdowns as well as their Surname as found in their user info to rename a file they are uploading. This is what I have so far, but I keep getting errors saying that wp_get_current_user is a call to an undefined function etc… Can anyone pls help?

    <?php
    require_once('/wp-includes/pluggable.php');
    global $current_user;
    $current_user = wp_get_current_user();
    $current_user->user_lastname;
     $submittedValue = "";
     $submittedValue1 = "";
     $submittedValue2 = "";
            $value0 = "";
            $value1 = "FMOT";
            $value2 = "FMBM";
            $value3 = "FMCC";
    		$value4 = "FMHS";
    		$value5 = "FMSP";
    		$value6 = "FMFin";
    		$value7 = "FMSS";
    		$value8 = "Assignment";
    		$value9 = "Assignment Attachment";
    		$value10 = "Logbook";
    		$value11 = "Logbook Attachment";
    		$value12 = "1";
    		$value13 = "2";
    		$date = date('Y m d H i s');
    	if (isset($_POST["Subject"])) {
                $submittedValue = $_POST["Subject"];
            }
    	if (isset($_POST["DocType"])) {
                $submittedValue = $_POST["DocType"];
            }
    	if (isset($_POST["AssNo"])) {
                $submittedValue = $_POST["AssNo"];
            }
    // Your file name you are uploading
    $file_name = $HTTP_POST_FILES['ufile']['name'];
    
    // random 4 digit to add to our file name
    // some people use date and time in stead of random digit
    $random_digit=rand(0000,9999);
    
    //combine random digit to you file name to create new file name
    //use dot (.) to combile these two variables
    
    $new_file_name= $user_lastname.$submittedValue.$submittedValue1.$submittedValue2.$date.$file_name;
    
    //set where you want to store files
    //in this example we keep file in folder upload
    //$new_file_name = new upload file name
    //for example upload file name cartoon.gif . $path will be upload/cartoon.gif
    $path= "wp-content/uploads/assignment/".$new_file_name;
    if($ufile !=none)
    {
    if(copy($HTTP_POST_FILES['ufile']['tmp_name'], $path))
    {
    echo "Successful"; 
    
    //$new_file_name = new file name
    //$HTTP_POST_FILES['ufile']['size'] = file size
    //$HTTP_POST_FILES['ufile']['type'] = type of file
    echo "File Name :".$new_file_name."";
    echo "File Size :".$HTTP_POST_FILES['ufile']['size']."";
    echo "File Type :".$HTTP_POST_FILES['ufile']['type']."";
    }
    else
    {
    echo "Error";
    }
    }
    ?>

    My Form Code:

    <form action="getfile.php" name="a4fm" method="post">
            <select project="Subject" id="Subject" name="Subject">
             <option value = "<?php echo $value0; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value0; ?></option>
             <option value = "<?php echo $value1; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value1; ?></option>
             <option value = "<?php echo $value2; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value2; ?></option>
             <option value = "<?php echo $value3; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
    		 <option value = "<?php echo $value4; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
    		 <option value = "<?php echo $value5; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
    		 <option value = "<?php echo $value6; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
    		 <option value = "<?php echo $value7; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
            </select>
    		<select project="DocType" id="DocType" name="DocType">
             <option value = "<?php echo $value0; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value0; ?></option>
             <option value = "<?php echo $value8; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value1; ?></option>
             <option value = "<?php echo $value9; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value2; ?></option>
             <option value = "<?php echo $value10; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
    		 <option value = "<?php echo $value11; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value3; ?></option>
            </select>
    		<select project="AssNo" id="AssNo" name="AssNo">
             <option value = "<?php echo $value0; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value0; ?></option>
             <option value = "<?php echo $value12; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value1; ?></option>
             <option value = "<?php echo $value13; ?>"<?php echo ($value0 == $submittedValue)?" SELECTED":""?>><?php echo $value2; ?></option>
            </select>
            Type (or select) Filename: <input type="file" name="uploadFile">
    		<input type="submit" value="Upload File">
            </form>

Viewing 1 replies (of 1 total)
  • Moderator bcworkz

    (@bcworkz)

    Submitting forms directly to custom PHP files that need to use WP functions will rarely work well. There are 3 ways I know of that will work. They work equally well from a plugin or child theme, which is the proper place for custom files. The installation root is not a good place.

    1. Submit to a page post_type with a custom template that handles the form submit.(not the best choice for a plugin but it’s possible)
    2. Use AJAX to submit the form data where a custom action callback handles the form submit.
    3. Similar to AJAX but without javascript, submit to wp-admin/admin-post.php where a custom action callback handles the form submit.
Viewing 1 replies (of 1 total)

The topic ‘WordPress PHP Form Code Error’ is closed to new replies.