PDA

View Full Version : سوال: فرم ارسال و آپلود



soroush.r70
یک شنبه 02 بهمن 1390, 12:48 عصر
من یه فرمی دارم به این صورت :
http://up98.org/upload/server1/01/z/zvktse15d4guh62ks73.jpg

اینم کداشه:

html

<form name="sendt" method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES);?>" id="sendt" ENCTYPE="multipart/formdata" onSubmit="return test()">
<table width="577" height="auto" border="0" align="center" class="tabl">
<tr>
<th width="419" height="44" scope="col">
<label>
<input name="title" type="text" id="title" size="40" dir="rtl">
</label>
</th>
<th width="120" scope="col">: عنوان پیغام</th>
</tr>
<tr>
<th height="52" scope="row"><label>
<select name="master" id="master" class="selec">
<option></option>
<option>dfvdvdvdffgbfgb</option>
</select>
</label></th>
<td>: نام مدیر گروه</td>
</tr>
<tr>
<th height="116" scope="row"><label>
<textarea name="text" id="text" cols="45" rows="6" dir="rtl"></textarea>
</label></th>
<td>: متن پیغام</td>
</tr>
<tr>
<th height="91" scope="row">
<div class="uploader white">
<input type="text" class="filename" readonly="readonly"/>
<input type="button" name="file" class="butto" value="انتخاب فایل"/>
<input type="file" size="30" name="file"/>
</div>
<p dir="rtl" style="text-align:center; color:#F03; font-size:12px;">(حداکثر حجم مجاز 3 مگابایت و فایل های مجاز rar, zip, pdf, doc, jpg, bmp)
</p>
</th>
<td style="padding-top:12px;">: ارسال فایل</td>
</tr>
<tr>
<th height="78" colspan="2" scope="row"><label>
<input type="submit" name="button" id="button" value="ارسال پیغام" class="button3">
</label></th>
</tr>
<tr>
<th height="35" colspan="2" scope="row">
<a href="ticket.php?op=logout"><span class="out"><<...خروج...>></span></a>
</th>
</tr>
</table>
</form>



php

<?php
require_once("func.php");




if (get_magic_quotes_gpc()){
$_GET = array_map('stripslashes', $_GET);
$_POST = array_map('stripslashes', $_POST);
$_COOKIE = array_map('stripslashes', $_COOKIE);
}

$title = addslashes(mysql_real_escape_string($_POST["title"]));
$master = addslashes(mysql_real_escape_string($_POST["master"]));
$text = addslashes(mysql_real_escape_string($_POST["text"]));
$file = addslashes(mysql_real_escape_string($_POST["file"]));
if(!empty($title))
{
if(isset($_FILES['file'])) {
$file = &$_FILES['file'];
$ext = substr($file['name'], -3);
$exts = array('doc','bmp', 'jpg', 'pdf', 'rar', 'zip');
if($file['size'] > 3145728) {
echo '<b dir="rtl" align="right" style="color:red; font-size:15px;">اندازه فایل غیر مجاز است حداکثر اندازه مجاز فایل باید 3MB باشد.</b>'."\n";
}
elseif(in_array($ext, $exts)) {
move_uploaded_file($file['name'], 'upload/'.$file['file']);
}
else {
echo '<b dir="rtl" align="right" style="font-size:15px;">پسوند فایل غیر مجاز است فقط پسوند فایل های </b>';
foreach($exts as $ext) {
echo '<b dir="rtl" style="color:red;">".'.$ext.'" </b>';
}
echo '<b dir="rtl" align="left" style="font-size:15px;">قابل ارسال می باشد.</b>'."\n";
}
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
$pdate = get_jalali2();
$sql="INSERT INTO `allticket`
(`id` ,`title` ,`master` ,`text` ,`file` ,`pdate` ,`ip` ,`read`)
VALUES
(NULL , '$title', '$master', '$text', '$file', '$pdate', '$ip', '0');";
$res=mysql_query($sql) or die(mysql_error());
echo'
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script> alert(" پیغام شما با موفقيت ارسال شد.");</script>
<meta http-equiv="refresh" content="1;url=sendticket.php" />
';
die();
}
}
?>


وقتی که فقط متن وارد می شه بدون فایل فرم باید ارسال بشه که نمی شه

وقتی فایل غیر مجاز بود نباید ارسال بشه که می شه

وقتی فایل درست بود باید آدرس فایل در بانک درج بشه و خود فایل در پوشه upload قرار بگیره که نمیشه

دوستان دلیل این مشکلات چیه می تونین راهنمایی کنین که خیلی واجبه

soroush.r70
دوشنبه 03 بهمن 1390, 12:11 عصر
کسی جواب نمی ده نه...؟

djsaeedkhan
دوشنبه 03 بهمن 1390, 12:30 عصر
سلام
دوتا راه پیشنهاد می کنم. یکی اینکه وقتی مشکلی پیش اومد یه die و exit چاپ کن که دیگه جلو نره
دوم اینکه یه متغیر بگیر و مقدار 0 بهش بده. در هر مرحله شرط بزار که اگه مشکلی پیش اومد یکی از متغیر کم کنه
اگر موقع ثبت اون متغیر مقدار صفر داشته یعنی خطا نداشتیم و ثبت می کنه

djsaeedkhan
دوشنبه 03 بهمن 1390, 12:33 عصر
و همچنین این تاپیک
http://barnamenevis.org/showthread.php?323462-%D9%85%D8%AD%D8%AF%D9%88%D8%AF%DB%8C%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%D9%BE%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84&p=1419882#post1419882

soroush.r70
دوشنبه 03 بهمن 1390, 12:45 عصر
نه آقا اینطوری نمی شه شما یه نگاه به کدهای من بنداز ببین مشکل چیه...؟

djsaeedkhan
دوشنبه 03 بهمن 1390, 13:07 عصر
پس لطف بفرمایید فولدر کامل رو بفرستید
ساختار دیتابیس
ریکوایر ها و ....

منم روی خودش درست کنم بفرستم

soroush.r70
دوشنبه 03 بهمن 1390, 13:27 عصر
آقا این خدمت شما ممنون ببینم چی کار برای ما می کنی

djsaeedkhan
دوشنبه 03 بهمن 1390, 15:27 عصر
سلام
لطف بفرمایید همین که گذاشتید رو (بدون اینکه کاری با دیتابیس داشته باشه) اجرا کنید(دقیقا همین بدون فایل های جانبی)
من که تو صفحه هیچی نمی بینم.
توی ویو سورس هیچی نیست.
شما سورس درست حسابی به من بدید ببینم چشه

soroush.r70
سه شنبه 04 بهمن 1390, 12:41 عصر
آقا شما فقط اون صفحه مربوط به ارسال تیکت رو باز کنید کد هاشو ببینین می تونین مرتب کنین طوری که اجرا بشه و عمل کنه همین ممنون

djsaeedkhan
سه شنبه 04 بهمن 1390, 13:23 عصر
سلام
من دوباره و سه باره بررسی کردم
اصلا نمیشه سر در آورد چی به چی هست
شما بگو چی میخای من برات درستش کنم، بعد خودت تغییرش بده (اینجوری وقت کمتر میگیره)

soroush.r70
سه شنبه 04 بهمن 1390, 14:50 عصر
ممنون من یه فرم ارسال اطلاعات دارم در بالا هم روی لینک بری شکل و شمایلش رو می بینی من می خوام به صورت کامل عمل کنه یعنی فرم ها متن وارد بشه بتونه فایل آپلئد کنه با محدودیت فایل حجم 3MB و پسوندهایی که داخل همون فرم که روی لینک بالا هست

دقیقا این عملیات رو انجام بده (http://up98.org/upload/server1/01/z/zvktse15d4guh62ks73.jpg)