PDA

View Full Version : سوال: ترکیب فرم آپلود تصویر و ثبت نام کاربر بدون رفرش



abbas27
جمعه 25 مهر 1393, 13:55 عصر
سلام/من یه فرم
(insert.php)دارم برای ثبت نام کاربر،اطلاعات ورودی توسط jquery به صفحه ins.php که کدهای php جهت بررسی اطلاعات هس ارسال میشه،حالا من یک فیلد از نوع فایل هم میخوام تو صفحه قرار بدم که کاربر تصویرشم آپلود کنه اما برای آپلود یه کلید submit گذاشتم برای ثبت اطلاعات هم یه button جدا گذاشتم.من میخوام با یه کلید button کاربر هم ثبت نامش صورت بگیره هم عکسش آپلود بشه بدون رفرش.چجور کدهای آپلود رو با کد دکمه buttn

ترکیب کنم؟

این صفحه ای هست که آپلود انجام میده.upd.php




<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">
</script> <script src="http://malsup.github.com/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var options = {
target: '#show',
success: function() {
}

};
$("#form1").submit(function(){
$('#form1').ajaxSubmit(options);
return false;

});

} );
</script>
</head>
<body>
<div id="show">show</div>
<div id="form">
<form action="form-action.php" method="post" enctype="multipart/form-data" id="form1">

<p>
<input type="file" name="f" id="f" size="40">
</p>
<p>
<input type="submit" name="ok" value="ارسال">
</p>
<a href="#" id="addMore">Add more</a>
</form>
<p><div id="container">
<img id="immg" />
</div></p>
</div>
</body>
</html



اینم صفحه insert.phpکه دریاغت اطلاعات از ورودی و ارسال اطلاعات رو بر عهده داره




$(document).ready(function(){

$("#reg").click(function(){


var username1=$("#username").val();
var reg=$("#reg").val();

$.post("ins.php",{reg:reg,username:username1},function(data) {$("#result").html(data);
});
});
});

abbas27
جمعه 25 مهر 1393, 18:34 عصر
مهندسا جواب بدین لطفا:ناراحت::ناراحت::ناراحت: :ناراحت:

abbas27
شنبه 26 مهر 1393, 09:18 صبح
کسی نیست؟تعطیله؟

مهرداد سیف زاده
شنبه 26 مهر 1393, 09:33 صبح
باید با jquery انجام بدید
تابع ajax این امکان رو داره که شما هم multypartData رو بفرستید
به نمونه کدی که گذاشتم نگاه کنید و اجرا بگیرید


<form id="data" method="post" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<button>Submit</button>
</form>


و برای jquery کدهای زیر رو مینویسید


$("form#data").submit(function(){


var formData = new FormData($(this)[0]);


$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
async: false,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});


return false;
});

abbas27
شنبه 26 مهر 1393, 09:56 صبح
ممنون-اگه ممکنه یه توضیح هم بده

abbas27
شنبه 26 مهر 1393, 10:19 صبح
دیگه نیاز نیس مثلا به شکل زیر به بخش jquery مقادیر رو معرفی کنیم؟بعد سمت سرور باید اینجوری post['name'] _ $ مقادیر رو دریافت کنیم؟برای فایل که میدونم باید از Files استفاده کرد/تو قسمت url باید آدرس صفحه ای که کدهای php و آپلود هست رو قرار بدم؟

[CODE]
$.post("object/ins.php",{reg:reg,username:username1}
[CODE/]

مهرداد سیف زاده
شنبه 26 مهر 1393, 10:21 صبح
توضیحش با اجراش هست
برنامه نویسی یعنی ذهن خلاق و آزمون و خطا
همین کدی که گذاشتم رو اجرا بگیرید(البته شاید نیاز به تغییر هم باشه) بعدش خب در php برای گرفتن مقادیر میخواید تست کنید که داده رسیده یا نه بصورت زیر کار کنید:


print_r($_FILES);
print_r($_POST);

abbas27
شنبه 26 مهر 1393, 10:48 صبح
یه دنیا ممنون/زحمت کشیدی/همینو میخواستم