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

درمورد متغیر ی که بدون مقدار باشد

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
سلام
من یک اسکریپت دارم می نویسم نمیدونم (برای رای گیری)
4 تا دکمه رادیویی توی صفحه اصلی است که به صفحه پی اچ پی متغیرشون رو ارسال می کنند ولی خب مسلما باید یکیش انتخاب بشه دیگه وقتی یکیش انتخاب میشه 3 تا دیگه هیچ مقداری رو به متغیر (ارسال به یک آرایه) ارسال نمیکنند و برنامه ارور میده که 3 تا متغیر دیگه هیچ مقداری رو ندارند :wacko:
من کدش رو میگذارم فقط بهم نخندیدا من تازه دارم پی اچ پی یاد می گیرم .
لطفا کمک کنید (نمیخوام یک برنامه بنویسم دارم فقط تمرین می کنم:) )
PHP:
<?php
	$a=array(1=>$_GET['R1'],2=>$_GET['R2'],3=>$_GET['R3'],4=>$_GET['R4']);			
function dbset()
{
	$link=mysql_connect('localhost','root',''); 
	if(!$link){
	die ("database cannot find".mysql_error()); 
	exit;}
	mysql_select_db('vot',$link);
	$query="CREATE TABLE poll(id int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, best int ,good int ,bad int ,verybad int)";
    mysql_query($query);
}
dbset();
function setdata()
{
	Global $a;
if (!($a[1]||$a[2]||$a[3]||$a[4])){	
 $data="insert to poll (id , best , good , bad , very bad)
 values('1','".$a[1]."','".$a[2]."','".$a[3]."','".$a[4]."')";
 $data=trim($data);
 exit;
}
if (mysql_query($data))
	{
		echo "your data added thank you";
		exit;
	}
	else {
		echo "Error :"."  ".mysql_error();
	}
}
?>
اینم کد اچ تی املش :
HTML:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">
<title>New Page 1</title>
</head>

<body>
<form method="Get" action="poll.php">
		
<table border="0" width="125" style="border: 2px solid #0066CC; padding: 2px">
	<tr>
		<td dir="rtl" align="center" valign="top" style="border-bottom: 2px solid #0066CC; padding: 2px" bgcolor="#0066CC">
		<span style="padding:2px;text-indent:3px; font-weight:700"dir=rtl>&nbsp;به 
		نظر شما طراحی <span lang="en-us">&nbsp; </span>این سایت چگونه است</span></td>
	</tr>
	<tr>
		<td dir="rtl" align="right" valign="top">
		<table border="0" width="120" cellspacing="3" cellpadding="2">
			<tr>
				<td><input type="radio" value="1" name="R1" checked> عالی</td>
			</tr>
			<tr>
				<td><input type="radio" value="2" name="R2"> خوب</td>
			</tr>
			<tr>
				<td><input type="radio" value="3" name="R3">&nbsp; بد</td>
			</tr>
			<tr>
				<td><input type="radio" value="4" name="R4">&nbsp; افتضاح</td>
			</tr>
		</table>
		</td>
	</tr>
	<tr>
		<td dir="rtl" align="right" valign="top">		
			<p>
			<input type="submit" value="Vote" name="B1" style="font-family: Verdana; font-size: 8pt; border: 1px dotted #FFCC99; padding: 1px; background-color: #0099CC; float:left"></p>
		
		</td>
	</tr>
</table>
</form>
</body>

</html>
در مورد کد اچ تی ام ال هم نمیدونم چرا اگه اسم دکمه های رادیویی یکی نباشه همشون انتخاب میشن
ممنون میشم راهنمایی فرمایید
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
یه سوتی گنده دادی!!!
اسم اون رادیو باتن ها باید یکی باشه نه 4 تا
مقدارشون فرق میکنه ولی اسمشون نه تگ name رو ادیت کن و هر 4 تا رو مثل هم بذار
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از sama_sally :
یه سوتی گنده دادی!!!
اسم اون رادیو باتن ها باید یکی باشه نه 4 تا
مقدارشون فرق میکنه ولی اسمشون نه تگ name رو ادیت کن و هر 4 تا رو مثل هم بذار
تأیید وشه !!! :D

ضمناً برای جلوگیری از این ارور های بیخودی میشه از یک @ قبل از اون عملیات قرار داد تا ارور رو چاپ نکنه ! :D
(برای این مورد نمیگما، جاهای دیگه)
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
دستت درد نکنه
مقدار رادیو باتم ها توی متغیر قرار می گیره ؟
در مورد بانک اطلاعاتی میتونم به فیلد هام مقدار اولیه 0 رو بدم که این هی ارور نده که مقدار متغیر بر نگشته و متغیر تعریف نشده است ؟

بازم ممنونم
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
Parsa_361 دست شما هم درد نکنه این @ که گفتی توی این کد کاری نمیتونه وکنه؟
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از joliocesar :
دستت درد نکنه
مقدار رادیو باتم ها توی متغیر قرار می گیره ؟
در مورد بانک اطلاعاتی میتونم به فیلد هام مقدار اولیه 0 رو بدم که این هی ارور نده که مقدار متغیر بر نگشته و متغیر تعریف نشده است ؟

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




به نقل از joliocesar :
Parsa_361 دست شما هم درد نکنه این @ که گفتی توی این کد کاری نمیتونه وکنه؟
تو اسکریپتی که اینجا گذاشتی نمیخواد استفاده کنی، اگه چیزی رو که سالار گفت عمل کنی مشکلت حله !
ولی برای جاهایی که تو فرمشو فیلد اختیاری میزارن کاربرد داره
مثلاً برای اولین بار که میخوان مقدار متغیر رو بررسی کنند یه @ میزارن اولش که اگه متغیر تعریف نشده بود ارورش رو چاپ نکنه !
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
وقتی اسمشون یکی باشه فقط به متغیر با اون اسم با مقداری که از لیست انتخاب میکنی فرستاده میشه
در زمن برای جلوگیری از ارور های بیخود که بیشتر این ارور ها توی localhost ویندوز نمایش داده میشن اینو اول فایلت بذار:
PHP:
error_reporting(E_ALL ^ E_NOTICE);
این کار باعث میشه که همه ارور های بجا و اصلی رو نشون بده و از نشون دادن ارور های الکی مثل undefined variable ... جلوگیری میکنه...
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
دستتون درد نکنه
من یه کارایی کردم و مقدار متغیر توی بانک اطلاعاتی میره ولی به همه فیلد ها مقدار 0 داده میشه

HTML:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">
<title>New Page 1</title>
</head>

<body>
<form method="POST" action="poll.php">
		
<table border="0" width="125" style="border: 2px solid #0066CC; padding: 2px">
	<tr>
		<td dir="rtl" align="center" valign="top" style="border-bottom: 2px solid #0066CC; padding: 2px" bgcolor="#0066CC">
		<span style="padding:2px;text-indent:3px; font-weight:700"dir=rtl>&nbsp;به 
		نظر شما طراحی <span lang="en-us">&nbsp; </span>این سایت چگونه است</span></td>
	</tr>
	<tr>
		<td dir="rtl" align="right" valign="top">
		<table border="0" width="120" cellspacing="3" cellpadding="2">
			<tr>
				<td><input type="radio" value="1" name="R1" checked> عالی</td>
			</tr>
			<tr>
				<td><input type="radio" value="2" name="R1"> خوب</td>
			</tr>
			<tr>
				<td><input type="radio" value="3" name="R1">&nbsp; بد</td>
			</tr>
			<tr>
				<td><input type="radio" value="4" name="R1">&nbsp; افتضاح</td>
			</tr>
		</table>
		</td>
	</tr>
	<tr>
		<td dir="rtl" align="right" valign="top">		
			<p>
			<input type="submit" value="Vote" name="B1" style="font-family: Verdana; font-size: 8pt; border: 1px dotted #FFCC99; padding: 1px; background-color: #0099CC; float:left"></p>
		
		</td>
	</tr>
</table>
</form>
</body>

</html>

اینم کد پی اچ پی
PHP:
<?php
error_reporting(E_ALL ^ E_NOTICE);  
$table='poll';
function dbset()
{
	global $table;
	@$link=mysql_connect('localhost','root',''); 
	if(!$link){
	die ("database cannot find".mysql_error()); 
	exit;}
	mysql_select_db('ffs',$link);
	$query="CREATE TABLE $table(id int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, best int ,good int  ,bad int  ,verybad int )";
    if(mysql_query($query))
    {
    	die('db unable'.mysql_error());
    }
}
dbset();
function a()
{
	$a='$_POST["R1"]';
	// $a=='1'||$a=='2'||$a=='3'||$a=='4';
	if ($a==1){
    $z=1;
 	$b=0;
 	$c=0;
 	$d=0;
 	exit;
	}else if ($a==2){
 	$z=0;
 	$b=1;
 	$c=0;
 	$d=0;
 	exit;
 	}
 	else if ($a==3){
 	$z=0;
 	$b=0;
 	$c=1;
 	$d=0;
 	exit;
 	}	
 	else if ($a==4){
 	$z=0;
 	$b=0;
 	$c=0;
 	$d=1;
 	exit;
 	}
}
a();
function setdata()
{
	global $table;
	global $z;
	global $b;
	global $c;
	global $d;
	$data="INSERT into $table
                         (id ,best,good,bad,verybad)
                          values
                         ('.1++.','".$z."','".$b."','".$c."','".$d."')";
	$data=trim($data);
	if (mysql_query($data))
	{
		echo "your data added thank you";
		exit;
	}
	else {
		echo "Error :"."  ".mysql_error();
	}
}
setdata();
?>
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
یه سوالی دارم
چرا اینقدر شلوغش کردی؟
خیلی ساده تر میتونستی این کارو بکنی!
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
خب راستش همینطوری به فکرم رسید
ولی این کار نمیکنه
نمیدونم مشکلش چیه؟
یکمک بکن سالار جان من یاد بگیرم اینو بنویسم
الان مشکلش کجاشه؟
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
ببین الان یه کمی فکر کن روش
ببین چطوری میتونی با ساده ترین روش ذخیره کنی
ببین تو 4 تا ستون برای جوابا در نظر گرفتی در صورتی که میتونی یه ستون بذاری و مقادیرشون از 1 تا 4 متغیر بذاری
در ضمن
چرا هر بار یه تیبل میسازی؟
CREATE TABLE
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
ازت ممنونم

راست میگیا من الان که فکر میکنم میبینم 1 عدد فیلد هم کارو راه میندازه
از اون ساخت دوباره جدولم ممنونم خودم راستش اصلا بهش فکر نکردم که اون کد هر دفعه داره اجرا میشه
من میرم تغییرات میدم ببینم چی میشه
سالار خان بازم دستتد رد نکنه فکر کنم کم کم دارم توی پی اچ پی راه میفتم البته با کمک شما
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
به نقل از sama_sally :
ببین الان یه کمی فکر کن روش
ببین چطوری میتونی با ساده ترین روش ذخیره کنی
ببین تو 4 تا ستون برای جوابا در نظر گرفتی در صورتی که میتونی یه ستون بذاری و مقادیرشون از 1 تا 4 متغیر بذاری
در ضمن
چرا هر بار یه تیبل میسازی؟
CREATE TABLE

ایول من این چیزایی که گفتی انجام دادم درست شد:D
خیلی حال کردم میرم بقیشو مینویسم
اگه مشکلی برخورد کردم بازم مزاحم میشم
بازم دستت درد نکنه
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
سلام
من تونستم تعداد رای های داده شده رو روی صفحه نمایش بدم ولی به اون فیلد هایی که یکی از اعداد 1 تا 4 مربوط به 4 گزینه در اون قرار دارد نتونستم کاری کنم میخوام بفهمم که چند تا از فیلد ها مقدار 4 یا 2 یا مثلا 1 رو دارن ؟
خیلی ممنون
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
dیکی کمک کنه دیگه
سالار خان کجایی؟؟؟؟
من منتظرم
کلا می خوام بدونم چطوری روی اعداد و کلا چیزایی که توی دیتابیس قرار میگیرن محاسبه انجام بدم
 

Romain_Gary

Registered User
تاریخ عضویت
23 فوریه 2005
نوشته‌ها
1,801
لایک‌ها
6
سن
38
سوالم رو توی یک تاپیک جدید مطرح می کنم
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
ببین ساده میگم
بعد از اینکه با حلقه WHILE اطلاعات را گرفتی توش چک کن ببین کدومشون این مقدار هستند که میخواستی:: ببین این یه سکریپت ساده::
PHP:
<?php
//Make a connection to mysql 
//...

$sql = "SELECT * FROM `data`";
$result = mysql_query($sql);
while($list = mysql_fetch_array($result)){
          $vote  = $list[vote];
          $id = $list[id];
          if($vote == "2"){
                    echo"User with id: $id : Selected 2nd item...<br>";
          }
}
?>

در ضمن
این کارا وظیفه ی منه!!!
 
بالا