PDA

نسخه کامل مشاهده نسخه کامل : ساخت خروجی xml با php



David.Jn
09-08-2008, 15:24
سلام من میخوام یه خروجی xml از دیتابیسم بگیرم، ولی نمیشه error میده.
با قدری کلنجار رفتن کد زیر را نوشتم که اونم خروجی xml نمیده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
آقایون اگه زحمت نیست رفع اشکال کنید و اگه از بیخ و بن غلطه یه مثال بزنید.

dogtag
09-08-2008, 15:53
با این:

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

یه ور برو تا سرم خلوت شه و بهت بگم.

ببخشید.

David.Jn
09-08-2008, 18:19
با این:

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

یه ور برو تا سرم خلوت شه و بهت بگم.

ببخشید.
سر زدم ولی ساخت خروجی xml از پایگاه رو نداشت شایدم من پیدا نکردم.
کد را به این صورت زیر تغییر دادم ، جواب میده(خروجی xml) ولی با بعضی از فیلدهای بانک مشکل داره

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثلآ با اون فیلد l_name مشکل داره ولی با بقیه نه.
این error میده:

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

pezhman32
09-08-2008, 18:29
سر زدم ولی ساخت خروجی xml از پایگاه رو نداشت شایدم من پیدا نکردم.
کد را به این صورت زیر تغییر دادم ، جواب میده(خروجی xml) ولی با بعضی از فیلدهای بانک مشکل داره

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثلآ با اون فیلد l_name مشکل داره ولی با بقیه نه.
این error میده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از چی میتونه باشه؟!
هر نوع مقداری رو نمیشه داد
می تونید از CDATA استفاده کنید یعنی مثلا"

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

David.Jn
09-08-2008, 19:09
هر نوع مقداری رو نمیشه دادچه مقدارهایی را نمیشه داد؟
کدی را هم که گفتید امتحان کردم جواب نداد بازم همون error را میده.
کد را اینجوری نوشنم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اشکال از کدی که من نوشتم که نیست!؟ اگه هست خودتون تصحیح کنید

pezhman32
09-08-2008, 19:17
چه مقدارهایی را نمیشه داد؟
کدی را هم که گفتید امتحان کردم جواب نداد بازم همون error را میده.
کد را اینجوری نوشنم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اشکال از کدی که من نوشتم که نیست!؟ اگه هست خودتون تصحیح کنید
میشه بگید مقداری رو که $row['fname'] داره چی هست؟!
در ضمن در CDATA هم باید [ و ] کد بشن (طریقه ی کد کردنشون توی تاپیک xss هست)
در ضمن یه بار همه ی مقادیرتون رو در CDATA قرار بدین ببینید بازم ارور میده یا نه!

David.Jn
09-08-2008, 19:51
میشه بگید مقداری رو که $row['fname'] داره چی هست؟!مقدرش text هستشش مثل:وحید type
اش هم varchar(15) هستش
بقیه فیلدها هم همینطوریه. فقط مقداراشون تغییر میکنه و اندازشون.
کدوم یکی از [ ها باید کد شوند؟اونی که قبل از CDATA هست یا اونی که بعدشه؟
اصلآ این CDATA چه کار میکنه؟

David.Jn
10-08-2008, 00:05
دیدم کسی حال و احوال ما را نمیپرسه خودمون دست به کار شدیم.
ببین دوستان من جدولregister را پاک کردم و از نوع اطلاعات توش درج کردم تا یه جای کار خوب پیش رفت یعنی از تمام فیلدهای جدول خروجی xml می گرفتم
ولی یک باگ واقعآ خیلی مسخره ایجاد شد .
وقتی فرهاد را برای f_name وارد کردم دوباره اون error قبلی را داد یکم که چک کردم دیدم ربطی به اندازه و نوع داده نداره بلکه به حرف "ف" حساسه و وقتی این حرف را وارد میکنی این error را میده حروف دیگه را چک نکردم .

راهی بلدید تا این این مشکل من حل بشه.
نمیدونم شاید هم به collation هم ربطی داشته باشه ولی اول من نوع collation را utf-8_generel داده بود ولی بعد از این خطا اونو به utf-8_persian تغییر دادم که باز هم جواب نداد.
نمیدونم از چیه!!بد جور گیج شدم.

pezhman32
10-08-2008, 08:39
دوست عزیز فکر نمی کنم به این encode ها ربطی داشته باشه
شما ارور رو باید کامل می زاشتی که سریع بفهمیم...
اگه اشتباه نکنم اشکال کار شما اینجاست که تگ lname رو باز کردی و با lanme بستی (اشتباه تایپی رو می گم که name رو anme نوشتی)
تست کن ببین درسته یا نه

David.Jn
10-08-2008, 10:42
امروز زدم به سیم آخر تمام حروف را چک کردم فقط و فقط با حرف "ف" مشکل داره.
حتی اینم بگم نه تنها با حرف"ف" در xml مشکل داره بلکه زمانی هم که این حرف را برای نام کاربری هم میدم(نام کاربری چک میشه تو بانک) مشکل پیدا میکنه واین error را میده:

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



دوست عزیز فکر نمی کنم به این encode ها ربطی داشته باشه
اگه اشتباه نکنم اشکال کار شما اینجاست که تگ lname رو باز کردی و با lanme بستی (اشتباه تایپی رو می گم که name رو anme نوشتی)
تست کن ببین درسته یا نه

نه دوست عزیز ربطی به تگ lname نداره اونو زمانی که اینجا میزاشتم بهم خورد .

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


اراور هم همونیه که تو پست شماره2 گزاشتم ولی قبل از اون error هم اینو هم نشون میده

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

دوستان یه زحمتی بکشید شما هم امتحان کنید ببینید بره شما هم این خطا رخ میده؟!

pezhman32
10-08-2008, 19:32
امروز زدم به سیم آخر تمام حروف را چک کردم فقط و فقط با حرف "ف" مشکل داره.
حتی اینم بگم نه تنها با حرف"ف" در xml مشکل داره بلکه زمانی هم که این حرف را برای نام کاربری هم میدم(نام کاربری چک میشه تو بانک) مشکل پیدا میکنه واین error را میده:

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


نه دوست عزیز ربطی به تگ lname نداره اونو زمانی که اینجا میزاشتم بهم خورد .
اراور هم همونیه که تو پست شماره2 گزاشتم ولی قبل از اون error هم اینو هم نشون میده

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

دوستان یه زحمتی بکشید شما هم امتحان کنید ببینید بره شما هم این خطا رخ میده؟!
فکر نمی کنم مشکل از این چیزا باشه.... خیلی غیر طبیعی هست
از چه ادیتوری استفاده می کنی؟! اگه غیر از notepad ویندوز هست فکر می کنم مشکل از انکودینگتون باشه
مثلا" در notpad++ باید از Encode utf-8 without BOM استفاده کنین

David.Jn
10-08-2008, 19:54
از DreamWeaver استفاده میکنم.
انکودینگ را هم utf-8 قرار میدم.
همین غیر طبیعی بودنش منو آسی کرده دیگه. اگه مشکل از انکود باشه چرا بقیه حروف اونجوری نمیشه.
اگه لازمه کد register شدن کابرا را هم میزارم.

dogtag
10-08-2008, 20:16
شما این "ف" رو تو برنامه ات می نویسی؟ یا با textbox بهش وارد می کنی؟

David.Jn
10-08-2008, 21:15
خولب معلومه با textbox وارد می کنم.

dogtag
10-08-2008, 21:23
فایل فرستنده و فایل ثبت کننده و ساختار Dbت رو بده، قبرستون تحویل بگیر :دی

David.Jn
10-08-2008, 22:11
نه راهی قبرستون نکنش یکم گوش مالیش بده تا بدونه دنیا دست کیه.
فرستادم به ایمیلت.
همونکه تو پروفایلته.

dogtag
10-08-2008, 22:16
من که چیزی نگرفتم:
goodboy.php@gmail.com

David.Jn
10-08-2008, 22:49
فرستادم به همینی که گفتی

hosseintdk775
11-08-2008, 14:14
بسم الله الرحمن الرحیم
سلام
می توانید وقتی اطلاعات خود را به دیتابیس ارسال می کنید آنها را کد کنید و وقتی دوباره بازخوانی می کنید تا نمایشش دهید از کد خارجش کنید. / البته اینگونه حجم اطلاعات هم افزایش پیدا می کند.

و یا می توانید طوری برنامه نویسی کنید که وقتی کسی "ف" را در textbox وارد کرد ( مثلا: فیلوکس (که ف دارد)، یا فرها (که ف دارد) ) قبل از ذخیره در دیتابیس آن را کد کنید و هنگامی که می خواهید بازخوانی کنید دوباره از کد خارجش کنید. / که اینگونه حجم اطلاعات نسبت به قبل آنچنان افزایش پیدا نمی کند.

{البته دقیق نمی دانم که این گفته عملی شود یا خیر.}

pezhman32
11-08-2008, 14:18
بسم الله الرحمن الرحیم
سلام
می توانید وقتی اطلاعات خود را به دیتابیس ارسال می کنید آنها را کد کنید و وقتی دوباره بازخوانی می کنید تا نمایشش دهید از کد خارجش کنید. / البته اینگونه حجم اطلاعات هم افزایش پیدا می کند.

و یا می توانید طوری برنامه نویسی کنید که وقتی کسی "ف" را در textbox وارد کرد ( مثلا: فیلوکس (که ف دارد)، یا فرها (که ف دارد) ) قبل از ذخیره در دیتابیس آن را کد کنید و هنگامی که می خواهید بازخوانی کنید دوباره از کد خارجش کنید. / که اینگونه حجم اطلاعات نسبت به قبل آنچنان افزایش پیدا نمی کند.

{البته دقیق نمی دانم که این گفته عملی شود یا خیر.}
سلام
عملی که میشه و فکر بدی هم نیست ولی در نظر داشته باشید که این یه باگ غیر عادیه که به باید بررسی و گرفته بشه

dogtag
11-08-2008, 14:20
این در ظاهر مشکلی نداره. (تست نکردم)
ولی می خوای این کار رو بکن:
وقتی می خوای بفرستی تو دیتابیس اون رو ------_encode کن (البته urlencode بهتره)
و وقتی می خوای بخونی، ------_decode ش کن. (البته urldecode بهتره)

تست می کنم ایشالله

David.Jn
11-08-2008, 15:40
این در ظاهر مشکلی نداره. (تست نکردم)

کاش تست میکردی (فقط برای نام کاربری)


وقتی می خوای بفرستی تو دیتابیس اون رو ------_encode کن (البته urlencode بهتره)
و وقتی می خوای بخونی، ------_decode ش کن. (البته urldecode بهتره)

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

dogtag
11-08-2008, 16:27
اونهایی که گفتم تابع PHP بود:

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

الان دارم با 36 تا ویروس خطرناک مبارزه می کنم. هر وقت کشتمشون، اون رو هم تست می کنم.

David.Jn
11-08-2008, 19:50
ممنون مشکل نام کاربری با این تابع حل شد .(موقع ثبت دیگه error نمیده)
ولی تو خروجی xml وقتی میخوام decode کنم دوباره همونerror را میده .
نمیدونم فقط من این مشکل را دارم .
بقیه هم اگه سیستم عضویت دارن امتحان کنن ببینن برای اونها هم برای نام کاربری همون مشکل من را دارن (یه عبارتی که حرف "ف" داره را وارد کنن ببینن چی میشه(مثل جعفر)!(تو همون لوکال هاستشون)).
اینو باید از ریشه سقطش کنیم.

hosseintdk775
11-08-2008, 20:32
ممنون مشکل نام کاربری با این تابع حل شد .(موقع ثبت دیگه error نمیده)
ولی تو خروجی xml وقتی میخوام decode کنم دوباره همونerror را میده .
نمیدونم فقط من این مشکل را دارم .
بقیه هم اگه سیستم عضویت دارن امتحان کنن ببینن برای اونها هم برای نام کاربری همون مشکل من را دارن (یه عبارتی که حرف "ف" داره را وارد کنن ببینن چی میشه(مثل جعفر)!(تو همون لوکال هاستشون)).
اینو باید از ریشه سقطش کنیم.
بسم الله الرحمن الرحیم
سلام
ممکن است کدتان را برای من هم ارسال فرمایید تا چک کنم؟

David.Jn
11-08-2008, 20:51
email تون چیه؟

hosseintdk775
11-08-2008, 21:22
email تون چیه؟
بسم الله الرحمن الرحیم
سلام
از طریق پیام خصوصی ارسال شد.

hosseintdk775
12-08-2008, 02:40
بسم الله الرحمن الرحیم
سلام
کد شما را تست کردم اما مشکلی نداشت و کلمات ف را هم نشان می داد.

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

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

David.Jn
12-08-2008, 08:49
شما حرف ف را برای نام کاربری وارد کردی؟
کلمه که ف داشت را برای دیگر textbox ها وارد کردی بعدش فایل xml2.php را اجرا کردی error نداد.؟
ولی من اونی که فرستادید را هم چک کردم دوباره همون error را میده.

hosseintdk775
12-08-2008, 10:12
بسم الله الرحمن الرحیم
در تمام textbox ها از کلمه فرهاد استفاده کردم و مشکلی پیش نیامد.

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

David.Jn
12-08-2008, 10:18
من با easyphp اجرا می کنم

hosseintdk775
12-08-2008, 10:22
بسم الله الرحمن الرحیم
توصیه می شود از easyphp استفاده نکنید / ما هم اوایل از این برنامه استفاده می کردیم ولی به دلیل مشکلاتی که داشت تغییرش دادیم به wamp .
آدرس سایت مربوطه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

David.Jn
12-08-2008, 16:00
از همه دوستان ممنون.
ما دیگه بی خیال شدیم این خروجی xml را برای Ajax میخواستم .
سایتو با همون روش قرن هجر نوشتم.

pezhman32
12-08-2008, 17:36
از همه دوستان ممنون.
ما دیگه بی خیال شدیم این خروجی xml را برای Ajax میخواستم .
سایتو با همون روش قرن هجر نوشتم.
خوب من الآن برای آجاکس سایت خودم از xml استفاده می کنم که واقعا" نمیشه ندید گرفت
والا چی بگم, شرمنده که نتونستم کمک کنم

hosseintdk775
12-08-2008, 17:46
بسم الله الرحمن الرحیم
سلام
به نظرم باید مشکل از easyphp باشد / زیرا کد بدون مشکل برایم کار کرد.

David.Jn
19-08-2008, 17:43
خوب دوستان سایت را تحویل دادم.
حالا wamp را نصب کردم ولی حالا نه تنها با حرف 'ف' مشکل دارم بلکه با تمام حروف فارسی مشکل پیدا کرده یعنی حتی خروجی xml برای کلماتی که بدون حرف 'ف' هستند هم نمیده .
اینم بگم خروجی معمولی برای حروف فارسی حتی حرف 'ف' هم میده. ولی اون پروژه ای که قبلا نوشته را اجرا میکنم برای حرف 'ف' علامت سوال نشمان میده.

مشکل از تنظیمات ویندوز یا php.ini نیست؟!

hosseintdk775
19-08-2008, 17:47
بسم الله الرحمن الرحیم
سلام
شاید مشکل از ویندوز شما باشد.

از چه ویرایشگری استفاده می کنید؟ / شاید مشکل از آن باشد.
و اینکه هنگام ذخیره صفحه Encoding صفحه را چه می گذارید؟

من تا به حال با wamp به چنین مشکلی برنخورده ام.

David.Jn
19-08-2008, 22:11
مشکل حل شد.
خودمم نمیدونم چه جوری.