форма с изображение

embaka

Registered
здравейте,

значи имам форма в админ панела за редакция на обява, обаче като дам редакция, всеки път трябва да сложа картинка, която е с различно име, защото ми казва че вече съществува или не е правилен формат, а аз искам да си е там без да се налага да я променям всеки път след като е качена веднъж, но и да има възможност да я променям в течение на времето

ето кода на файла, който ми прави проверките след като се натисне бутона се препраща към тоя файл:

Код:
<?php 
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);}}
if (isset($_POST['id']))      {$id = $_POST['id'];}
if(isset($_POST['submit']))       {$color=$_POST['color']; if ($color == '') {unset($color);}}
?>
<!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/jpg" 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" or $file_type=="image/jpg"){ $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" or $file_type=="image/jpg"){$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>Файлът не е картинка! <br><br><input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>"; exit; }
}

else{ echo "<p>Такъв файл вече съществува! <br><br><input name='back' class='button' type='button' value='Моля, върнете се Назад!' onclick='javascript:self.back();'></p>"; exit; }
}
$file=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$poster="../images/ekskurzii/".basename(strtolower($file));//път за upload на малката картинка с малки букви
$upload = upload($tmp_name,$file_type,$poster);//upload на малката картинка

$result = mysql_query ("UPDATE ekskurzii SET title='$title', meta_d='$meta_d', meta_k='$meta_k', text='$text', poster='$file', color='$color' WHERE id='$id'");
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>
 
Ами просто махни часта с else , така ако качиш същата картинка просто ще я подмени
<?php
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);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
if(isset($_POST['submit'])) {$color=$_POST['color']; if ($color == '') {unset($color);}}
?>
<!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/jpg" 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" or $file_type=="image/jpg"){ $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" or $file_type=="image/jpg"){$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
}
}
}
}
$file=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$poster="../images/ekskurzii/".basename(strtolower($file));//път за upload на малката картинка с малки букви
$upload = upload($tmp_name,$file_type,$poster);//upload на малката картинка

$result = mysql_query ("UPDATE ekskurzii SET title='$title', meta_d='$meta_d', meta_k='$meta_k', text='$text', poster='$file', color='$color' WHERE id='$id'");
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>
 
след като го обновя, не ми излиза снимката на офертата, пробвах го това вече

а това ми е формата

Код:
<?php 
include ("lock.php");
include ("blocks/bd.php");
$quuery = mysql_query("SET names cp1251");
if (isset($_GET['id'])) {$id = $_GET['id'];}
?>
<!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($id))

{
$result = mysql_query("SELECT title,id FROM ekskurzii");      
$myrow = mysql_fetch_array($result);

do 
{
printf ("<p><a href='edit_ekskurzii.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}

while ($myrow = mysql_fetch_array($result));

}

else

{

$result = mysql_query("SELECT * FROM ekskurzii WHERE id=$id");      
$myrow = mysql_fetch_array($result);

print <<<HERE
<script type="text/javascript" src="tinymce/tiny_mce_src.js"></script> 
<title>Страница за добавяне на почивка или екскурзия </title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "advanced",
plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager",

// Theme options
theme_advanced_buttons1 : "formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "bold,italic,underline,strikethrough,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,justifyleft,justifycenter,justifyright,justifyfull",
theme_advanced_buttons3 : "fullscreen,|,anchor,image,code,|,insertdate,inserttime,preview,|,forecolor",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,

// Example content CSS (should be your site CSS)
content_css : "css/example.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "js/template_list.js",
external_link_list_url : "js/link_list.js",
external_image_list_url : "js/image_list.js",
media_external_list_url : "js/media_list.js",

// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>

<form name="form1" method="post" enctype="multipart/form-data" action="update_ekskurzii.php">
         <p>
           <label>Промени описание (мета елемент)<br>
             <input value="$myrow[title]" type="text" name="title" id="title" size="56%">
             </label>
         </p>
         <p>
           <label>Промени кратко описание (мета елемент)<br>
           <input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d" size="56%">
           </label>
         </p>
         <p>
           <label>Промени ключови думи (мета елемент)<br>
           <input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k" size="56%">
           </label>
         </p>
		     <p>
         <label>Изберете цвят за рамките<br>
			<select name="color">
			<option value="silver" >Сив</option>
			<option value="orange">Оранжев</option>
			<option value="green">Зелен</option>
            <option value="purpure">Лилаво</option>
			</select>
			</label>
			</p>
		 <p>
           <label>Промени изображение! (в статията)<br>
					Позволени типове: <font color="#0000FF">gif png jpeg jpg bmp png</font><br>
					Максимална големина: <font color="#FF0000">300 KB</font><br>
           <input value="$myrow[poster]" name="ufile" type="file" id="ufile" size="43%">
             </label>
         </p>
         <p>
           <label>Промени пълният текст (в статията)<br>
           <textarea name="text" id="text" cols="40" rows="20">$myrow[text]</textarea>
           </label>
         </p>
		 <input name="id" type="hidden" value="$myrow[id]">
		 
         <p>
           <label>
           <input type="submit" name="submit" class="button" id="submit" value="Съхрани измененията">
           </label>
         </p>
       </form>



HERE;
}


?>
       
       
       </td>
      </tr>
    </table></td>
  </tr>
  
<?  include ("blocks/footer.php");        ?>  
</table>
</body>
</html>
 
Я пробвай така
<?php
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);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
if(isset($_POST['submit'])) {$color=$_POST['color']; if ($color == '') {unset($color);}}
?>
<!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/jpg" 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" or $file_type=="image/jpg"){ $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" or $file_type=="image/jpg"){$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
}
}
}
}

if (!file_exists($poster) || mysql_result(mysql_query("SELECT poster FROM ekskurzii WHERE id='$id'"),0) != $_FILES['ufile']['name']) {
$file=$_FILES['ufile']['name'];//името на картинката
$tmp_name=$_FILES['ufile']['tmp_name'];//път до временното положение на картинката
$file_type=$_FILES['ufile']['type'];//тип на картинката
$poster="../images/ekskurzii/".basename(strtolower($file));//път за upload на малката картинка с малки букви
$upload = upload($tmp_name,$file_type,$poster);//upload на малката картинка }
} else { $file = mysql_result(mysql_query("SELECT poster FROM ekskurzii WHERE id='$id'"),0); }


$result = mysql_query ("UPDATE ekskurzii SET title='$title', meta_d='$meta_d', meta_k='$meta_k', text='$text', poster='$file', color='$color' WHERE id='$id'");
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>
 
не не става и така, ще го оставя с една проверка, ако не е въведена снимка да изпише да се въведе същата и това, така става мерси все пак +1
 

Горе