PDA

View Full Version : پنل خبر



tbebest
یک شنبه 03 بهمن 1389, 10:10 صبح
سلام،
یک پنل ادمین خبر رو طراحی می کنم. یک خبر می تواند تا چهار فیلد برای عکس داشته باشد البته کاربر ملزم به انتخاب حتما 4 عکس برای خبر نیست. از این چهار عکس، عکس اول پیش نمایش خبر است و بایستی 103*103 پیکسل و حجم کمتر از 5 کیلوبایت و BLOB ذخیره می کنم و سه تا عکس دیگر بایستی عرض 650 پیکسل و حجم کمتر از 50 کیلو بایت را داشته باشند. عکس ها در فرمت jpg/gif باید باشند. عکس ها داخل فولدری درDir/newsimg آپلود می شوند و نام آنها که با تاریخ دوباره نامگذاری شده داخل فیلد های بانک ذخیره خواهد شد.

فیلدهای بانک Mysql:

id postdate title newstxt formember preimg img1 img2 img3 authr

نمونه فرم:










<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<div><input id="post_title" type="text" size="30" tabindex="1" value="news title" /></div>
<textarea cols="80" rows="10"></textarea>
<div >
<h3>Just For Members:</h3>
<ul>
<li>
<label><input type="checkbox" name="chbox" />yes</label></li>
</ul><BR/>
<ul>
<h4>news pics</h4>
<li><p>preimg pic must be 103*103 pixel and maxsize <5kb.
</p></li>
<li><p>
for image1,image2,image3 weightsize must ebe 650pixel and maxsize mustbe <50 kb.
</p></li>
<li>
<INPUT TYPE=file NAME="preimg" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image1" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image2" size=20 accept="image/jpeg,image/gif">
</li>
<li><INPUT TYPE=file NAME="image3" size=20 accept="image/jpeg,image/gif">
</li>
</ul>
<p>
<input type="submit" value="save" />
</p>
</div>
</form>





لطفا در مرد عبارت sql که برای ذخیره نام جدید عکس ها است و نیز چک کردن شرایط عکس ها نظر بدید.

برای شروع:





if ($_POST['submit'])
{
if ($_FILES['preimg']['name'] && ($_FILES['image1']['size'] < 5000) && ($_FILES['image1']['width'] === 103) && ($_FILES['image1']['heigth'] === 103) && (($_FILES['image1']['ext'] ==='jpg')))
{
...
}

if ($_FILES['image1']['name'] && ($_FILES['image1']['size'] < 50000) && ($_FILES['image1']['width'] === 650) && (($_FILES['image1']['ext'] ==='jpg')))
{
if (copy ($_FILES['image1']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' . NOW() . '.') . substr ($_FILES['image1']['type'], 6)))
{
unlink ($_FILES['image1']['tmp_name']);
}
}

if ($_FILES['image2']['name'] && ($_FILES['image2']['size'] < 50000) && ($_FILES['image2']['width'] === 650) && (($_FILES['image2']['ext'] ==='jpg')))
{
if (copy ($_FILES['image2']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW() . '.') . substr ($_FILES['image2']['type'], 6)))
{
unlink ($_FILES['image2']['tmp_name']);
}
}

if ($_FILES['image3']['name'] && ($_FILES['image3']['size'] < 50000) && ($_FILES['image3']['width'] === 650) && (($_FILES['image3']['ext'] ==='jpg')))
{
if (copy ($_FILES['image3']['tmp_name'], $documentroot . ('' . ' /dir/newsimg/' .++ NOW(). '.') . substr ($_FILES['image3']['type'], 6)))
{
unlink ($_FILES['image3']['tmp_name']);
}
}
if(isset(checkbox)) $_POST[chekbox]='True';else $_POST[chekbox]='False';
$SQL = 'INSERT INTO news VALUES('',NOW(),$_POST[post_title],$_POST[newstxt],$_POST[chekbox],$_FILES['preimg'],$_FILES['image1']['name'],($_FILES['image2']['name'],($_FILES['image3']['name']))';
if (!(mysql_query ($SQL))) exit (' CANCEL PUBLISH news!');

}

alonemm
یک شنبه 03 بهمن 1389, 11:43 صبح
سلام دوست من:
شما ادامه کد INSERT رو ننوشتید؟
اما بهتر بود داخل یک کلاس طراحی میکردید و برای تست ها هم از توابع مربوطه.

موفق باشید.

farhadfery
یک شنبه 03 بهمن 1389, 11:49 صبح
به نظر من شما اول عکس را آپلود کنید بعد در صورتی که با موفقیت انجام شد. نام آن را در table بریزید. دوستان نظرتون را در مورد کاری که من می گم . بفرمایید

tbebest
یک شنبه 03 بهمن 1389, 12:42 عصر
اما اگه درج خبر با مشکل روبرو شد عکس ها بیخود up شدند.