проблем с инсърт

embaka

Registered
опитвам се да си добавя към кода функция за оразмеряване на изображението, обаче стигнах до там, качва снимката в папката, но не ми записва данните в базата и ми изписва всеки път от проверката, че не са попълнени всички полета, ето го кода:
Код:
<?
include ("lock.php");
include ("blocks/bd.php");
$quuery = mysql_query("SET names cp1251");
if (isset($_POST['title']))       {$title = $_POST['title']; if ($title == '') { unset($title); }}
if (isset($_POST['meta_d']))      {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);}}
if (isset($_POST['meta_k']))      {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);}}
if (isset($_POST['text']))        {$text = $_POST['text']; if ($text == '') {unset($text);}}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Добавяне на Екскурзия</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<? include("blocks/header.php");   ?> 
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>

<? include ("blocks/lefttd.php");  ?>      
        <td valign="top">
<? 
if( isset($_POST['submit']) && isset($title) && isset($meta_d) && isset($meta_k) && isset($text))
{

function upload($tmp_name,$file_type,$poster){//upload с промяна на ширина и височина на картинката
if(!file_exists($poster)){//проверка дали съществува файл със същото име
if($file_type=="image/pjpeg" or $file_type=="image/jpeg" or $file_type=="image/gif" or $file_type=="image/x-png" or $file_type=="image/png"){//проверка дали файлът е картинка
list($width,$height)=getimagesize($tmp_name);
define("WIDTH","175");//ширина 150 пиксела - тук може да промените 150 за ширина
define("HEIGHT","131");//височина 150 пиксела - тук може да промените 150 за дължина
if($width<WIDTH and $height<HEIGHT){//ако ширината и височината са по-малки от WIDTH и HEIGHT
move_uploaded_file($tmp_name,$poster);
}elseif($width>=WIDTH){//ако ширината е по-голяма или равна на WIDTH
$new_width= WIDTH;//задаване на нова ширина
$new_height= (int) ($height*$new_width)/$width;//задаване на нова височина
//избиране на функцията за разчитане на картинката
if($file_type=="image/pjpeg" or $file_type=="image/jpeg"){
$imagecreatefrom="imagecreatefromjpeg";
}elseif($file_type=="image/gif"){
$imagecreatefrom="imagecreatefromgif";
}elseif($file_type=="image/x-png" or $file_type=="image/png"){
$imagecreatefrom="imagecreatefrompng";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $poster, 100);//записване на малката картинка с качество 100
}elseif($height>=HEIGHT){//ако височината е по-голяма или равна на HEIGHT
$new_height= HEIGHT;//задаване на нова височина
$new_width= (int) ($width*$new_height)/$height;//задаване на нова ширина
//избиране на функцията за разчитане на картинката
if($file_type=="image/pjpeg" or $file_type=="image/jpeg"){
$imagecreatefrom="imagecreatefromjpeg";
}elseif($file_type=="image/gif"){
$imagecreatefrom="imagecreatefromgif";
}elseif($file_type=="image/x-png" or $file_type=="image/png"){
$imagecreatefrom="imagecreatefrompng";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $poster, 100);//записване на малката картинка с качество 100
}
}else{ echo "<p>Файлът не е картинка <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>!"; exit; }
}else{ echo "<p>Такъв файл вече съществува! <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>"; exit; }
}
$file_name=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$poster="../images/ekskurzii/thumbs/".basename(strtolower($file_name));//път за upload на малката картинка с малки букви
upload($tmp_name,$file_type,$poster);//upload на малката картинка

if($upload)
	{
		$result = mysql_query ("INSERT INTO ekskurzii (title,meta_d,meta_k,poster,text) VALUES ('$title', '$meta_d','$meta_k','$file','$text')");
if ($result == 'true')
		{
        	echo "<p>Вашата статия е успешно добавена!";
      	}
else   
      	{
         	echo "<p>Вашата статия не е Добавена!<br><br> <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>";
      	}
	}
else
	{
         echo "<p>Не сте въвели всичката информация, за това статията не може да бъде съхранен в Базата.<br><br> <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>";
	}
	}
	
?>
             </td>
      </tr>
    </table></td>
  </tr>
  
<?  include ("blocks/footer.php"); ?>  
</table>
</body>
</html>
 
Не си задал променливата $upload , а в такъв случай if($upload){ винаги ще ти връща false.
Пробвай така
embaka каза:
<?
include ("lock.php");
include ("blocks/bd.php");
$quuery = mysql_query("SET names cp1251");
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') { unset($title); }}
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);}}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);}}
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset($text);}}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Добавяне на Екскурзия</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

<? include("blocks/header.php"); ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>

<? include ("blocks/lefttd.php"); ?>
<td valign="top">
<?
if( isset($_POST['submit']) && isset($title) && isset($meta_d) && isset($meta_k) && isset($text))
{

function upload($tmp_name,$file_type,$poster){//upload с промяна на ширина и височина на картинката
if(!file_exists($poster)){//проверка дали съществува файл със същото име
if($file_type=="image/pjpeg" or $file_type=="image/jpeg" or $file_type=="image/gif" or $file_type=="image/x-png" or $file_type=="image/png"){//проверка дали файлът е картинка
list($width,$height)=getimagesize($tmp_name);
define("WIDTH","175");//ширина 150 пиксела - тук може да промените 150 за ширина
define("HEIGHT","131");//височина 150 пиксела - тук може да промените 150 за дължина
if($width<WIDTH and $height<HEIGHT){//ако ширината и височината са по-малки от WIDTH и HEIGHT
move_uploaded_file($tmp_name,$poster);
}elseif($width>=WIDTH){//ако ширината е по-голяма или равна на WIDTH
$new_width= WIDTH;//задаване на нова ширина
$new_height= (int) ($height*$new_width)/$width;//задаване на нова височина
//избиране на функцията за разчитане на картинката
if($file_type=="image/pjpeg" or $file_type=="image/jpeg"){
$imagecreatefrom="imagecreatefromjpeg";
}elseif($file_type=="image/gif"){
$imagecreatefrom="imagecreatefromgif";
}elseif($file_type=="image/x-png" or $file_type=="image/png"){
$imagecreatefrom="imagecreatefrompng";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $poster, 100);//записване на малката картинка с качество 100
}elseif($height>=HEIGHT){//ако височината е по-голяма или равна на HEIGHT
$new_height= HEIGHT;//задаване на нова височина
$new_width= (int) ($width*$new_height)/$height;//задаване на нова ширина
//избиране на функцията за разчитане на картинката
if($file_type=="image/pjpeg" or $file_type=="image/jpeg"){
$imagecreatefrom="imagecreatefromjpeg";
}elseif($file_type=="image/gif"){
$imagecreatefrom="imagecreatefromgif";
}elseif($file_type=="image/x-png" or $file_type=="image/png"){
$imagecreatefrom="imagecreatefrompng";
}
//край на избиране на функцията за разчитане на картинката
$image_p=imagecreatetruecolor($new_width, $new_height);//създаване на нова картинка с новите размери
$image=$imagecreatefrom($tmp_name);//разчитане на оригиналната картинка
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//създаване на малката картинка
imagejpeg($image_p, $poster, 100);//записване на малката картинка с качество 100
}
}else{ echo "<p>Файлът не е картинка <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>!"; exit; }
}else{ echo "<p>Такъв файл вече съществува! <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>"; exit; }
}
$file_name=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$poster="../images/ekskurzii/thumbs/".basename(strtolower($file_name));//път за upload на малката картинка с малки букви
$upload = upload($tmp_name,$file_type,$poster);//upload на малката картинка

if($upload)
{
$result = mysql_query ("INSERT INTO ekskurzii (title,meta_d,meta_k,poster,text) VALUES ('$title', '$meta_d','$meta_k','$file','$text')");
if ($result == 'true')
{
echo "<p>Вашата статия е успешно добавена!";
}
else
{
echo "<p>Вашата статия не е Добавена!<br><br> <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>";
}
}
else
{
echo "<p>Не сте въвели всичката информация, за това статията не може да бъде съхранен в Базата.<br><br> <input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>";
}
}

?>
</td>
</tr>
</table></td>
</tr>

<? include ("blocks/footer.php"); ?>
</table>
</body>
</html>
 
А още ли стои същата грешка ,
if ($upload) {
, ако е там - това означава , че има грешка при фукнцията upload() и проблема ще е в нея.Създават ли се тумбчетата иначе?
 
създава се изображението вече както трябва след като го пооправих малко самия скрипт, но все продължава да не вписва данните, проверката дали са попълнени полетата ми прави тоя проблем или съм пропуснал някой скоба
 

Back
Горе