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

مشکل توی کار با فرمها!

mahanq&a

Registered User
تاریخ عضویت
22 اکتبر 2005
نوشته‌ها
183
لایک‌ها
2
محل سکونت
گیلان
دوستان من تو یه فایل به اسم input.phpاین رو دارم:
PHP:
<?php
if($submit=="Go"){
    echo("You wrote ".$you_wrote);
    exit;
} 
?>
<!-- The Frontend HTML form --> 
<form action="<?php echo $PHP_SELF ?>"  
method="POST" >
    <p>Input a word <input type="text" size="20"  
name="you_wrote">
    <input type="submit" name="submit"  
value="Go"></p>
</form>
<?php
$a="$you_wrote";
$b=$a/2;
$c=gettype($b);
if($c=="integer")
{
echo"$a is even.";
}else{
echo"$a is odd.";
}
?>
و این پیغام خطا رو هم میده:
PHP:
Forbidden
You don't have permission to access /<br /><b>Notice</b>: Undefined variable: PHP_SELF in <b>c:/program files/easyphp1-8/www/input.php</b> on line <b>9</b><br /> on this server. 
Apache/1.3.33 Server at localhost Port 80
اگه کسی بلده بگه که چطوری میتونم از توی فرم عدد رو وارد کنم و اسکریپتِ زوج یا فرد بودن عدد وارد عمل شه و جواب به نمایش درآد.
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
این کد صحیح هست ! (من تستش کردم)
فقط اون دستور exit رو باید از اون بالا برداری !
این کد هم فقط رو جایی کار میکنه که رجیستر گلوبالش on باشه !!

ضمناً اگه بدت نیاد خیلی بد کد مینویسی :eek:
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
کد تمیز به این میگن :
PHP:
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="POST">
	<p>
		Input a word <input type="text" size="20" name="you_wrote">
		<input type="submit" name="submit" value="Go">
	</p>
</form>
<?php
if (@$_POST['you_wrote'])
{
	print ("<p>You wrote " . $you_wrote . "</p>\n");
	$a = $you_wrote / 2;
	$b = gettype($a);
	if ($b == "integer")
		print "<p>$you_wrote is even.</p>\n";
	else
		print "<p>$you_wrote is odd.</p>\n";
}
?>

بهتر نشد ؟
:D
 

Moein

Registered User
تاریخ عضویت
2 مارس 2004
نوشته‌ها
1,150
لایک‌ها
64
محل سکونت
تهران - شهرک غرب
هر دو تا کد ایراد داره چون اول باید چک کنی integer هست یا نه بعد نصفش کنی و گرنه حروف تقسیم بر 2 می‌شه صفر که integer هست.
 

mahanq&a

Registered User
تاریخ عضویت
22 اکتبر 2005
نوشته‌ها
183
لایک‌ها
2
محل سکونت
گیلان
مرتضی جان از راهنماییت ممنونم.
در مورد بد کد نوشتن هم باید بگم ما تازه کاریم داداش.
 

shankimout

Registered User
تاریخ عضویت
17 می 2004
نوشته‌ها
1,524
لایک‌ها
3
محل سکونت
ساری . . . . . . . . . . . . . . Permanently Bann
حالا یچیزی هم ما بگیم . هیچوقت از register global استفاده نکن . چون برات دردسر بزرگی میشه و باعث میشه که هرکس بتونه متغیر هاتو مقدار دهی کنه .
 

Parsa_361

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