سایتی که کاربران بتوانند موزیک عکس وارد کرده یا دانلود کنن کمک کنید
Printable View
سایتی که کاربران بتوانند موزیک عکس وارد کرده یا دانلود کنن کمک کنید
دوست عزيز اگر شما مي خواهيد چنين سايتي را طراحي كنيد بايد توانايي ايجاد صفحات وب دايناميك را داشته
باشيد مثلا با php يا asp و يا .... ابتدا مشخص كنيد دقيقا چقدر اطلاعات در اين زمينه داريد و با چي كار مي كنين
تا بهتر بشه كمك كرد.
بهترین راه استفاده از همون آماده ها هست چون حداقل مشکل های امنیتی شون رفع شده
asp یاد دارم ولی مستقیما کد نویسیش رو کم مشکل من اینه که نمیدونم موزیک یا ویدیو را چطور در بانک قرار میدهند آیا اصلا از همین sql ومانند اون استفاده می کنند یا نه اگه راهنمایی کنی ممنون میشم
فایل رو که توی بانک نمی ذارند!!!
فایل رو آپلود می کنند (کدش زیاده) و با بانک فقط می گن که همچین فایلی موجوده
لطفا توضیح بدید چطور آپلود می کنند یا اینکه یک سایت (فارسی ) یا کتاب معرفی کنید که در این مورد باشه ممنون میشم
خوب شما اول از همه یه فرم از نوع multipart/form-data می خوای که توش یه input از نوع file باشه:
[HTML]<form enctype="multipart/form-data" action="PHP آدرس صفحه ی" method="POST">
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>[/HTML]
بعد هم یه صفحه ی PHP می خوای که فایل رو بگیره:
[PHP]<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?> [/PHP]
اون "/var/www/uploads/" می تونه با جایی که می خوای آپلود کنی عوض بشه
یه کم توضیح:
اصل کار آپلود رو همون فرم HTML انجام میده و یه متغیر با نام userfile از نوع file ومحتوای فایلت به php می فرسته که توی php این آرایه ساخته میشه : [PHP]$_FILES['userfile'][/PHP]
و توی اون آرایه اطلاعات فایلت هست. مثلاً محتواش چیه، حجمش چقدره و اسم موقتی اش چیه
بعد شما باید با تابع move_uploaded_file ، فایل مورد نظرتون رو move کنید به هر جایی که خواستید و با هر اسمی ذخیره کنید
هر جاش رو نفهمیدی بگو بیشتر توضیح بدم
dogtag عزیز من که الان در حالت طراحی هستم باید بجای
var/www/uploads/" آدرس http//:localhost
رو وارد کنم و اینکه در مورد اون تابعی که کار move رو میکنه هم بیشتر توضیح بده
1- شما نباید آدرس وب بهش بدی. شما باید آدرس فایل بدی. مثلاً:
ویندوز:
لینوکس:نقل قول:
c:\www\upload
2- ببین شما که آپلود می کنی میره توی مسیری که توی apache براش تعریف شده و با یه اسم تصادفی ذخیره میشه و یعنی شما هیچ دسترسی به فایلت نداری مگر اینکه بلافاصله با اون تابع جابجاش کنی و با اسمی که می خوای ذخیر کنینقل قول:
var/www/uploads/
مفید بود؟
میشه در مورد این نقل قول بیشتر بگی و اینکه این آماده ها رو از کجا گیر بیارم:10:نقل قول:
google رو خدا برای همین آفریده دیگه
توش دنبال "آپلود سنتر با asp" بگرد
پیدا می کنی
الان من باید برم
وقت ندارم
از راهنماییهات ممنونم
منظور از آماده ها در اصل CMSها یا سیستم های مدیریت محتوا هستنقل قول:
برنامه های رایگان CMSها زیاده و بهترین اون هم Joomla یا Joomfa(که فارسی جوملا هست)
این برنامه رو باید رو سرور خودت نصب کنی، CMS این امکان رو بهت میده که بتونی از همه لحاظ سایتت رو کنترل کنی
خیلی راحت منوی خاصی بسازی، فایل آپلود کنی، نظرسنجی کنی، و...
هرچیزی خواستی فقط لازمه تو گوگل کمی دربارش تحقیق کنی
برای دانلود بنویس دانلود جوملا (فارسی بنویس) یا جوملا چیست، یا آموزش نصب جوملا، قالی های جوملا، ماژول های جوملا، کامپونت ها پلاگین ها و....
جومفا نسخه فارسی شده جوملا هست
:10:
راستی یادم رفت بگم شایدم منظور dogtag از آماده ها اسکیپت های آماده و از پیش نوشته شده باشه
برای یا سایت داینامیک لازم نیست همه چیزو دستی خودت بنویسی
خیلی اسکریپت های آماده وجود داره
مثلاً واسه آپلود فقط لازمه تو گوگل سرچ کنی Upload Script
واسه پست کردن یا ادیت کردن نوشته ها که خودم خیلی دنبال یکی خوبش گشتم باید سرچ کنی Online html editor (ewebeditor4.8 خیلی توپه)
یا Login script
و....:31:
یه سوال هم من داشتم قربون هرکی که بجوابه:46:
فرض میخوام یه سایت داینامیک بسازم، قالبی رو که واسه سایت میخوام استفاده کنم رو چه طور تعریف کنم؟
تقریبا مثل CMSها
(سوالم واضح بود؟ :question:
توضیح بیشتر: مثل بلاگ، تو یه صفحه هی پست میکنم، بعد تعداد مشخصی، پست ها به دو صفحه تقسیم میشه، یه صفحه اول و اصلی هست که هر پست من بالای اون صفحه . بعنوان تاپ ترین پست نشون داده میشه و اولین پست من میره به صفحه ی دوم با قالب مشابه
خوب شما باید یه صفحه ی html رو ورداری و save کنی (اون صفحه ای که طراحی اش رو دوست داری)نقل قول:
بعد از edit کردن و رسیدن به قالب دلخواه باید اون رو با پسوند php ذخیره کنی
حالا هر جا که خواستی مطلب نوشته بشه رو باید با php پرش کنی
و توضیح اون بدون کد خیلی مسخره اس
شما صفحه ی مطلوب html ت رو پیدا کن و هینجا کدش رو بنویس تا با هم پله پله پیش بریم و درستش کنیم :10:
صفحه من frameدار باشه مشکلی پیش نمیاد؟ من قالب رو خودم ساختم اما یه فریم داره تا سایت سریعتر بیاد بالانقل قول:
قالب رو میتونی تو این سایت ببینی
البته سایت کامل نیست و فعلاً هم تغیراتی هم انجام نمیدم توش، چون واسه یه گروه دف دارم طراحی میکنم، میخوام تغیرات یهو بیاد بالا:20:کد:www.daf-iran.com
خب حالا می خوای کجاش چجوری بشه؟ (خلاصه هدف کلی و جزئی ات رو بگو)
مثلاً قسمت اخبار مثل یه بلاگ باشه، متن خبر رو پست که کردم خودش بره تاپ فرار بگیره و خبر های قبلی زیرشنقل قول:
خبر ها بیشتر از 5 تا که شد برن تو صفحه دوم (خبرهای قدیمی)، صفحه دوم هم قالب صفحه اول رو داشته باشه (صفحه دوم بعد پست کردن خبر 6ام خود به خود ایجاد بشه و قدیمیترین خبر میره تو صفحه دوم)
راستی من یه اسکریپت باحا برای ادیت کردن دارم اگه خواستی برات لینک بدم
اینم آدرسش:8:کد:www.ewebeditor.com
خب. من یه چیزی نوشتم. ولی 1 مشکل دارم، mySQLم راه نمی ره
بنابر این نمی تونم تستش کنم و مطمئناً مشکل داره
توی 3 تا فایل به شرح زیر:
فایل show.php که خبرها رو نشون می ده:
[PHP]<?php
include "config.php";
if (isset($_GET['page'])){
$page = intval($_GET['page']);
}else{
$page = 1;
}
// Performing SQL query
$query = 'SELECT `id` FROM table_name';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$count = mysql_num_rows($result);
if ($page > intval($count/5)+1) exit("This page is not there");
$query = 'SELECT `name`, `text`, `time` FROM table_name ORDER BY `id` WHERE topic_id = the_id LIMIT '.(($page-1)*5).','.(($page-1)*5)+5;
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$newsname = array();
$newstext = array();
$newstime = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$newsname[] = html_entity_decode($row[0]);
$newstext[] = html_entity_decode($row[1]);
$newstime[] = $row[2];
}
mysql_free_result($result);
mysql_close($link);
print_r($newsname);
die;
$df = '<table width="100%">';
for ($i=0;$i<count($newsname);$i++){
if ($i==0){
$newsddd = $newsname[0]." (<font class=\"datetag\">".$newstime[0]."</font>)<br>".$newsname[0]." (<font class=\"datetag\">".$newstime[0]."</font>)";
}
$df .= '<tr align="right"><th>'.$newsname[$i].'</th></tr><tr><td>'.$newstext[$i].'</td></tr><tr><td class="datetag">ارسال شده در '.$newstime[$i].'<br><br><br><br></td></tr>';
}
$df = substr($df, 0, -26);
$html = $df.'</td></tr></table>';
print $html;
if ($page > 1) print "<a href=\"?page=".($page-1)."\">Previous</a>";
if ($page < intval($count/5)+1) print "<a href=\"?page=".($page+1)."\">Next</a>";
// Free resultset
mysql_free_result($result);
// Closing connection
mysql_close($link);
?>[/PHP]
فایل send.php که برای ارسال خبر استفاده می شه:
[PHP]<?php
include "../config.php";
include "jdate.php";
$text = nl2br($text);
if ($submited){
$query = 'INSERT INTO `news` (`id`, `name`, `text`, `time`) VALUES (NULL, \''.$name.'\', \''.htmlentities($text).'\', \''.jdate("j F Y").' ساعت '.jdate("g:i A").'\');';
$result = mysql_query($query);
if ($result){
$res = "<span dir=\"rtl\" style=\"font-color: green\">ok</span>";
}else{
$res = "<span dir=\"rtl\ style=\"font-color: red\">error</span>";
}
print $res;
}else{
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="JavaScript" type="text/javascript" src="wysiwyg.js"></script>
</head>
<body>
<form method="POST" action="sendnews.php">
<table border="0" align="center" width="90%" dir="LTR" cellspacing="0" cellpadding="0">
<tr>
<td width="62%" height="25">
<p align="right">
<input type="text" name="name" size="128" dir="rtl" style="font-family: Tahoma; font-size: 9pt; border: 1px solid #000000; padding: 3px;"></td>
<td dir="rtl" width="38%" height="25"><font face="Tahoma" style="font-size: 9pt"><span lang="fa">
عنوان خبر:</span></font></td>
</tr>
<tr>
<td width="62%" height="25">
<p align="right"><textarea id="texts" rows="20" name="text" cols="80" dir="rtl"></textarea><font face="Tahoma" size="2"></font></td>
<td dir="rtl" width="38%" height="25"><font face="Tahoma" style="font-size: 9pt"><span lang="fa">
متن خبر :</span></font></td>
<script language="JavaScript" type="text/javascript">
generate_wysiwyg('texts');
</script>
</tr>
<tr>
<td width="62%" height="25">
</td>
<td width="38%" height="25">
</td>
</tr>
<tr>
<td width="62%" height="25">
<p align="left">
<input type="submit" value="ارسال" name="submited" style="font-family: Tahoma; font-size: 9pt; border: 1px solid #808080; padding: 1px; ">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>[/PHP]
فایل معروف jdate.php برای فارسی کردن تاریخ:
[PHP]<?php
/*
Jalali Date function by Milad Rastian (miladmovie AT yahoo DOT com)
//The main function which convert Gregorian to Jalali calendars is:
// Copyright (C) 2000 Roozbeh Pournader and Mohammad Toossi
//you can see complete note of those function in down of the page
AND JALAI DATE FUNCTION
this function is simillar than date function in PHP
you can find more about it in http://jdf.farsiprojects.com
Copyright (C)2003 FARSI PROJECTS GROUP
// //\\ // //\\ // //////
// // \\ // // \\ // //
// // \\ // // \\ // //
\\ // /////\\\\\ // /////\\\\\ // //
\\// // \\ /////// // \\ ////////// //////
/////// //\\ ////// /////////
// // // \\ // //
// // // \\ // ///////
// // /////\\\\\ // //
//////// // \\ // /////////
*/
// lang file must be at the same directory
// Persian Date Form For vBulletin By : LadBug@gmail.com
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%
/* jdate function */
//set 1 if you want translate number to farsi or if you don't like set 0
// اگه میخواید عددها رو به فارسی نشون بده روی 1 قرار بدید و اگه میخواید انگلیسی نشون بده روی 0 بزارید
define("_JDF_USE_PERSIANNUM","1");
//
///chosse your timezone
// زمان محلی خود را انتخاب کنید تا بر اساس آن زمان محاسبه شود
define("_JDF_TZhours","0");
define("_JDF_TZminute","0");
//
define('_JDF_AM_LONG','قبل از ظهر');
define('_JDF_PM_LONG','بعد از ظهر');
define('_JDF_AM_SHORT','ق.ظ');
define('_JDF_PM_SHORT','ب.ظ');
define('_JDF_Sat_LONG','شنبه');
define('_JDF_Sun_LONG','یکشنبه');
define('_JDF_Mon_LONG','دوشنبه');
define('_JDF_Tue_LONG','سه شنبه');
define('_JDF_Wed_LONG','چهارشنبه');
define('_JDF_Thu_LONG','پنجشنبه');
define('_JDF_Fri_LONG','جمعه');
define('_JDF_Sat_SHORT','ش');
define('_JDF_Sun_SHORT','ی');
define('_JDF_Mon_SHORT','د');
define('_JDF_Tue_SHORT','س');
define('_JDF_Wed_SHORT','چ');
define('_JDF_Thu_SHORT','پ');
define('_JDF_Fri_SHORT','ج');
//English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
// وقتی میخواهیم بگویم چندیمن عدد به کار میرود در انگلیسی دو کاراکتر است ولی در فارسی یک کاراکتر »م« برای آن کافی است مثال: چهارم ، پنجم
define('_JDF_Suffix','م');
//
/* monthname function */
define('_JDF_Far','فروردین');
define('_JDF_Ord','اردیبهشت');
define('_JDF_Kho','خرداد');
define('_JDF_Tir','تیر');
define('_JDF_Mor','مرداد');
define('_JDF_Sha','شهریور');
define('_JDF_Meh','مهر');
define('_JDF_Aba','آبان');
define('_JDF_Aza','آذر');
define('_JDF_Dey','دی');
define('_JDF_Bah','بهمن');
define('_JDF_Esf','اسفند');
/* Convertnumber2farsi && Convertnumber2english functions */
define('_JDF_Num0','۰');
define('_JDF_Num1','۱');
define('_JDF_Num2','۲');
define('_JDF_Num3','۳');
define('_JDF_Num4','۴');
define('_JDF_Num5','۵');
define('_JDF_Num6','۶');
define('_JDF_Num7','۷');
define('_JDF_Num8','۸');
define('_JDF_Num9','۹');
function jdate($type,$maket="now")
{
$result="";
if($maket=="now"){
$year=date("Y");
$month=date("m");
$day=date("d");
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$maket=jmaketime(date("h")+_JDF_TZhours,date("i")+ _JDF_TZminute,date("s"),$jmonth,$jday,$jyear);
}else{
$maket+=_JDF_TZhours*3600+_JDF_TZminute*60;
$date=date("Y-m-d",$maket);
list( $year, $month, $day ) = preg_split ( '/-/', $date );
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
}
$need= $maket;
$year=date("Y",$need);
$month=date("m",$need);
$day=date("d",$need);
$i=0;
while($i<strlen($type))
{
$subtype=substr($type,$i,1);
switch ($subtype)
{
case "A":
$result1=date("a",$need);
if($result1=="pm") $result.=_JDF_PM_LONG;
else $result.=_JDF_AM_LONG;
break;
case "a":
$result1=date("a",$need);
if($result1=="pm") $result.=_JDF_PM_SHORT;
else $result.=_JDF_AM_SHORT;
break;
case "d":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
if($jday<10)$result1="0".$jday;
else $result1=$jday;
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "D":
$result1=date("D",$need);
if($result1=="Sat") $result1=_JDF_Sat_SHORT;
else if($result1=="Sun") $result1=_JDF_Sun_SHORT;
else if($result1=="Mon") $result1=_JDF_Mon_SHORT;
else if($result1=="Tue") $result1=_JDF_Tue_SHORT;
else if($result1=="Wed") $result1=_JDF_Wed_SHORT;
else if($result1=="Thu") $result1=_JDF_Thu_SHORT;
else if($result1=="Fri") $result1=_JDF_Fri_SHORT;
$result.=$result1;
break;
case"F":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result.=monthname($jmonth);
break;
case "g":
$result1=date("g",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "G":
$result1=date("G",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "h":
$result1=date("h",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "H":
$result1=date("H",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "i":
$result1=date("i",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "j":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result1=$jday;
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "l":
$result1=date("l",$need);
if($result1=="Saturday") $result1=_JDF_Sat_LONG;
else if($result1=="Sunday") $result1=_JDF_Sun_LONG;
else if($result1=="Monday") $result1=_JDF_Mon_LONG;
else if($result1=="Tuesday") $result1=_JDF_Tue_LONG;
else if($result1=="Wednesday") $result1=_JDF_Wed_LONG;
else if($result1=="Thursday") $result1=_JDF_Thu_LONG;
else if($result1=="Friday") $result1=_JDF_Fri_LONG;
$result.=$result1;
break;
case "m":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
if($jmonth<10) $result1="0".$jmonth;
else $result1=$jmonth;
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "M":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result.=monthname($jmonth);
break;
case "n":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result1=$jmonth;
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "s":
$result1=date("s",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "S":
$result.=_JDF_Suffix;
break;
case "t":
$result.=lastday ($month,$day,$year);
break;
case "w":
$result1=date("w",$need);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "y":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result1=substr($jyear,2,4);
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
case "Y":
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$result1=$jyear;
if(_JDF_USE_PERSIANNUM) $result.=Convertnumber2farsi($result1);
else $result.=$result1;
break;
default:
$result.=$subtype;
}
$i++;
}
return $result;
}
function jmaketime($hour,$minute,$second,$jmonth,$jday,$jye ar)
{
list( $year, $month, $day ) = jalali_to_gregorian($jyear, $jmonth, $jday);
$i=mktime($hour,$minute,$second,$month,$day,$year) ;
return $i;
}
///Find Day Begining Of Month
function mstart($month,$day,$year)
{
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
list( $year, $month, $day ) = jalali_to_gregorian($jyear, $jmonth, "1");
$timestamp=mktime(0,0,0,$month,$day,$year);
return date("w",$timestamp);
}
//Find Number Of Days In This Month
function lastday ($month,$day,$year)
{
$lastdayen=date("d",mktime(0,0,0,$month+1,0,$year) );
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);
$lastdatep=$jday;
$jday=$jday2;
while($jday2!="1")
{
if($day<$lastdayen)
{
$day++;
list( $jyear, $jmonth, $jday2 ) = gregorian_to_jalali($year, $month, $day);
if($jdate2=="1") break;
if($jdate2!="1") $lastdatep++;
}
else
{
$day=0;
$month++;
if($month==13)
{
$month="1";
$year++;
}
}
}
return $lastdatep-1;
}
//translate number of month to name of month
function monthname($month)
{
if($month=="01") return _JDF_Far;
if($month=="02") return _JDF_Ord;
if($month=="03") return _JDF_Kho;
if($month=="04") return _JDF_Tir;
if($month=="05") return _JDF_Mor;
if($month=="06") return _JDF_Sha;
if($month=="07") return _JDF_Meh;
if($month=="08") return _JDF_Aba;
if($month=="09") return _JDF_Aza;
if($month=="10") return _JDF_Dey;
if($month=="11") return _JDF_Bah;
if($month=="12") return _JDF_Esf;
}
////here convert to number in persian
function Convertnumber2farsi($srting)
{
$stringtemp="";
$len=strlen($srting);
for($sub=0;$sub<$len;$sub++)
{
if(substr($srting,$sub,1)=="0")$stringtemp.=_JDF_N um0;
elseif(substr($srting,$sub,1)=="1")$stringtemp.=_J DF_Num1;
elseif(substr($srting,$sub,1)=="2")$stringtemp.=_J DF_Num2;
elseif(substr($srting,$sub,1)=="3")$stringtemp.=_J DF_Num3;
elseif(substr($srting,$sub,1)=="4")$stringtemp.=_J DF_Num4;
elseif(substr($srting,$sub,1)=="5")$stringtemp.=_J DF_Num5;
elseif(substr($srting,$sub,1)=="6")$stringtemp.=_J DF_Num6;
elseif(substr($srting,$sub,1)=="7")$stringtemp.=_J DF_Num7;
elseif(substr($srting,$sub,1)=="8")$stringtemp.=_J DF_Num8;
elseif(substr($srting,$sub,1)=="9")$stringtemp.=_J DF_Num9;
else {$stringtemp.=substr($srting,$sub,2);$sub++;}
}
return $stringtemp;
}///end convert to number in persian
////here convert to number in english
function Convertnumber2english($srting)
{
$stringtemp="";
$len=strlen($srting);
for($sub=0;$sub<$len;$sub+=2)
{
if(substr($srting,$sub,2)==_JDF_Num0)$stringtemp.= "0";
elseif(substr($srting,$sub,2)==_JDF_Num1)$stringte mp.="1";
elseif(substr($srting,$sub,2)==_JDF_Num2)$stringte mp.="2";
elseif(substr($srting,$sub,2)==_JDF_Num3)$stringte mp.="3";
elseif(substr($srting,$sub,2)==_JDF_Num4)$stringte mp.="4";
elseif(substr($srting,$sub,2)==_JDF_Num5)$stringte mp.="5";
elseif(substr($srting,$sub,2)==_JDF_Num6)$stringte mp.="6";
elseif(substr($srting,$sub,2)==_JDF_Num7)$stringte mp.="7";
elseif(substr($srting,$sub,2)==_JDF_Num8)$stringte mp.="8";
elseif(substr($srting,$sub,2)==_JDF_Num9)$stringte mp.="9";
else {$stringtemp.=substr($srting,$sub,1);$sub--;}
}
return $stringtemp;
}///end convert to number in english
// "jalali.php" is convertor to and from Gregorian and Jalali calendars.
// Copyright (C) 2000 Roozbeh Pournader and Mohammad Toossi
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// A copy of the GNU General Public License is available from:
//
// <a href="http://www.gnu.org/copyleft/gpl.html" target="_blank">http://www.gnu.org/copyleft/gpl.html</a>
//
function div($a,$b) {
return (int) ($a / $b);
}
function gregorian_to_jalali ($g_y, $g_m, $g_d)
{
$g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
$j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
$gy = $g_y-1600;
$gm = $g_m-1;
$gd = $g_d-1;
$g_day_no = 365*$gy+div($gy+3,4)-div($gy+99,100)+div($gy+399,400);
for ($i=0; $i < $gm; ++$i)
$g_day_no += $g_days_in_month[$i];
if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0)))
/* leap and after Feb */
$g_day_no++;
$g_day_no += $gd;
$j_day_no = $g_day_no-79;
$j_np = div($j_day_no, 12053); /* 12053 = 365*33 + 32/4 */
$j_day_no = $j_day_no % 12053;
$jy = 979+33*$j_np+4*div($j_day_no,1461); /* 1461 = 365*4 + 4/4 */
$j_day_no %= 1461;
if ($j_day_no >= 366) {
$jy += div($j_day_no-1, 365);
$j_day_no = ($j_day_no-1)%365;
}
for ($i = 0; $i < 11 && $j_day_no >= $j_days_in_month[$i]; ++$i)
$j_day_no -= $j_days_in_month[$i];
$jm = $i+1;
$jd = $j_day_no+1;
return array($jy, $jm, $jd);
}
function jalali_to_gregorian($j_y, $j_m, $j_d)
{
$g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
$j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
$jy = $j_y-979;
$jm = $j_m-1;
$jd = $j_d-1;
$j_day_no = 365*$jy + div($jy, 33)*8 + div($jy%33+3, 4);
for ($i=0; $i < $jm; ++$i)
$j_day_no += $j_days_in_month[$i];
$j_day_no += $jd;
$g_day_no = $j_day_no+79;
$gy = 1600 + 400*div($g_day_no, 146097); /* 146097 = 365*400 + 400/4 - 400/100 + 400/400 */
$g_day_no = $g_day_no % 146097;
$leap = true;
if ($g_day_no >= 36525) /* 36525 = 365*100 + 100/4 */
{
$g_day_no--;
$gy += 100*div($g_day_no, 36524); /* 36524 = 365*100 + 100/4 - 100/100 */
$g_day_no = $g_day_no % 36524;
if ($g_day_no >= 365)
$g_day_no++;
else
$leap = false;
}
$gy += 4*div($g_day_no, 1461); /* 1461 = 365*4 + 4/4 */
$g_day_no %= 1461;
if ($g_day_no >= 366) {
$leap = false;
$g_day_no--;
$gy += div($g_day_no, 365);
$g_day_no = $g_day_no % 365;
}
for ($i = 0; $g_day_no >= $g_days_in_month[$i] + ($i == 1 && $leap); $i++)
$g_day_no -= $g_days_in_month[$i] + ($i == 1 && $leap);
$gm = $i+1;
$gd = $g_day_no+1;
return array($gy, $gm, $gd);
}
?>[/PHP]
و فایل config.php که تنظیمات مربوط به وصل شدن به mySQL توشه:
[PHP]<?php
$dbhost = "localhost";
$dbuser = "YourUsername";
$dbpass = "YourPassword";
$dbname = "DatabaseName";
// Don't Edit There
$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
?>[/PHP]
و خودت باید عوضشون کنی
یه table هم با این ساختار می خوای:
برای راحتی کار:
1 فیلد به نام id که خودکار زیاد بشه و کلید اصلی هم باشه
3 فیلد با نام های `name`, `text`, `time` از نوع text
فکر کنم همه رو گفتم. اگر مشکلی بود باز هم هستم
سلام dodge جان
دستت درد نکنه، این کد ها رو از کجا میاری؟ کدش سادست و برای یادگیری خیلی خوبه،
من یه کد نوشتم واسه صفحه بندی کردن، اما یه مشکل دارم که میخوام وقتی به انتحا رسیدم کد "بعدی" غیر فعال بشه یا بره و همینطور "قبلی"
کد:
[HTML]
<?php
include ("dbconnection.php");
if (isset($_REQUEST["limit"])) {
$limit=$_REQUEST["limit"];
} elseif (!$limit=3) {
break;
} else {
$limit=3;
}
?>
<form action="<?php
echo $_SERVER["PHP_SELF"]
?>" method="post"> <input type="text" name="limit" value="<?php
echo $limit
?>"></form>
<?php
$result = mysql_query("select * from report") or die (mysql_error());
$numrow=mysql_num_rows($result);
if (!isset($_REQUEST["from"])) {
$from=0;
include ("reportcode.php");
} else {
$from=$_REQUEST["from"];
include ("reportcode.php");
}
if ($numrow%$limit==0) { $numrow=$numrow-$limit; }
?>
<table border='1'>
<tr>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=0<?php echo "&limit=".$limit ?>>First</a></td>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $from-$limit."&limit=".$limit ?>>Back</a></td>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $from+$limit."&limit=".$limit ?>>Next</a></td>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $numrow-($numrow%$limit)."&limit=".$limit ?>>Last</a></td>
</tr>
</table>
[/HTML]
البته کد گزارش گیری (report) رو تو یه فایل جدا گذاشتم و همینطور اتصال به پایگاه داده
اگر منظورت از dodge منم باید بگم که:نقل قول:
خواهش می کنم. این کد ها رو خودم نوشتم (به نظر خودم که افتضاحه) (البته بجز اون jdate)
این کدت رو هم نگاه می کنم و می گم که چه کنی
فعلاً
سلام من یه نمونه سایت داینامیک کی خواستم اگه یکی لطف کنه بزاره ممنون میشم
منظورت رو نفهمیدم ولی همین
یه سایت داینامیکه دیگه!کد:http://forum.p30world.com/
[HTML]
<?php
include ("dbconnection.php");
if (isset($_REQUEST["limit"])) {
$limit=$_REQUEST["limit"];
} elseif (!$limit=3) {
break;
} else {
$limit=3;
}
?>
<form action="<?php
echo $_SERVER["PHP_SELF"]
?>" method="post"> <input type="text" name="limit" value="<?php
echo $limit
?>"></form>
<?php
$result = mysql_query("select * from report") or die (mysql_error());
$numrow=mysql_num_rows($result);
if (!isset($_REQUEST["from"])) {
$from=0;
include ("reportcode.php");
} else {
$from=$_REQUEST["from"];
include ("reportcode.php");
}
if ($numrow%$limit==0) { $numrow=$numrow-$limit; }
?>
<table border='1'>
<tr>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=0<?php echo "&limit=".$limit ?>>First</a></td>
<td>
<?php
if ($from-$limit<0) { echo "<!--"; }
?>
<a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $from-$limit."&limit=".$limit ?>>Back</a>
<?php
if ($from-$limit<0) { echo "-->Back"; }
?>
</td>
<td>
<?php
if ($from+$limit>$numrow) { echo "<!--"; }
?>
<a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $from+$limit."&limit=".$limit ?>>Next</a>
<?php
if ($from+$limit>$numrow) { echo "-->Next"; }
?>
</td>
<td><a href=<?php echo $_SERVER["PHP_SELF"] ?>?from=<?php echo $numrow-($numrow%$limit)."&limit=".$limit ?>>Last</a></td>
</tr>
</table>
[/HTML]
توضیح:
این اطلاعات رو به تعداد مشخص در هر صفحه نمایش میده، مثل وبلاگ
فایل dbconnection.php مربوط به اتصال و انتخاب پایگاه داده هست
limit تعداد پست هایی که در هر صفحه نمایش داده میشه، اگه مقداری وارد نشه، به طور پیش فرض، 3پست در هر صفحه نمایش داده میشه
فایل reportcode.php فایل گزارشگیری از جدول پایگاه داده هست که اطلاعات رو فقط جدول بندی میکنه (متغیر $limit و $from در این فایل برای انتخاب تعداد رکورد و شروع از رکورد...)
:10:
نقل قول:
می دونم که چی داینامیکه ای چی نیست من یه دونه نمونه برای طراحی لازم داشتم جه از نظر قالب و چه ار نظر کدهاش حالا اگه دارین واسم بزارین
ممنون
سلامنقل قول:
اگه دقت میکردی کدهایی که من گذاشته بودم مربوط به گزارشگیری اطلاعات در یک صفحه با ترتیب خاص (مثلاً در هر صفحه 3تا پست رو نمایش بده)
اولاً باید بدونی صفحه داینامیک چیه؟ ، خلاصه بگم; بسته به درخواست کاربر، یک صفحه کد نویسی شده، اطلاعات مختلفی به خروجی میبره
و در همه صفحه های داینامیک معمولاً از ارتباط با پایگاه داده استفاده شده،
1-ارتباط با پایگاه داده
2-ارسال اطلاعات فرم به پایگاه داده
3-گذارشگیری
(اینارو خلاصه گفتم)
حلا همین یه چیز ساده رو باید وسعت بدی و بزرگش کنی، مثلاً تو همین سایت وقتی میخوای یه پست ایجاد کنی، یه سری اکریپت هایی وجود داره که میتونی بزرگ تایپ کنی، از چپ یه راست و برعکس و...
یا یه فرم برای جستجو در پایگاه داده
یا تو همین صفحه که میبینی(به آدرس این صفحه دقت کن) یه آدرسی میبینی که آخرش به php. ختم میشه و بعد اطلاعات کاربری مخصوص درخواست تو از اون صفحه کد نویسی شده وجود داره که بنا به درخواست تو، در این بحث (سایت داینامیک) از پست فلات تا فلان رو در یه صفحه (مثلاً 10 پست در هر صفحه) به ترتیب زمان نمایش داده شده
البته لازم نیست همه کد ها دستی نوشته بشن، فقط بعضی کد ها نیاز به نوشتن دارن، بیشترشو میتونی سرچ کنی و فقط لازمه کمی تغیر در کد ایجاد کنینقل قول:
اینم یه کد خیلی ساده که واسه شروع عالیه:
کد ایجاد فرم برای دریافت اطلاعات این فایل رو با هرنامی، و پسوند php یا html ذخیره کن:
[HTML]
<form action="php.php" method="post" >
<table style="width: 400px" class="style1">
<tr>
<td colspan="3">Username: </td>
<td> <input type="text" name="name" ></td>
</tr>
<tr>
<td colspan="3">Password:</td>
<td> <input type="password" name="email"></td>
</tr>
<tr>
<td valign="top" class="style2" colspan="3"><br>
Your Feedback:</td>
<td>
<textarea name="feedback" style="width: 271px; height: 132px" dir="ltr"></textarea>
</td>
</tr>
<tr>
<td colspan="4"><hr></td>
</tr>
<tr>
<td style="width: 20px" class="style3">
<input type="submit" value="Send" ></td>
<td style="width: 2px" class="style3"> </td>
<td style="width: 54px">
<input type="reset" value="Clear"></td>
<td> </td>
</tr>
</table></form>
[/HTML]
کد ارتباط با پیاگاه داده و درج اطلاعات این فایل باید با نام php.php ذخیره بشه:
[HTML]
<?php
$host="localhost";
$user="root";
$pass="";
// Connect to MySQL
$connect=mysql_connect($host,$user,$pass);
if($connect){
print("Connected to my sql server successfully<br><div align=left><hr width=200></div><br>");}else{
print("Access Denyed<br>");}
// Select Database
$dbn="dbpourya";
$select=mysql_selectdb($dbn,$connect);
if($select){
print("Selected mysql server successfully<br><div align=left><hr width=200></div><br>");}else{
print("Selected Failed<br>");}
// Get the string
//Insert into Table on Database
$name=$_POST['name'];
$email=$_POST['email'];
$feedback=$_POST['feedback'];
$query="INSERT INTO `pouryatb` ( `name` , `email` , `feedback`)
VALUES ('$name', '$email', '$feedback')";
$insert=mysql_db_query($dbn,$query,$connect);
if($insert){
print("Insert successfully<br><div align=left><hr width=200></div><br>");}else{
print("Inserting Failed<br>");}
?>
[/HTML]
کد گزارشگیری فایل باید با نام php. ذخیره بشه:
[HTML]
<?php
$host="localhost";
$user="root";
$pass="";
// Connect to MySQL
$connect=mysql_connect($host,$user,$pass);
if($connect){
print("Connected to my sql server successfully<br><div align=left><hr width=200></div><br>");}else{
print("Access Denyed<br>");}
$dbn="dbpourya";
// Select Database
$select=mysql_selectdb($dbn,$connect);
if($select){
print("Selected mysql server successfully<br><div align=left><hr width=200></div><br>");}else{
print("Selected Failed<br>");}
$query="select * from `pouryatb`";
$result=mysql_db_query($dbn,$query,$connect);
while($row=mysql_fetch_array($result)){
print($row['name']);
print($row['email']);
print($row['feedback']);
}
?>
[/HTML]
من خودم با این کد شروع کردم ولی اینجا کمی تغیر دادم، اگه مشکلی در اجرا داشتی یا اینکه چهطور اجراش کنی یا چهطور ادامه بدی و چه کتابهایی به درد میخوره، درخدمتیم