@lesmanora

Почему в БД не выгружается массив полностью?

Работаю с чужим самописным хостингом, куда у меня есть доступ лишь по FTP.
Сайт писала сама и загружала так же сама.

Но при добавление массива вводится в бд не весь массив.

Т.е на странице есть галерея картинок, я задаю через панель администратора 32 картинки, а введется 18.

В чем может быть проблема?

Код добавления общий:

spoiler
<?php

   session_start();
      if ($_SESSION['auth_admin'] == "yes_auth")
{
	define('supercleaning', true);
       
       if (isset($_GET["logout"]))
    {
        unset($_SESSION['auth_admin']);
        header("Location: index.php");
    }}
   
   include("include/db_connect.php");
   include("functions/functions.php"); 
   
   if ($_POST["submit_add"])
    {

      $error = array();
    
    // Проверка полей
        
       if (!$_POST["form_title"])
      {
         $error[] = "Укажите заголовок";
      }
       if (!$_POST["brands"])
      {
         $error[] = "Укажите бренд";
      }
          
     

      if (count($error))
       {           
            $_SESSION['message'] = "<p id='form-error'>".implode('<br />',$error)."</p>";
            
       }else
       {
$brands = $_POST['brands'];       	
$zagalovok = $_POST['form_title'];


$link = mysqli_connect($db_host, $db_user, $db_password, $db_database) 
    or die("Ошибка " . mysqli_error($link)); 
     
$query ="INSERT INTO proizvoditel (  proizvoditel, brand  ) VALUES 
( '$zagalovok', '$brands')";
 
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 


//Если запрос пройдет успешно то в переменную result вернется true
if($result == 'true')
{echo "Ваши данные успешно добавлены";}
else {echo "Ваши данные не добавлены";}
   
      $_SESSION['message'] = "<p id='form-success'>Данные успешно добавлены!</p>";
      
       $id = mysqli_insert_id($link);
                 
       if (empty($_POST["upload_image"]))
      {        
      include("actions/upload-plitka.php");
      unset($_POST["upload_image"]);           
      } 
      
      if (empty($_POST["galleryimg"]))
      {        
      include("actions/upload-gallery.php"); 
      unset($_POST["galleryimg"]);                 
      }
      if (empty($_POST["opisanie"]))
      {        
      include("actions/upload-gallery.php"); 
      unset($_POST["opisanie"]);                 
      }
  } }   
?>


Код добавления галереи:

spoiler
<?php
$link = mysqli_connect($db_host, $db_user, $db_password, $db_database) 
    or die("Ошибка " . mysqli_error($link));
    



if($_FILES['galleryimg']['name'][0]){
 
    for($i = 0; $i < count($_FILES['galleryimg']['name']); $i++){
    
    $error_gallery = "";
  
                     
    if($_FILES['galleryimg']['name'][$i]){

    $galleryimgType = $_FILES['galleryimg']['type'][$i]; // тип файла
    $types = array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png"); // массив допустимых расширений
        
    // расширение картинки                    
    $imgext = strtolower(preg_replace("#.+\.([a-z]+)$#i", "$1", $_FILES['galleryimg']['name'][$i]));
    //папка для загрузки
    $uploaddir = '../uploads_plitka/';
    //новое сгенерированное имя файла
    $newfilename = $_POST["brands"].'-'.$id.rand(10,30000).'.'.$imgext;
    //путь к файлу (папка.файл)
    $uploadfile = $uploaddir.$newfilename;
    

   $opisanie = $_POST['opisanie'][$i];

     
    if(!in_array($galleryimgType, $types)){
    $error_gallery = "<p id='form-error'>Допустимые расширения - .gif, .jpg, .png</p>";
    $_SESSION['answer'] = $error_gallery;
    continue;  
        }                   
      
    if (empty($error_gallery))
    {  
                             
    if(@move_uploaded_file($_FILES['galleryimg']['tmp_name'][$i], $uploadfile)){
                                
         		mysqli_query($link,"INSERT INTO uploads_images(products_id,image,opisanie)
						VALUES(						
                            '".$id."',
                            '".$newfilename."',   
                            '".$opisanie."'                            
						)");                        

     }else{
         $_SESSION['answer'] = "Ошибка загрузки файла."; 
       }
       
    
    }                                

}
    

}
}


?>


Код формы:

spoiler
<form enctype="multipart/form-data" method="post">
							
								<div class="form-group">
									<label>Название производителя</label> <br/>
                              <input type="text" name="form_title" />
								</div>
								<div class="form-group">
									<label>БРЕНД (КАТЕГОРИЯ)</label><br/>
                              <input type="text" name="brands" />
								</div>	
								
								
								
																																
			<div class="form-group">					
			<div id="baseimg-upload">

<label class="stylelabel" >Главная картинка</label>

<input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
<input type="file" name="upload_image" />

</div>	</div>	

<div class="form-group">																							
<label class="stylelabel" >Основная плитка</label>

<div id="objects" >

<div id="addimage1" class="addimage">
<input type="text" size="50" name="opisanie[]" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input type="file" name="galleryimg[]" /><br>
</div>

</div>	</div>
<p id="add-input" >Добавить</p>	

	

								
    <p align="right" ><input type="submit" id="submit_form" name="submit_add" value="Добавить товар"/></p>  				
				

						</form>


Не вводится полностью именно галерея картинок. Ограничений вроде нигде нет.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
значения должны быть нормализовать, используй mysqli_escape_string или подобную её функцию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы