PDA

View Full Version : انجام عمليات php بدون رفرش



raspotineiran
دوشنبه 10 فروردین 1388, 00:30 صبح
سلام
من میخوام تو یک div یک form بزارم که لینک فایل ویدئوی از یوتیوب را وارد کنیم
مثلا: http://youtube.com/watch?v=bqZauhidT1w
پس از کلیک روی submit در قسمت action بره عملیات کد http://superiran.dk/tubeget/y.php که مشخصات و لینک فایلflv را میابد را اجرا کندو نتیجه را در همان div بجای form نمایش بده بدون اینکه صفحه refresh بشه چون نمیخوام پس از هر بار نمایش نتیجه بکگراند refresh بشه؟
ببینید:
http://www.superiran.dk/tubeget/1.php
این کد ها رو باید چطور تغییر بدم؟


<form method='post' action=' http://superiran.dk/tubeget/y.php ' name=form1>
<input type='submit' name='submit'value="Get it" >
<input name='video' id="video" type='text' size="50"/>
</form>


کد y.php اینه



<?
if(eregi('youtube.com',$_POST['video'])){
$video="$_POST[video]";
$video2 = explode("watch?v=", $video);
$video2 = explode("&", $video2[1]);
$video2 = $video2[0];
$source = file_get_contents($video);

preg_match("/var fullscreenUrl = '(.*?)';/is", $source, $link);
$link=str_replace('/','',$link[1]);
$link=str_replace("watch_fullscreen?",'',$link);
$title = explode("<title>", $source);
$title = explode("</title>", $title[1]);
$title=str_replace("YouTube - ","",$title[0]);
$pic="http://img.youtube.com/vi/$video2/default.jpg";

echo"<center><img src=\"http://superiran.dk/tubeget/images/info.png\" ><br><font size=\"2\"><b>Name:&nbsp;</b><b>$title</b></font><br><br><img src=\"$pic\"><br><br><img src=\"http://superiran.dk/tubeget/images/download.png\"><br><a href=\"http://www.youtube.com/get_video?$link\"><strong>Click Here to Download Your Video</strong></a></center>";
}

?>



یکی از دوستان یه کلاس واسه Ajax نوشته ببینید:
http://karbin.ir/SimpelAjaxClass.zip

اینطور که میگه کلا تو Ajax میتونیم محتوا یک div یا کنترل رو تغییر بدیم، اینجا اسم اون کنترل Result هست که میتوان هر چیزی گذاشت.
گفت شما یک input text دارین که میدینش به همون اسکریپت، بعدش جایی که می خواین توش نتیجه چاپ بشه رو یه div درست کنید با هر id که دوست دارین، حالا تو اون اسکریپته به جای result اون id div رو بدین و بزارین تو innerHTML بنویسه، تو فایل php تونم فقط کافیه نتیجه رو echo کنید،

ولی من نتونستم ؛ باید چطور عمل کنم؟!

raspotineiran
چهارشنبه 12 فروردین 1388, 13:07 عصر
کسی نیست کمک کنه؟!

ali_sed
پنج شنبه 13 فروردین 1388, 01:09 صبح
کلید دست خودته پس چرا دور خودت می چرخی؟

کلید کار شما آجاکس هست پس تا می تونی در مورد اون اطلاعات جمع کن بهت قول می دم در عرض کمتر از نیم روز کارت راه می افته.

داخل همین انجمن هم بگردی در مورد آجاکس مطلب زیاد هست کتابی هم به فارسی در اینترنت منتشر شد است.

اگه زبانت بد نیست این مقاله خوبه.
http://mykargah.co.cc/post-10.aspx

raspotineiran
شنبه 15 فروردین 1388, 07:31 صبح
سلام
بالاخره با اجاکس درستش کردم :
http://www.superiran.dk/tubeget/2.php
ولی دو مشکل هست اول اینکه وقتی بدون اینکه لینکی وارد فیلد input text نیست فیلد خالی باشد کلید get it رو میزنم نمیدونم چه جور پیغام خطا بزارم و نزارم بره تو صفحه بعدی و پیغام undefined نشون نده؟!!

دوم :
وقتی لینک یه ویدئو نامعتبر و غیر حقیقی وارد میکنیم چطور با اجاکس alert اجرا بشه (invalid url) ؟؟؟؟

تو اجاکس باید از شروط if(xmlHttp.readyState == 0) و if (xmlHttp.status == 404) استفاده کنم ؟؟؟!!