برگزیده های پرشین تولز

سوالات ابتدايي در زمينه php

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
هرچی فکر کردم نفهمیدم دستور return توی این اسکریپت چه فایده داره.(همراه توضیحاتش می زارم).

It's very useful on websites to have all your code in functions, then use "return" instead of die. For example:​

PHP:
function log_in() {
   if(!isset($_POST[password])) {
       print "You must supply a password.";
       return;
   }

// rest of the login function here
}

This way it exits out of the function, gives an error message, but doesn't keep the website from finishing loading.​
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
* die خودش کانکشن های عادی mysql رو میبنده.
* اگه متغیر password اصلاً ایجاد نشده باشه return از تابع خارج میشه. مثل Exit Sub در VB. همیشه لازم نیست تابع مقداری رو برگردونه.
 

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
* die خودش کانکشن های عادی mysql رو میبنده.
* اگه متغیر password اصلاً ایجاد نشده باشه return از تابع خارج میشه. مثل Exit Sub در VB. همیشه لازم نیست تابع مقداری رو برگردونه.
ممنون firebird جان.فکر کنم فهمیدم.

چند تا سوال دیگه:D
من اگه بخوام توی سایت php.net مثلا دنبال کاربردهای دستور var بگردم باید چی کار کنم؟
یا مثلا الان می خواستم توی سایت mysql.com دنبال اون دستور mysql که یه سطر از جدول رو پاک می کنه بگردم ولی نتیجه های جستجو اون چیزی که می خواستم نبود.
یکی از دوستان گفته بودن که با این دستور می شه یه سطر رو پاک کرد:
PHP:
$sql="DELETE * from $Tablename WHERE (id='$id')";
	mysql_query	($sql);
این دستور درسته؟
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
به نقل از Annapaquin :
یکی از دوستان گفته بودن که با این دستور می شه یه سطر رو پاک کرد:
PHP:
$sql="DELETE * from $Tablename WHERE (id='$id')";
	mysql_query	($sql);
این دستور درسته؟

سلام
فک کنم این یه کمی مشکل داره
شکل کلی دستور این شکلیه:
PHP:
delete from <tablename/list> where <condition>
// مثال :
$sql="DELETE from Tablename WHERE id='$id'";
 

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
بازم نشد:(
نوشت"can not delete the post... ":(
(مقدار ped که برابر delete و مقدار ID برابر 181 می شه.)

PHP:
<?php
echo"
<html><body>
";
$id=$_GET['id'];
$ped=$_GET['ped'];

$Host='localhost';
$User='Annapaquin';
$Password='...';
$DBname='vahidphp';
$Tablename='posts';
$link=mysql_connect($Host,$User,$Password);

//--Delete The Post--//
function delete ($id) {
	global $Tablename;
	$T='the post succesfully deleted...';
	$F='can not delete the post...';
	$sql="DELETE from $Tablename WHERE id='$id'";
	if (mysql_query($sql)) {
		return $T;
	}else{
		return $F;
	}
}


if ($ped=='delete'){
	$R=delete($id);
	echo"$R";
}

mysql_close($link);
echo"
</body></html>
";
?>
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
$id رو تو تابع بصورت global تعریف کن ببین درست نمیشه ؟

یک بارم $id رو بدون کتیشن بکار ببر (id=$id) ببین چی میشه ؟
 

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
$id رو تو تابع بصورت global تعریف کن ببین درست نمیشه ؟
یه بار هم بدون تابع امتحان کردم درست نشد
یک بارم $id رو بدون کتیشن بکار ببر (id=$id) ببین چی میشه ؟
نه با اینم نمی شه.اولین بار بدون کوتیشن نوشته بودم

:(
 

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
مثل اینکه زیاد هم ابتدایی نیست.:(
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
والا ما که همینطوری پاک می کنیم نمی دونم چرا مال شما پاک نمیشه
39.gif

اینو امتحان کن :
PHP:
mysql_query("delete from posts where id=$id");
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
کانکشن بانک اطلاعاتی رو چک کردی ؟؟
و اینکه آیا id درست ارسال میشه یا نه ؟
 

vahidrk

کاربر قدیمی پرشین تولز
تاریخ عضویت
2 جولای 2005
نوشته‌ها
3,511
لایک‌ها
561
سن
36
محل سکونت
Home
وای...درست شد.
24.gif

اینو نوشتم:

PHP:
$query="DELETE from $Tablename WHERE id=$id";
$result=mysql_db_query($DBname,$query,$link);
یه سوال:
اگه ما به جای اون دستور بالا بنویسیم:

PHP:
$query="DELETE from $Tablename WHERE id=$id";
$result=mysql_query($query);

چه فرقی می کنه؟توی دستور دوم از کجا می فهمه که به کدوم دیتا بیس باید وصل بشه؟
 

hichkas021

Registered User
تاریخ عضویت
7 می 2006
نوشته‌ها
190
لایک‌ها
0
محل سکونت
No Where
به نقل از Annapaquin :
وای...درست شد.
24.gif

یه سوال:
اگه ما به جای اون دستور بالا بنویسیم:

PHP:
$query="DELETE from $Tablename WHERE id=$id";
$result=mysql_query($query);

چه فرقی می کنه؟توی دستور دوم از کجا می فهمه که به کدوم دیتا بیس باید وصل بشه؟

از نظر کارایی با هم دیگه هیچ فرقی ندارن. ولی استفاده های مختلف دارن.
توی mysql_db_query باید حتما دیتابیس و درخواستتو مشخص کنی اما توی mysql_query نیازی به مشخص کردن دیتا بیس نیست و خودش درخواستو به آخرین دیتا بیس باز شده می فرسته. و در صورتی هم که اصلا به دیتا بیس وصل نباشه خودش یه کانکشن با یوزر و پس پیش فرض ( توی php.ini ) می سازه و سعی می کنه که ارتباط برقرار کنه.

البته توی هر دوی این ها می شه از link identifire هم استفاده کرد که در اون صورت mysql_query به آخرین دیتابیس باز شده از اون لینک ارسال می شه.
 
بالا