ورود

نسخه کامل مشاهده نسخه کامل : مشکل در برقرای ارتباط <form>



vorojax
29-03-2009, 15:17
سلام علیکم دوستان عزیز :40:
من یک پی اچ پی کار تازه کار هستم!
در همان قدم اول به مشکل برخوردم...
یک فرم طراحی کردم به کدهای زیر :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس می خواستم که بعد از وارد کردن اطلاعات با handleform.php ارتباط برقرار کنه و.....
کد های handleform.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما متسفانه ارور داد....من طبق ان چیزی که اموزش گفته رفتم..اما نتیجه نداد میشه بگید مشکل از چیه.

ارورش این بود :



Notice: Undefined variable: firstname in C:\Program Files\EasyPHP 2.0b1\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 8
Your first name is .

Notice: Undefined variable: lastname in C:\Program Files\EasyPHP 2.0b1\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 9
your last name is .

Notice: Undefined variable: Email in C:\Program Files\EasyPHP 2.0b1\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 10
your email is .

Notice: Undefined variable: comments in C:\Program Files\EasyPHP 2.0b1\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 11
this is what you had to say:


با تشکر
یا علی

eAmin
29-03-2009, 15:33
سلام.

اول از همه سعی کنید جستجو کنید!

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدشما باید جای GET_$ از POST_$ استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

vorojax
29-03-2009, 16:40
سلام و تشکر
بنده از get_$ استفاده نکرده ام!
این خطر رو نگاه کنید

<form action = "handleform.php" method=post>

این نوعی که تو کتاب نوشته با نوع شما فرق داره! میشه فرقش رو بگید..؟

David.Jn
29-03-2009, 17:27
درسته شما از $_get استفاده نکردید ولی از $_post هم استفاده نکردید یعنی شما چیزی رو سمت سرور از فرمتون تحویل نمیگرین.
اون کدی رو که امین تغییر داده رو نگاه کن باید اونجوری بنویسی.

vorojax
29-03-2009, 17:57
دوست عزیز یعنی اینی که نوشتم

<form action = "handleform.php" method=post>

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

MAXXX
29-03-2009, 18:35
دوتا متد داریم برایه فرستادن post و get شما با هر متدی فرستادی باید اونور هم با همون متد تحویل بگیری
مثلا اگه متد فرمت post بود تویه صفحه PHP وقتی میخای اطلاعات فرمت رو بگیری به اینصورت میشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگرم با GETفرستادی باید با GETبگیریش
بعد اگه خاستی میتونی اینو بریزی تویه متغیر و چاپش کنی یا مستقیم تویه print بیاریش که اگه این کارو کردی باید کوتیشن ها رو بردای ' '
یعنی اینطوری


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

David.Jn
29-03-2009, 18:48
دوست عزیز یعنی اینی که نوشتم نقل قول: هیچ فایده ای واسه ارسال نداره..تو اموزش نوشته بود از متود پست استفاده کنید..خودشم اونجا گزاشته بود متد پست رو... مثل اینکه متوجه نشدید منظور من چی بود. کد html(فرمتون) هیچ مشکلی نداره بلکه کد php که نوشتید مشکل داره یعنی باpost میفرستید ولی هیچی تحویل نمیگیرید که توضیحات لازم رو دوستمون MAXX دادن.

vorojax
29-03-2009, 21:29
سلام و تشکر از دوستان عزیز :40:
تغییرات رو انجام دادم...
یک ارور جدید امد!


parse error: Parse error, unexpected t_encapsed_and_whitespace, expecting t_string or t_variable or t_num_string in c:\program files\easyphp 2.0b1\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] on line 8

این کی برای چی هست؟

MAXXX
30-03-2009, 00:05
خب کد جدیدتو بزار ببینیم

pc-world
30-03-2009, 01:49
منم داشتم همين كتاب رو مي خوندم
و همين صفحه با همين مشكل
حالا كد را به اين شكل در اوردم همه قسمتها جواب ميده بجز commants

<html>
<head>
<title>form results</title>
</head>
<body>
<?php
/* this page receives and handles the data generated by

"form.html". */
print "Your first name is $_POST[firstname].<br>\n";
print "your last name is $_POST[lastname].<br>\n";
print "your email is $_POST[email].<br>\n";
print "this is what you had to say:<br>\n $_POST[comments]

<br>\n";
?>
</body>
</html>

اگه ميشه اين مشكل را هم حل نماييد

pc-world
30-03-2009, 02:03
اون مشكل هم حل شده مشكل شما اينجاست

comments <textarea name ="cpmments" rows=5 cols=40></textarea><br>بهترينم راه اينه كه هر2 فيلد را به com خالي تغيير نام بديد تضميني كار خواهد كرد

hosseintdk775
30-03-2009, 12:01
بسم الله الرحمن الرحیم
سلام
البته کد این دوست عزیز هم مشکلی نداره / ( پست اول )
ایرد از کتاب است که از همان اول از روش منسوخ شده آموزش می دهد.

برای اجرای کدها نیاز است که register globals فعال باشد.
که البته این شیوه کد نویسی منسوخ شده است و درست نیست و بهتره که همانطوری که دوستان در همین تاپیک هم فرمودند کدنویسی کنید.