سوال در مورد ارتباط php و html

DaDaDooDoo

کاربر VIP
سلام دوستان ، من به تازگی دارم php رو یاد می گیرم . یه مثال آموزشی ساده دیدم اما نمی تونم پیادش کنم .

توی این مثال مقدار یک تکست باکس از صفحه a به صفحه b پاس داده می شه .

به این صورت :

صفحه a که کد php نداره :

PHP:
<body>

<form action="b.php" method="get">
<input type="text" name="user">
<input type="submit" name="btn">
</form>

</body>

صفحه b :

PHP:
<body>
<?php
print "$user";
?>
</body>

اما ارور می ده که من user رو نمی شناسه :

PHP:
Notice: Undefined variable: user in C:\wamp\www\b.php on line 10

مشکل از کجاست ؟؟؟

ممنون .
 

sadoogh

Member
دوست عزیز سلام من کدهای شما رو در دو فایل php که گفتید تست کردم درست جواب داد شما در چه محیطی تست میکنید؟؟؟؟؟؟؟؟
من برنامه سرور محلی Appserver رو نصب دارم و اونجا اجرا کردم و جواب داد...
 

sharktech

کاربر فعال
کد اصلاح شده صفحه b :

PHP:
<?php
echo $_GET['user'];
?>
دوست عزیز سلام من کدهای شما رو در دو فایل php که گفتید تست کردم درست جواب داد شما در چه محیطی تست میکنید؟؟؟؟؟؟؟؟
من برنامه سرور محلی Appserver رو نصب دارم و اونجا اجرا کردم و جواب داد...
شما مطمئنین درست تست کردین ؟؟!

کد صفجه b که در پست اول قرار داده شده محال ممکن هست که درست جواب بده!

چون که در این کد یه متغییری داره چاپ میشه که اصلا تعریف شده نیست و طوری هم تعریف نشده که مقدارش رو از فرم صفحه a بگیره!
 

DaDaDooDoo

کاربر VIP
ممنون ، مشکل قبلی حل شد . (با راهکار شما)

اما می خوام طریقه استفاده از PHP_SELF رو هم بهم بگید . چون وقتی ازش استفاده می کنم همون ارور Undefine رو می ده .

ممنون .
 

sharktech

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

برای درکش این دوتا صفحه رو بخونین :

http://www.html-form-guide.com/php-form/php-form-action-self.html

http://www.tizag.com/phpT/examples/formex.php
 

DaDaDooDoo

کاربر VIP
آیا سینتکس php نسبت به قبل فرق کرده ؟؟؟ من دارم از یک pdf آموزش ها رو دنبال می کنم و کدهایی که اونجا نوشته رو عیناً استفاده می کنم ، اما کار نمی کنن مثلا همین get_$ رو انجا ننوشته بود ، یا php_self رو به این شکل استفاده کرده که ارور داد :

PHP:
$php_self

در صورتی که من به این شکل استفاده کردم و جواب داد :

PHP:
$_server['php_self']
 

sharktech

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

حتما اون آموزشی که الان دارین ماله چند ساله پیشه و بهتره که یه آموزش آپدیت رو پیدا کنید و بخونید!
 

Masoud1365

مدیر انجمن
آیا سینتکس php نسبت به قبل فرق کرده ؟؟؟ من دارم از یک pdf آموزش ها رو دنبال می کنم و کدهایی که اونجا نوشته رو عیناً استفاده می کنم ، اما کار نمی کنن مثلا همین get_$ رو انجا ننوشته بود ، یا php_self رو به این شکل استفاده کرده که ارور داد :

PHP:
$php_self

در صورتی که من به این شکل استفاده کردم و جواب داد :

PHP:
$_server['php_self']

خیر ! سینتکس هیچ تغییری نکرده !
این چیزهایی که شما توی اون مثال دیدید قابل اجرا هست به شرطی که روی سرور register globals فعال باشه !
مثلا توی مثالی که همون اول نوشتید اگر رجیستر گلوبال فعال بود اررور نمیداد و برنامه کار میکرد ولی به دلایل مسائل امنیتی معمولا غیر فعال هست !
شما اگر از wamp استفاده میکنید به قسمت php >> phpextentions بروید و رجیستر گلوبال را فعال کنید تا مثال های اون فایل pdf رو اجرا کنید .
اما در کل این کار پیشنهاد نمیشه برای اینکه معمولا روی سرورها غیر فعال هست و ممکن است شما بعدا به مشکل بر خورد کنید
موفق باشید :wink:
 

جدیدترین ارسال ها

بالا