PDA

View Full Version : مشکل با url friendly و آپلود کردن فایل



mamad_za
دوشنبه 27 مهر 1394, 12:03 عصر
سلام دوستان من با .htaccess آدرس هام رو تغییر دادم آدرسام از این شکل زیر
www.sitename.com/index.php?gilkoi=upload (http://www.sitename.com/index.php?gilkoi=upload)

به این شکل در آوردم
www.sitename.com/upload/ (http://www.sitename.com/upload/)

کدهایی هم که در htaccess استفاده کردم به این شکله:
RewriteRule ^upload/(\w+)/?$ /index.php?gilkoi=upload&message=$1 [L,QSA]
RewriteRule ^upload/ /index.php?gilkoi=upload [NC,L]

اما یه مشکل برام به وجود اومده اینکه دیگه نمی تونم فایل هام رو آپلود کنم و اصلا شرط های داخل برنامه رو تشخیص نمی ده نمی دونم مشکل از Sessione? از چی هست؟
اینم کد برنامه ممنون می شم جواب بدید.
<?php
ob_start(); session_start();
$r1 =showactive1('upload');
$r3 =showactive1('upload');
$count=countr('upload');
if (isset($_POST['submit'])){
echo $_POST["captcha"];
if($_SESSION["captcha"]!= strtolower($_POST["captcha"])){
header("Location: http://www.nassaban.com/upload/err1");
}
else{
$myFile = $_FILES["fileUpload"];
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime = $finfo->file($myFile["tmp_name"]);
if($myFile["size"]<5000000 && $myFile["size"]>500000){
if($myFile["type"]=='image/jpeg'){
if($mime=='image/jpeg'){
if(isset($_POST['fname']) && $_POST['fname']!="" && strlen($_POST['fname'])<=30){
if(isset($_POST['tel']) && is_numeric($_POST['tel']) && strlen($_POST['tel'])<=11){
$name=htmlspecialchars($_POST['fname']);
$tel = htmlspecialchars((int)$_POST['tel']);
$date= time();
$ip= GetRealIp();
$meghdar=array('UName'=>$name,'UTel'=>$tel,'UDate'=>$date,'UIp'=>$ip);
$result=insertintoo('upload',$meghdar);
if($result=='true'){
$id=findid('upload');
$myFile["name"]=$id.'.jpg';
$image = new SimpleImage();
$image->load($myFile['tmp_name']);
$image->resizeToWidth(500);
$image->save('pic/userupload/'.$myFile["name"]);
header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=done");
}else{header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=err2");}
}else{header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=err3");}
}else{header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=err4");}
}else{header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=err5");}
}else{header("Location: http://localhost/gilkoy/index.php?gilkoi=upload&message=err6");}
}else{header("Location: http://www.nassaban.com/upload/gilkoi=upload&message=err7");}
}
}
?>
<form action="index.php?gilkoi=upload" method="post" enctype="multipart/form-data">

hsgpro
دوشنبه 27 مهر 1394, 12:11 عصر
سلام
خط آخر رو اینطوری تغییر بده ببین درست میشه:



<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">

mamad_za
دوشنبه 27 مهر 1394, 12:45 عصر
Warning: session_start() [function.session-start (http://www.nassaban.com/upload/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home3/nassaban/public_html/index.php:8) in /home3/nassaban/public_html/upload.php on line 2

داداش این ارور رو میده نمی دونم مشکل از ُsessione در حالی که من از session start رو اول صفحه استفاده کردم اما یه حدث دیگه ای می زنم اینه که چون تو صفحه ام captcha دارم و اونم داره از session استفاده می کنه به این مشکل خوردم

Warning: session_start() [function.session-start (http://www.nassaban.com/upload/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home3/nassaban/public_html/index.php:8) in /home3/nassaban/public_html/upload.php on line 2

hsgpro
دوشنبه 27 مهر 1394, 13:13 عصر
این اخطار میگه در خط 8 فایل index.php اطلاعات هدر به مرورگر ارسال شده.
برای استفاده از Session باید قبل از ارسال اطلاعات هدر کار هاش رو انجام بدین.
چک کنید ببینید تو خط 8 فایل index.php یا خطوط قبلیش مثلاً کد HTML وجود نداره یا از دستور echo استفاده نکردید.