2015-08-18 2 views
-1

Я новичок в php и создаю персональный сайт, но у меня возникла проблема с вложением данных в мою базу данных.данные не вставлены в таблицу mysql, используя php

Это мои таблицы SQL:

CREATE TABLE IF NOT EXISTS `TBL_VIDEOS` (
`VID` varchar(15) NOT NULL DEFAULT '0', 
`VNAME` varchar(255) DEFAULT NULL, 
`VDATE` date DEFAULT NULL, 
`VTYPE` varchar(15) DEFAULT NULL, 
`VGENRE` varchar(255) DEFAULT NULL, 
`VSTATUS` varchar(20) DEFAULT NULL, 
`VWIDTH` varchar(5) DEFAULT NULL, 
`VHEIGHT` varchar(5) DEFAULT NULL, 
`VLENGHT` time DEFAULT NULL, 
`VEXTENSION` varchar(10) DEFAULT NULL, 
`VSIZE` varchar(15) DEFAULT NULL, 
`VSERIES` varchar(50) DEFAULT NULL, 
`VLANGUAGE` varchar(30) DEFAULT NULL, 
`VLINK` varchar(255) DEFAULT NULL, 
PRIMARY KEY (`VID`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

и это моя форма и PHP код

<?php 

require 'connections/connections.php'; 
?> 
<?php 
session_start(); 

if(isset($_SESSION["UID"])) { 

} else { 
    header('Location: index.php'); 
} 
?> 
<?php 
if(mysqli_connect_errno()){ 
echo "failed".mysqli_connect_error(); 
    } else { 
     if(isset($_POST['VideoInsert'])) { 
      session_start; 

      $VNAME = $_POST['VNAME']; 
      $VDATE = $_POST['VDATE']; 
      $VTYPE = $_POST['VTYPE']; 
      $VGENRE = $_POST['VGENRE']; 
      $VSTATUS = $_POST['VSTATUS']; 
      $VWIDTH = $_POST['VWIDTH']; 
      $VHEIGHT = $_POST['VHEIGHT']; 
      $VLENGTH = $_POST['VLENGTH']; 
      $VEXTENSION = $_POST['VEXTENSION']; 
      $VSIZE = $_POST['VSIZE']; 
      $VSERIES = $_POST['VSERIES']; 
      $VLANGUAGE = $_POST['VLANGUAGE']; 
      $VLINK = $_POST['VLINK']; 

      mysqli_query($database,"INSERT INTO TBL_VIDEOS (VNAME, VDATE, VTYPE, VGENRE, VSTATUS, VWIDTH, VHEIGHT, VLENGTH, VEXTENSION, VSIZE, VSERIES, VLANGUAGE, VLINK)Values('{$VNAME}', '{$VDATE}', '{$VTYPE}', '{$VGENRE}', '{$VSTATUS}', '{$VWIDTH}', '{$VHEIGHT}', '{$VLENGTH}', '{$VEXTENSION}', '{$VSIZE}', '{$VSERIES}', '{$VLANGUAGE}', '{$VLINK}')") or die(mysqli_error($database)); 

      header('Location: enter_videos.php'); 

     } 
    } 
?> 
<!doctype html> 
<html> 
<head> 
<link href="css/master.css" rel="stylesheet" type="text/css" /> 
<link href="css/menu.css" rel="stylesheet" type="text/css" /> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Videos Archive</title> 

</head> 
<body> 
<div class="Container"> 
    <div class="Header"></div> 
    <div class="Menu"></div> 
      <div class="LeftBody"> 
     <form action="" method="post" name="Insert_Videos" id="Insert_Videos"> 
      <div class="FormElement"> 
       <input name="VNAME" type="text" required="required" class="TField" id="VNAME" placeholder="Video Name">    
      </div> 
      <div class="FormElement"> 
       <input name="VDATE" type="text" required="required" class="TField" id="VDATE" placeholder="Release Date"> 
      </div> 
      <div class="FormElement"> 
       <input name="VTYPE" type="text" required="required" class="TField" id="VTYPE" placeholder="Type"> 
      </div> 
      <div class="FormElement"> 
       <input name="VGENRE" type="text" required="required" class="TField" id="VGENRE" placeholder="Genre"> 
      </div> 
      <div class="FormElement"> 
       <input name="VSTATUS" type="text" required="required" class="TField" id="VSTATUS" placeholder="Status"> 
      </div> 
      <div class="FormElement"> 
       <input name="VWIDTH" type="text" required="required" class="TField" id="VWIDTH" placeholder="Width"> 
      </div> 
      <div class="FormElement"> 
       <input name="VHEIGHT" type="text" required="required" class="TField" id="VHEIGHT" placeholder="Height"> 
      </div> 
      <div class="FormElement"> 
       <input name="VLENGTH" type="text" required="required" class="TField" id="VLENGTH" placeholder="Length"> 
      </div> 
      <div class="FormElement"> 
       <input name="VEXTENSION" type="text" required="required" class="TField" id="VEXTENSION" placeholder="Extension"> 
      </div> 
      <div class="FormElement"> 
       <input name="VSIZE" type="text" required="required" class="TField" id="VSIZE" placeholder="Size"> 
      </div> 
      <div class="FormElement"> 
       <input name="VSERIES" type="text" required="required" class="TField" id="VSERIES" placeholder="Series"> 
      </div> 
      <div class="FormElement"> 
       <input name="VLANGUAGE" type="text" required="required" class="TField" id="VLANGUAGE" placeholder="Language"> 
      </div> 
      <div class="FormElement"> 
       <input name="VLINK" type="text" required="required" class="TField" id="VLINK" placeholder="Link"> 
      </div> 
      <div class="FormElement"> 
       <input name="InsertVideos" type="submit" class="Button" id="InsertVideos" value="Send Data"> 
      </div> 
     </form> 
    </div> 
    <div class="RightBody"></div> 
    <div class="Footer"></div> 
</div> 

Я думаю, что проблема с датой и временем.

+0

Какая ошибка вы получаете? – sriharichander

+0

В этой проблеме я не получаю никакой ошибки – BasILyoS

+2

у вас нет элемента атрибута name 'VideoInsert' для' if (isset ($ _ POST ['VideoInsert'])) 'поэтому он не работает. Вы, скорее всего, должны использовать один для 'name =" InsertVideos ". Редактировать: теперь смотри ответы плохо. Отчет об ошибках, рассказывал бы вам о неопределенном индексе ... 2nd edit: Я знал, что это произойдет. –

ответ

1

поставил session_start(); в начале сразу после <?php бирка. Изменение:

If(isset($_POST['VideoInsert']){ 
session_start; //this is invalid 

к:

If(isset($_POST['InsertVideos']) 

Поскольку вы проверяете для session_start

<input name="InsertVideos" type="submit" class="Button" id="InsertVideos" value="Send Data"> 

Ваш код уязвим для SQL Injection/XSS.

EDIT: Попытка удалить header(); и сессии, а затем дать ему попробовать, что-то вроде:

<?php 
require ('connections/connections.php'); 

// Я предполагаю, что у вас есть все, в том числе установить правильное $database

if(mysqli_connect_errno()){ 
echo "failed".mysqli_connect_error(); 
    } else { 
     if(isset($_POST['InsertVideos'])) { 


      $VNAME = $_POST['VNAME']; 
      $VDATE = $_POST['VDATE']; 
      $VTYPE = $_POST['VTYPE']; 
      $VGENRE = $_POST['VGENRE']; 
      $VSTATUS = $_POST['VSTATUS']; 
      $VWIDTH = $_POST['VWIDTH']; 
      $VHEIGHT = $_POST['VHEIGHT']; 
      $VLENGTH = $_POST['VLENGTH']; 
      $VEXTENSION = $_POST['VEXTENSION']; 
      $VSIZE = $_POST['VSIZE']; 
      $VSERIES = $_POST['VSERIES']; 
      $VLANGUAGE = $_POST['VLANGUAGE']; 
      $VLINK = $_POST['VLINK']; 

      mysqli_query("INSERT INTO TBL_VIDEOS (VNAME, VDATE, VTYPE, VGENRE, VSTATUS, VWIDTH, VHEIGHT, VLENGTH, VEXTENSION, VSIZE, VSERIES, VLANGUAGE, VLINK) VALUES ('$VNAME', '$VDATE', '$VTYPE', '$VGENRE', '$VSTATUS', '$VWIDTH', '$VHEIGHT', '$VLENGTH', '$VEXTENSION', '$VSIZE}', '$VSERIES', '$VLANGUAGE', '$VLINK')") or die(mysqli_error($database)); //mysqli_error($connection); which means it requires a connection to be passed in as a parameter, make sure you're not messing up there. 
     } 
    } 
?> 

Попробуйте изменить колонку DATE на varchar/text a d см., если это помогает , так как вы принимаете дату в виде типа = "текст"

+0

Я внес эти изменения, но получаю эти ошибки Сессия уже запущена - игнорирование session_start() в /srv/disk5/1828419/www/videosarchive.dx.am/enter_videos.php в строке 16 Невозможно изменить информацию заголовка - заголовки, уже отправленные (вывод начат в /srv/disk5/1828419/www/videosarchive.dx.am/enter_videos.php:16) в /srv/disk5/1828419/www/videosarchive.dx.am/enter_videos.php on line 35 – BasILyoS

+0

я удалил session_start() и заголовок и попытался сохранить информацию, но ничего не произошло – BasILyoS

+0

@BasILyoS Пожалуйста, определите, что «ничего не случилось», вы включили error_reporting (E_ALL) ;? – user5173426

0

Я думаю, что вы не имеете поле, чтобы получить значение $ _POST [ 'VideoInsert']), она должна быть $ _POST [ 'InsertVideos']

Смежные вопросы