PDA

View Full Version : سوالات ساده و مفهومی



هزاره سوم
جمعه 25 مرداد 1392, 23:30 عصر
دوستان در این تاپیک میتونن سوالات ساده ای ک دارن (غیر تخصصی) مطرح کنن و تاپیک اضافه نزنن


اولیش خودم میپرسم :خجالت:
کد زیر دقیقا چه کار میکنه؟همه میگن اتصال به دیتابیس ...میخوام بدونم اتصال به کل دیتابیس یا یه جدول خاص؟
قسمت یوزر پسس رو چطور باید داشته باشیم یعنی یوزر پس تعریف کنیم؟ اسم سرور رو باید چی بزاریم(در حالت دیفالت لوکال هاست در حالت غیر دیفالت چی؟ )


mysql_connect ( " localhost " , " developer " , " Est1381 " )

engmmrj
شنبه 26 مرداد 1392, 00:57 صبح
دوستان در این تاپیک میتونن سوالات ساده ای ک دارن (غیر تخصصی) مطرح کنن و تاپیک اضافه نزنن


اولیش خودم میپرسم :خجالت:
کد زیر دقیقا چه کار میکنه؟همه میگن اتصال به دیتابیس ...میخوام بدونم اتصال به کل دیتابیس یا یه جدول خاص؟
قسمت یوزر پسس رو چطور باید داشته باشیم یعنی یوزر پس تعریف کنیم؟ اسم سرور رو باید چی بزاریم(در حالت دیفالت لوکال هاست در حالت غیر دیفالت چی؟ )


mysql_connect ( " localhost " , " developer " , " Est1381 " )

شما وقتی Mysql رو نصب می کنید به طور پیشفرض username root است و password نداره و localhost هم نام سرور است که می توانید username و password را تعویض کنید و در رابطه با Select Table باید با تابع mysql_select_db اینکارو انجام بدید .

parsboy
شنبه 26 مرداد 1392, 00:59 صبح
دوستان در این تاپیک میتونن سوالات ساده ای ک دارن (غیر تخصصی) مطرح کنن و تاپیک اضافه نزنن


اولیش خودم میپرسم :خجالت:
کد زیر دقیقا چه کار میکنه؟همه میگن اتصال به دیتابیس ...میخوام بدونم اتصال به کل دیتابیس یا یه جدول خاص؟
قسمت یوزر پسس رو چطور باید داشته باشیم یعنی یوزر پس تعریف کنیم؟ اسم سرور رو باید چی بزاریم(در حالت دیفالت لوکال هاست در حالت غیر دیفالت چی؟ )


mysql_connect ( " localhost " , " developer " , " Est1381 " )

شما برای اینکه بتونیدبه پایگاه داده دسترسی داشته باشید بایداون رو ویرایش کنید باید یک اتصال با پایگاه داده برقرارکنید
در PHP برای اینکار ازدستورConnect استفاده میکنیم. این دستور برای همین منظوربه کارمیره و دارای 3 پارامترهست:

mysql_connect ( servername , username , password ) ;
Server Name: نام سروری هست که ما میخواهیم به اون متصل بشیم و مقدارپیش فرض آن Localhost هست.
User:نام کاربری هست که به وسیله اون به سرور متصل میشید.
password: پسوردبرای اتصال به سرور راتعیین میکنه و مقدارپیش فرض " " هست.
موفق باشید.

tazeha
شنبه 26 مرداد 1392, 01:11 صبح
1-چرا قبل از تابع isset علامت ! قرار گرفته؟ اگه نباشه چی می شه ؟ و در کل اصلا چه کار می کنه؟


if( !strstr($website,"http://")
چرا بعضی وقت برای چاپ گاهی رشته ها رو در سمیکالن یا دبل کوتیشن قرار نمی دن؟!

مثلا:
echo $bazi;

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

parsboy
شنبه 26 مرداد 1392, 01:36 صبح
1-چرا قبل از تابع isset علامت ! قرار گرفته؟ اگه نباشه چی می شه ؟ و در کل اصلا چه کار می کنه؟


if( !strstr($website,"http://")
چرا بعضی وقت برای چاپ گاهی رشته ها رو در سمیکالن یا دبل کوتیشن قرار نمی دن؟!

مثلا:
echo $bazi;

بعضی از کدهای php چندین پرانتز تو در تو هست ، می خواستم بدونم کدوم پرانتز اول اجرا می شه؟
منظور از! علامت نقیض هست .
تقاوت " با ' رو بایک مثال عرض میکنم:

<?php
$str="test";
echo "$str";
//output =>test
echo '$str';
//output=>$str
?>

tazeha
شنبه 26 مرداد 1392, 08:35 صبح
<?php
$str="test";
echo "$str";
//output =>test
echo '$str';
//output=>$str
?>


ممنون این رو متوجه شدم ، اولی مقدار متغیر چاپ می شه و دومی خود متغیر چاپ می شه.
سوال من: چرا در بعضی مواقع برای چاپ متغیر از دو علامت بالا استفاده نمی کنند؟ echo $str;

کامروا
شنبه 26 مرداد 1392, 08:56 صبح
دو علامت " و ' زمانی استفاده میشن که بخوایم رشته ای [علاوه بر محتوای متغیر] را چاپ و یا نگهداری کنیم.

مثال زیر رو ببینید:


$name = 'ali';

echo $name; //Output=> ali

echo "Your name is $name"; //Output=> Your name is ali

echo 'Your name is ' . $name;//Output=> Your name is ali

میبینید که متغیر name$ حاوی یک مقدار است. حالا وقتی بخوایم محتوای اون متغیر رو یک متن چاپ کنیم میتونیم از " یا ' استفاده کنیم.
برای اینکه فقط محتوای یک متغیر رو چاپ کنیم، نیازی به نوشتن Single Quote و Double Quote نیست.

هزاره سوم
شنبه 26 مرداد 1392, 09:10 صبح
پس دستور connect به کل mysql سیستم مربوط میشه؟
پس باید اگه اینطور باشه یکی که داره رو چند تا پروژه کار میکنه توو همه پروژه ها این یوزر پس یکی هست؟
پس اگه توو یکی از پروژه ها یکی بتونه رمز این رو بدست بیاره به همه پروژه ها و کل mysql دسترسی پیدا میکنه؟؟؟
یه سوال دیگه
یکی از کاربرا گفتن ک موقع نصب این یوزر پس تعیین میشه ....بعد از نصب میشه این یوزر پس تغییر کنه؟
همه واسه بخش server میگن آدرس سرور رو میزاریم ...مثلا مثلا http://barnamenevis.org/ ??????

MMSHFE
شنبه 26 مرداد 1392, 09:21 صبح
وقتی روی localhost (سیستم خودتون) کار میکنید، این نام کاربری و رمز عبور برای همه پروژه ها یکیه مگه اینکه توی قسمت Privileges در phpMyAdmin یک کاربر جدا بسازین و به اون دیتابیس که میخواین وصلش کنید. اما وقتی آپلود میکنید، باید با نام کاربری و رمز عبوری که خودتون برای دیتابیس تعریف و بهش وصل میکنید، تغییرش بدین. آدرس سرور در اکثر موارد همون localhost هست و تغییری نمیکنه (بخصوص در سرورهای لینوکس) ولی نام کاربری و رمز عبور متغیره و برای هر دیتابیس، فرق میکنه. یعنی شما اگه یک نام کاربری و رمز عبور رو توی کنترل پانل هاستتون به دیتابیس خاصی وصل نکنید، وقتی با اون نام کاربری و رمز عبور به MySQL وصل میشین، نمیتونید با mysql_select_db دیتابیسی که بهش وصل نیست رو انتخاب کنید.

tazeha
شنبه 26 بهمن 1392, 19:53 عصر
معنی این علامت ها چیه؟

1- چرا در آرایه ی زیر دو تا نقطه (.) و (") استفاده شده. معنی اینها چیه؟


" . $cars[0] . "


<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

--------------------------------
2- چار Peter در از متغیر $age در [] قرار گرفته و همچنین 'و' معنی اینها چیه ؟


$age['Peter']


<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
----------------------------------
3- معنای as در حلقه ی زیر چیه ، البت جاهای دیگه هم as رو دیدم اما معنیش رو ندونستم. آیا این as با as که در حلقه ها به کار نرفته فرقی دارند؟


<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>

---------
4- معنای علامت تعجب (!) در حلقه ی زیر و دیگر جاهایی قبل از متغیر ها و توابع آورده می شود چیست؟

!feof


<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br>";
}
fclose($file);
?>
--------------------
5-در مثال زیر upload


echo "Upload: " . $_FILES["file"]["name"] . "<br>"; در سمیکالن قرار گرفته اما
$_FILES["file"]["name"] در سمیکالن قرار نگرفته؟


<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}

MMSHFE
یک شنبه 27 بهمن 1392, 09:38 صبح
1- عملگر . (نقطه) در PHP برای الحاق (چسباندن) رشته ها به هم به کار میره و رشته ها داخل کوتیشن تک یا جفت قرار میگیرن.
2- آرایه ها در PHP با علامت [] مشخص میشن و داخل کروشه ها، اندیس موردنظر رو مینویسیم که در PHP اندیس خونه های آرایه میتونه عدد یا رشته باشه و همونطور که در مورد 1 گفتم، رشته ها با کوتیشن تک ' یا جفت " محصور میشن.
3- ساختار حلقه foreach به این شکله که ابتدا اسم آرایه و بعد، کلمه کلیدی as و بعد، اسم موقت متغیرها یا ساختار «اسم موقت متغیر <= اسم موقت اندیس متغیر» نوشته میشه و هربار، یک مقدار از آرایه رو استخراج میکنه و توی متغیر موقت میگذاره و اگه از ساختار دوم استفاده کرده باشیم (مثل مثالی که گذاشتین)، اندیس اون عنصر هم توی متغیر موردنظر قرار میگیره و دستورات حلقه روی این مقادیر اجرا میشن. جاهای دیگه که as رو دیدین، کاربردش فرق داره. مثلاً توی کوئریهای دیتابیس برای دادن اسم مستعار به جدول، فیلد و... کاربرد داره.
4- عملگر ! به معنای Not هست و عبارت منطقی بعد از خودش رو نقیض میکنه (True به False و False به True تبدیل میشه).
5- سمی کالن ; برای مشخص کردن پایان دستورات به کار میره نه اینکه هرجا هرچی نوشتیم آخرش سمی کالن بگذاریم. بنابراین وقتی دستور کامل شد، برای مشخص شدن پایانش و شروع دستور جدید، باید ; رو بنویسیم.