پرسش و پاسخ در برنامه نویسی php

متالیک

عضو جدید
کاربر ممتاز
مرسی جواب سوال هام دادید
این هم ادامه سوال هام
این چیه
$uploaddir = $_SERVER[document_root].'/images/';
2.برنامه رو که می نویسم این خطا ها رو میده علت چیه
temporary/upload.phpsabzevar24/images/[FONT=Times New Roman (Arabic)]ارسال عکس شما با خطا مواجه شد[/FONT] Array ( )

/temporary/upload.phpsabzevar24/images/
Warning: move_uploaded_file(/temporary/upload.phpsabzevar24/images/0j6p5axamze1vjjy334.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\temporary\upload.php on line 12

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'c:/wamp/tmp\php151.tmp' to '/temporary/upload.phpsabzevar24/images/0j6p5axamze1vjjy334.jpg' in C:\wamp\www\temporary\upload.php on line 12
[FONT=Times New Roman (Arabic)]ارسال عکس شما با خطا مواجه شد[/FONT] Array ( [userfile] => Array ( [name] => 0j6p5axamze1vjjy334.jpg [type] => image/pjpeg [tmp_name] => c:/wamp/tmp\php151.tmp [error] => 0 [size] => 25120 ) )

دوست عزیز!

همه ی این خطاها به دلیل وجود نبودن پوشه images است. پوشه ی images را باید خودتان در جایی که اسکریپت را قرار داده اید ایجاد کنید. من با توجه به خطاها فهمیدم که محل استفاده اسکریپت شما آدرس c:\wamp\www\temporary\ است. و من فکر می کنم شما دو چیز را با هم اشتباه کرده اید:
اول این که قبلا گفته بودم پوشه ی temporary را ایجاد کنید. اما داخل پوشه باید خالی باشد نه این که فایل اسکریپت (احتمالا فایل upload.php) را داخل آن اجرا کنید، الان به شما می گویم که باید به صورت زیر عمل کنید:
محل قرار گرفتن فایل upload.php:
c:\wamp\www\upload.php
محل ساخت پوشه temporary:
c:\wamp\www\temporary\

دوم این که من فکر می کنم اصلا نیازی به این پوشه temporary نیست! چون فایل ها داخل پوشه images آپلود می شوند. به هر حال حذفش نکنید شاید چیزی بوده که من الان یادم رفته! شما پوشه images را هم باید در جایی که upload.php قرار دارد بسازید و داخلش چیزی کپی نکنید:
محل قرار گرفتن فایل upload.php:
c:\wamp\www\upload.php
محل ساخت پوشه images
c:\wamp\www\images\

و اما این که این خط چیست:
کد:
 $uploaddir = $_SERVER[document_root].'/images/';

این خط آدرس پوشه محل آپلود فایل ها را مشخص می کند.
علامت نقطه برای در کنار یکدیگر قرار دادن استرینگ (رشته) استفاده می شود (جمع استرینگ ها)
SERVER_$ هم از متغیرهای سرور است که این نوع خاص آدرس محل استفاده از فایل اجرا شده (یعنی upload.php) را بر می گرداند. یعنی خروجی این خط برای اسکریپت شما می شود:
کد:
$uploaddir="c:/wamp/www/images/"

امیدوارم جواب خود را در انتهای شب! گرفته باشید.

موفق باشید
 

hafa361

عضو جدید

سلام دوستان
من دارم یک سایت کتابخانه با php طراحی می کنم . این سایت در کل باید دو نوع کاربر داشته باشه . یک کاربر،که در حقیقت صاحب سایته و کار هایی مثل وارد کردن کتاب ،جستجوی کتاب ،ویرایش کتاب و غیره رو انجام میده ،و یک کاربر عادی که فقط می تونه عمل جستجوی کتاب رو انجام بده.
سایت باید طوری طراحی بشه که وقتی کاربر عادی وارد سایت می شه، فقط قادر به دیدن صفحه جستجوی کتاب باشه و صفحات وارد کردن کتاب و ویرایش کتاب و غیره روکه مختص صاحب سایت هست را نتونه ببینه .
و وقتی صاحب سایت وارد سایت می شه بتونه تمام صفحات رو ببینه .
متاسفانه من نمی دونم چه طوری باید این کارو انجام بدم . لطفا کمکم کنید.
 

متالیک

عضو جدید
کاربر ممتاز
باید از سشن استفاده بشه.

اگر مدیر لاگین کرده باشه باید یک سشن ست کنید مثلا:

کد:
session_start();
$_SESSION['admin']=1
بالای هر صفحه باید یک کنترل کننده قرار بدید که چک کنه اگر سشن admin قبلا ست شده و برابر با یکه صفحه رو نشون بده وگرنه یا یک پیام نشون بده یا کاربر رو به یک صفحه ی دیگه منتقل کنه

پس مراحل کار:
1. بعد از لاگین کردن کاربر -> آیا کاربر مدیر است یا کاربر عادی است!؟
2. اگر مدیر است ست کردن یک سشن با نام admin و مقدار دهی آن مثلا برابر با 1
3. قرار دادن کد کنترل کننده بالای هر صفحه ای که فقط مدیر حق ورود دارد مثلا:

کد:
session_start();
if ($_SESSION['admin']!=1) header("Location: index.php");
ظاهرا اطلاعات اولیه شما برای نوشتن صفحات php کافی نیست، توصیه من مطالعه کتاب های آموزشی (مخصوصا مراجع انگلیسی) به شماست. چون این موارد در همه ی کتاب ها توضیح داده شده است.
 

farzaneh2008

عضو جدید
please help me:f1

please help me:f1

سلام​
من یک تکه برنامه واسه آپلود عکس نوشتم ولی خطا می ده نمی دونم خطاش از کجاست​
صفحه اول:send.php
<?php require_once('Connections/image.php'); ?>
<?php
mysql_select_db($database_image, $image);
$query_Recordset1 = "SELECT * FROM groups";
$Recordset1 = mysql_query($query_Recordset1, $image) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php" method="post">
<p>

Send this file:
<input name="userfile" type="file" />
</p>
<p>type
<label>
<select name="select">
<?php
do {
?>
<option value="<?php echo $row_Recordset1['id']?>"><?php echo $row_Recordset1['name_g']?></option><?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>
</label>
</p>
<p>
<input type="submit" value="Send File" />
</p>
</form>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
این صفحه خطایی نداره ولی موقعی که دکمه send رو میزنی و می خواد بره صفحه upload.php پیغام خطا می ده اینم صفحه آپلود
upload.php
[FONT=Arial (Arabic)][FONT=Arial (Arabic)]
<?
php require_once('Connections/image.php[FONT=Arial (Arabic)][FONT=Arial (Arabic)]'); ?>
<?
[/FONT]
[/FONT]php
[FONT=Arial (Arabic)][FONT=Arial (Arabic)]// [/FONT][/FONT]In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
[FONT=Arial (Arabic)][FONT=Arial (Arabic)]// [/FONT][/FONT]of $_FILES[FONT=Arial (Arabic)][FONT=Arial (Arabic)].
$
[/FONT]
[/FONT]uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images[FONT=Arial (Arabic)][FONT=Arial (Arabic)]/';
//$
[/FONT]
[/FONT]path='/images[FONT=Arial (Arabic)][FONT=Arial (Arabic)]';
//$
[/FONT]
[/FONT]uploaddir=dirname($path[FONT=Arial (Arabic)][FONT=Arial (Arabic)]);
[/FONT]
[/FONT]echo $uploaddir[FONT=Arial (Arabic)][FONT=Arial (Arabic)];
$
[/FONT]
[/FONT]uploadfile = $uploaddir . $_FILES['userfile']['name[FONT=Arial (Arabic)][FONT=Arial (Arabic)]'];
$
[/FONT]
[/FONT]t=$_POST['select[FONT=Arial (Arabic)][FONT=Arial (Arabic)]'];
[/FONT]
[/FONT]if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile[FONT=Arial (Arabic)][FONT=Arial (Arabic)]))
{
[/FONT]
[/FONT]mysql_select_db($database_image, $image[FONT=Arial (Arabic)][FONT=Arial (Arabic)]);
$
[/FONT]
[/FONT]insertSQL = sprintf("INSERT INTO picture (address_p,type) VALUES ('$uploadfile',$t[FONT=Arial (Arabic)][FONT=Arial (Arabic)])");
$
[/FONT]
[/FONT]Result1 = mysql_query($insertSQL, $image) or die(mysql_error[FONT=Arial (Arabic)][FONT=Arial (Arabic)]());
}
[/FONT]
[/FONT]else[FONT=Arial (Arabic)][FONT=Arial (Arabic)] {
[/FONT]
[/FONT]print[FONT=Arial (Arabic)][FONT=Arial (Arabic)] "ارسال عکس شما با خطا مواجه شد\[/FONT][/FONT]n[FONT=Arial (Arabic)][FONT=Arial (Arabic)]";
[/FONT]
[/FONT]print_r($_FILES[FONT=Arial (Arabic)][FONT=Arial (Arabic)]);
}
[/FONT]
[/FONT]print "</pre[FONT=Arial (Arabic)][FONT=Arial (Arabic)]>";
?>
[/FONT]
[/FONT][FONT=Arial (Arabic)][FONT=Arial (Arabic)][FONT=Arial (Arabic)]این هم خطاش[/FONT][/FONT][/FONT]://C:/wamp/www/images/You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
البته عکس رو توی پوشه image میریزه ولی در عین حال خطا هم میده
سوالی دیگه ای هم که داشتم اینه:
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$
t=$_POST['select'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))

میشه درباره این قسمت توضیح بدید منظور از tmp_nameوname چیه؟
[/FONT][/FONT]
 

fatemeh_d

عضو جدید
جاوا اسکریپت

جاوا اسکریپت

سلام
من می خوام کدی را با جاوا اسکریپت بنویسم که طی اون داده هایی از پایگاه داده خوانده بشن و نمایش داده بشن و هر کدوم از اونا یه لینک باشن که وقتی روی اون کلیک میشه بره صفحه بعد، و در صفحه بعد بدونیم که روی کدومشون کلیک شده یعنی وقتی کلیک انجام میشه فیلد مربوط به کلید جدول در پایگاه داده به صفحه بعد ارسال بشه. لطفا کمکم کنید. متشکرم:wallbash:
 

Next

عضو جدید
فقط تند بخونید....

فقط تند بخونید....

با دروود ..

منظور تان کدی است که در سمت سرور اجرا شود ...؟!
.
Ajax بلدید ... این جوری خیلی راحته با یه زبانی مثل ASP یا PHP اطلاعات و از بانک استخراج می کنی بعد به صورت XML می فرستی سمت کاربر ..
در سمت کاربر اطلاعات و دریافت می کنی واونوقت هر بلایی بخوای سر اطلاعات در می اری ...
به همین راحتی یه کم سخته ...
می بینمت
با سپاس...
 

fatemeh_d

عضو جدید
با سلام و تشكر
راستش منظور من اين قدر پيچيده نبود از db داده هامو كشيدم بيرون و آنها هر كدوم يه لينك هستند و وقتي روشون كليك شه، كاربر به صفحه بعد منتقل مي شه منتها توي صفحه بعد... بذارين واضح تر بگم:
ببينين من از db نام، نام خانوادگي و id شهدا را استخراج مي كنم و آنها را به صورت لينك نمايش مي دهم كاربر مي تونه هر كدوم از آنها را انتخاب كنه، در اين صورت به صفحه اي منتقل مي شه كه اطلاعات كامل آن شهيد نمايش داده ميشه، خوب!
مشكل من اينه كه توي صفحه بعد چه جوري بفهمم كه روي اسم كدوم شهيد كليك شده بوده؟ :question:
اگه لازمه كدش را براتون بذارم
ممنون
 

Next

عضو جدید
ابا دروود ..
وقتی قراره هر لینکی به یک صفحه جدا راه داشته باشه... دیگه مشکلی نیست ...با دونستن صفحه شما می دونید که کاربر روی چه لینکی کلیک کرده...
اگه کاربر مثلا لینک شماره ۳ رو کلیک کنه...خو ب چی میشه ... به صفحه شماره ۳ می اد ... این طور نیست...
اگه فکر می کنید طور دیگه ایه باز هم بگید ...

با سپاس
 

متالیک

عضو جدید
کاربر ممتاز
این خط:

کد:
$insertSQL = sprintf("INSERT INTO picture (address_p,type) VALUES ('$uploadfile',$t)");

باید به این خط تبدیل بشه:

کد:
$insertSQL = "INSERT INTO picture (address_p,type) VALUES ('$uploadfile',$t)";
 

متالیک

عضو جدید
کاربر ممتاز
سوالی دیگه ای هم که داشتم اینه:
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$
t=$_POST['select'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))

میشه درباره این قسمت توضیح بدید منظور از tmp_nameوname چیه؟

name نام اصلی فایل آپلود شده است.
tmp_name وقتی فایل آپلود می شه نامش تغییر می کنه و با یک نام tmp در پوشه ی موقت tmp ذخیره می شه.
 

farzaneh2008

عضو جدید
متشکرم واسه جوابهاتون
شما تابع تبدیل تاریخ میلادی به شمسی رو به زبان php ندارید ؟
 

fatemeh_d

عضو جدید
با سلام و تشکر
ما به ازاي هر لينک يه صفحه نداريم همه لينکها به يه صفحه ميرن، منتها به ازاي هر لينک بايد محتويات اون صفحه متفاوت باشه :w20:
يعني وقتي روي مثلا "شهيد ...." کليک شد، توي صفحه بعد (صفحه X) اطلاعات اون شهيد را از db استخراج کرده و ببينيم و اگه back کرديم و شهيد ديگه اي را انتخاب کرديم به همون صفحه X منتقل شيم ولي اين بار اطلاعات اين يکي شهيد از db استخراج شه و اونو ببينيم.
ممنونم
 

Next

عضو جدید
1 ساعت بعد

1 ساعت بعد

سلام
شاید از طریق این راه حل به تونی مفهوم کلی رو بگیری ..ساد ه است ...در ضمن من هم تجربه چندانی ندارم ولی اگه بتونم کمک میکنم ..


<html>
<title>main.html</title>
</head>
<body>

<a href="main.asp?Num=1" >this is the link 1</a>
<br />
<a href="main.asp?Num=2" >this is the link 2</a>
<br />
<a href="main.asp?Num=3" >this is the link 3</a>
<br />
<a href="main.asp?Num=4" >this is the link 4</a>
<br />
<a href="main.asp?Num=5" >this is the link 5</a>
<br />
<a href="main.asp?Num=6" >this is the link 6</a>

</body>
</html>

این فایل یه صفحه html به نام main است که توش چند تا لینک داره ... که هر لینکه یه صفحه رو صدا میکنه ...اما هر لینک یک مقدار برای صفحه main.asp میفرسته .
.
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
dim num
num=request("Num")
response.write("you click the link "+num)
%>
این کد یک صفحه asp (اگه داری asp) کار میکنی ....این صفحه وقتی که فراخونی میشه یه مقدار میگیره و توی متغیره num میریزه .... که من فکر میکنم بهتره id شهدا باشه و بعدش دیگه نوبت شماست که می تونید با یه ستور مناسب توی db خودتون دنبال id بگردید ...اطلاعات رو در بیارید وبعد نشون بدید ...

در ضمن این دوتا فایل رو توی ئوشه قرار بده ..این بشتر جنبه راهنمایی داره و..


Mr Next
 

Next

عضو جدید
می خوام بدونم این کار درسته ..
شما که تجربتون بیشتر به ما کمک کن...
شما راه دیگه ای دارید...
با سپاس ...کیوان جان
 

farzaneh2008

عضو جدید
و این داستان ادامه دارد...

و این داستان ادامه دارد...

سلام به خاطر جوابهاتون و برنامه تبدیل کننده تاریخ میلادی به شمسی ممنون
حالا سوال های جدیدم:D
چه طوری باید یک صفحه رو توی سایت دانلود کرد منظورم یک صفحه از خود سایت مثلا به جای اینکه صفحه ها رو ازقبل بزاری هر صفحه ای که خواستی بتونی آپلودش کنی http://www.www.www.iran-eng.ir/C:\Documents and Settings\daneshjo\My Documents\My Pictures\1.jpg
این یک قسمت از صفحه اصلی سایت هر قسمت واسه خودش باز یک زیر گروه داره
مثلا لینک ارتباطات این طوری
http://www.www.www.iran-eng.ir/C:\Documents and Settings\daneshjo\My Documents\My Pictures\2.jpg
حالا من می خوام به جای اینکه خودم بیام از قبل این طوری لینکها رو اضافه کنم هر موقع که لازم داشتم صفحه رو upload کنم لینکشم راحت به زیر مجموعش اضافه کنم
با تشکر
 

متالیک

عضو جدید
کاربر ممتاز
سلام به خاطر جوابهاتون و برنامه تبدیل کننده تاریخ میلادی به شمسی ممنون
حالا سوال های جدیدم:D
چه طوری باید یک صفحه رو توی سایت دانلود کرد منظورم یک صفحه از خود سایت مثلا به جای اینکه صفحه ها رو ازقبل بزاری هر صفحه ای که خواستی بتونی آپلودش کنی http://www.www.www.iran-eng.ir/C:%5CDocuments%20and%20Settings%5Cdaneshjo%5CMy%20Documents%5CMy%20Pictures%5C1.jpg
این یک قسمت از صفحه اصلی سایت هر قسمت واسه خودش باز یک زیر گروه داره
مثلا لینک ارتباطات این طوری
http://www.www.www.iran-eng.ir/C:%5CDocuments%20and%20Settings%5Cdaneshjo%5CMy%20Documents%5CMy%20Pictures%5C2.jpg
حالا من می خوام به جای اینکه خودم بیام از قبل این طوری لینکها رو اضافه کنم هر موقع که لازم داشتم صفحه رو upload کنم لینکشم راحت به زیر مجموعش اضافه کنم
با تشکر

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

متالیک

عضو جدید
کاربر ممتاز
حالا من این صفحه ها این لینک ها رو گذاشتم ولی استادمون گفت نه باید همه زیر مجموعه ها آپلود کنی یعنی طوری نباشه که از قبل وجود داشته باشه هر موقع که خواستی خودت بتونی اضافه کنی
حالا من 2 تا سوال1. چه طوری باید لینکش رو از قسمت مدیریت به این قسمت اضافه کنم
2.چه طوری باید صفحه رو آپلود کرد که هر کدوم سر جای خودش بره

حداقل دستور زبان را در نوشتن رعایت کنید!
سه چهار مرتبه خوندم ولی واقعا چیزی نفهمیدم.
لطفا توضیح بیشتر به همراه رعایت دستور زبان...
 

fatemeh_d

عضو جدید
سلام
واقعا متشکرم
مشکل من حل شد:victory:
منتها من برنامه ام به زبان php بود که يه خورده دستوراتش با asp فرق داشت
باز هم ممنونم
 

fatemeh_d

عضو جدید
سلام
ممنون، ممنون، باز هم ممنون
من ممکنه باز هم به مشکل بربخورم، اميدوارم منو از راهنماييتون محروم نکنين
 
  • Like
واکنش ها: Next

hafa361

عضو جدید
همین الان کمکم کنید

همین الان کمکم کنید

سلام دوستان

1- من با phpmyadmin یه پایگاه داده ساختم که وتوی این پایگاه داده دو تا جدول ساختم .
برای این که بتونم این پایگاه داده و جدول هارو بریزم مثلا روی سی دی چه طوری باید این کارو بکنم.
2- من با php یه برنامه نوشتم و توی این برنامه دستوری با php نوشتم که اتصال به پایگاه داده رو برقرار می کنه و این دستور نام کامپیوتر میزبان رو ازم می گیره . حالا می خوام روی کامپیوتر دیگه ای برنامه ام رو اجرا کنم. در مورد نام کامپیوتر میزبان چه کار باید انجام بدم.
http://www.www.www.iran-eng.ir/images/statusicon/user_online.gif http://www.www.www.iran-eng.ir/images/buttons/reputation.gif http://www.www.www.iran-eng.ir/images/buttons/report.gif http://www.www.www.iran-eng.ir/images/misc/progress.gif
 

متالیک

عضو جدید
کاربر ممتاز
سلام دوستان

1- من با phpmyadmin یه پایگاه داده ساختم که وتوی این پایگاه داده دو تا جدول ساختم .
برای این که بتونم این پایگاه داده و جدول هارو بریزم مثلا روی سی دی چه طوری باید این کارو بکنم.
2- من با php یه برنامه نوشتم و توی این برنامه دستوری با php نوشتم که اتصال به پایگاه داده رو برقرار می کنه و این دستور نام کامپیوتر میزبان رو ازم می گیره . حالا می خوام روی کامپیوتر دیگه ای برنامه ام رو اجرا کنم. در مورد نام کامپیوتر میزبان چه کار باید انجام بدم.
http://www.www.www.iran-eng.ir/images/statusicon/user_online.gif http://www.www.www.iran-eng.ir/images/buttons/reputation.gif http://www.www.www.iran-eng.ir/images/buttons/report.gif http://www.www.www.iran-eng.ir/images/misc/progress.gif

سلام دوست عزیز
1. باید پایگاه داده و یا جدول های مورد نیاز رو Export کنید و فایل اکسپورت شده رو روی سی دی بریزید. بعد از انتقال روی یک کامپیوتر دیگر باید فایل رو Import کنید.
2. برای اتصال به پایگاه داده نیازی به نام کامپیوتر نیست، نیاز به موارد زیر است:
MySQL Host
MySQL Username
MySQL Password
MySQL Database Name
وقتی برنامه رو روی یه کامپیوتر دیگه ای می برید باید موارد بالا رو مجددا تنظیم مطابق با سیستم جدید تغییر بدید.
موفق باشید
 

farzaneh2008

عضو جدید
امیدوارم این دفعه متوجه بشید
به خاطر قبلی هم ببخشید دیروز حالم خوب نبود
 

پیوست ها

  • 2.doc
    52 کیلوبایت · بازدیدها: 0

Similar threads

بالا