PHP загрузить файл и текст из нескольких текстовых полей в MySQL

Я делаю форму с 5 текстовыми полями и 1 файловым полем. Когда я попытался иметь 2 текстовых поля, это работает, но если есть больше, ничего не работает. Изображение успешно загружается в папку. вот что у меня так далеко. Я все еще новичок, и я нахожусь в стадии, когда я собираю коды, которые работают, поэтому я извиняюсь, если они устарели, грязны, или что-то.

<?php
if(isset($_FILES['filename'])){
$errors = array();
$file_name = $_FILES['filename']['name'];
$file_size =$_FILES['filename']['size'];
$file_tmp =$_FILES['filename']['tmp_name'];
$file_type=$_FILES['filename']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['filename']['name'])));

if(isset($_POST['randomtext'])){
$text_here = $_POST['randomtext'];
}

$expensions= array("jpeg","jpg","png");
if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($file_size > 2097152){
$errors[]='File size must be excately 2 MB';
}

// if there are no errors...
if (empty($errors)==true) {

// upload the file...
move_uploaded_file($file_tmp,"uploads/".$file_name);

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "admin";

// and create a new record in the database
mysql_connect($servername, $username, $password) or die ('MySQL Not found // Could Not Connect.');
mysql_select_db("admin") or die(mysql_error()) ;
mysql_query("INSERT INTO upload_test (text, fileName) VALUES ('$text_here', '$file_name')") ;

echo "Success";
}else{
print_r($errors);
}
}

?>

Форма:

<form name="form" method="POST" enctype="multipart/form-data" >
<input name="randomtext" type="text" id="randomtext" /><br/><br/>
<input name="filename" type="file" id="filename" />
<input name="submit" type="submit" id="submit"/>
</form>

Там. Случайный текст — это типовое текстовое поле. Что, если их больше? Пожалуйста, помогите мне, пожалуйста. Вы можете написать свой код, но целью является форма с 5 текстовыми полями и 1 файловым полем. Имя файла и другой текст вставляются в БД, а загруженный файл загружается в папку.

0

Решение

Вы можете добавить больше полей, как:

<input name="randomtext2" type="text" id="randomtext2" /><br/><br/>
<input name="randomtext3" type="text" id="randomtext3" /><br/><br/>
<input name="randomtext4" type="text" id="randomtext4" /><br/><br/>

if(isset($_POST['randomtext2'])){
$text2_here = $_POST['randomtext2'];
}
if(isset($_POST['randomtext3'])){
$text3_here = $_POST['randomtext3'];
}
if(isset($_POST['randomtext4'])){
$text4_here = $_POST['randomtext4'];
}

mysql_query("INSERT INTO upload_test (text, text2, text3, text4, fileName) VALUES ('$text_here', '$text2_here', '$text3_here', '$text4_here','$file_name')") ;

Вы должны добавить в базу данных столбцы text2, text3, text4 тоже.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]