PDA

View Full Version : سوال: مشکل با ارسال متغیر از طریق url در php



nekooee
چهارشنبه 25 اردیبهشت 1392, 14:09 عصر
سلام
در اسکریپت freer از طریق کد زیر مقدار Random رو به صفحه gateway.php ارسال میکنه.

echo 'gateway.php?random='.$random.'__1';


اما در فایرفکس درست کار میکنه ولی در IE به جای رفتن به آدرس gateway.php مقدار این رو در همون صفحه قبلی چاپ میکنه!
و وقتی خودم مقدار چاپ شده رو کپی میکنم و در آدرس بار بعد از دامین سایت قرار میدم بقیه دستور اجرا میشه
چرا این دستور در IE کار نمیکنه؟

اصلا چجوری با دستور Echo این مقدار به url میفرسته؟
کل کد هم میتونید اینجا ببینید:
https://github.com/fffaraz/Virtual-Freer/blob/master/index.php

nekooee
چهارشنبه 25 اردیبهشت 1392, 15:28 عصر
البته من تست کردم هر کدوم از این کدهای بالا هم اگر کار نکنه همون ارور رو میده و احتمالا یکی از کدهای صفحه ایندکس با IE یا php5 سازگار نیست.
کسی نمیتونه کمک کنه؟

آدرس سایت هم اینه:
http://paseban.ir

ببینید با firefox درسته با IE خراب!

dousti_design
چهارشنبه 25 اردیبهشت 1392, 15:49 عصر
echo 'gateway.php?random='.$random.'__1';
این دستور که فقط یک رشته رو چاپ میکنه و ربطی هم به مرورگر و ورژن php نداره. بگید قصد انجام چه کاری رو دارید اونوقت بهتر میشه کمک کرد.
اگه منظورتون چاپ یک لینک هست که اگه کاربر روش کلیک کرد بره به صفحه مورد نظر:


echo '<a href="gateway.php?random='.$random.'__1">Anchor</a>';

اگه میخاید ریدایرکت(redirect) کنید به صفحه مورد نظر(در این شرایط باید قبل از این دستور هیچ خروجی نداشته باشید و فایلتون هم BOM نداشته باشه:


header("Location: ".'gateway.php?random='.$random.'__1');

اگه قبل از این دستور خروجی دارید و امکان استفاده از header نیست(جاوا اسکریپت باید فعال باشه):


echo "<script>window.location = 'index.htm'</script>";

nekooee
چهارشنبه 25 اردیبهشت 1392, 17:00 عصر
بله من هم همینجاش رو نفهمیدم! اما این کد رو من ننوشتم و مربوط به اسکریپت freer هست که یک ایرانی نوشته و تو این صفحه که به شما بالا هم دادم:
https://github.com/fffaraz/Virtual-Freer/blob/master/index.php
می تونید کد صفحه index رو که قسمت بالا هم داخلش هست ببینید. این کد تو فایرفکس درست کار میکنه و میره به صفحه gateway اما تو اینترنت اکسپلورر اینجا مقدار فوق رو به عنوان error چاپ میکنه.

و همین اسکریپت روی هاست دیگه با اینترنت اکسپلورر هم درست کار میکنه و مشکلی نداره!

از اینجا هم میتونید خودتون اسکریپت رو کلا دانلود کنید و ببینیدش:
freer.ir
اگر هم می خواین ارور رو ببینید تو این سایت :
http://paseban.ir/

ّبا فایرفکس بزنید روی کلید خرید و با اینترنت اکسپلورر هم بزنید. ببینید نتیجه فرق میکنه.
همین اسسکریپت روی هاست دیگه همه حالتی درست عمل می کنه!

dousti_design
چهارشنبه 25 اردیبهشت 1392, 19:04 عصر
خب خطا مربوط به php نمیشه(زبان سرور ساید که اصلا مرورگر نمیدونه چیه).
توی IE نوع کالایی که میخای انتخاب کنی انتخاب نمیشه(خطا داره) و فیلد قیمت خالی میمونه. احتمالا بخاطر همینه. اسکریپت ها رو بررسی کنید اگه نتونستید حل کنید بذارید ببینیم میتونیم کمک کنیم

nekooee
چهارشنبه 25 اردیبهشت 1392, 19:15 عصر
شاید IE شما قدیمی هست با IE من مشکلی تو انتخاب کالا وجود ندار ولی بعدش ارور میده در حالی تو فایرفکس اینجوری نیست.

مال منم نیست که بدم دستتون من فقط بهش کد می دادم خودش میگذاشت. منم می خواستم بهش کمک کنم اما هر کار کردم نشد. ولی من خودم همین فروشگاه رو دارم تو IE هیچ مشکلی نداره. اما روی هاست اون چون php5 هست با دستور چک کردن شماره موبایل هم مشکل داشت که با تغییر کد درستش کردم ولی این رو هر کار کردم نفهمیدم ایراد از چیه

dousti_design
چهارشنبه 25 اردیبهشت 1392, 19:21 عصر
باید بررسی کنید ببینید توی IE ارور جاوا اسکریپت داره یا نه.(پایین گوشه سمت چپ علامت اخطار میاد اگه داشته باشه) و اگه داره مربوط به کدوم خطه و ارورش چیه.

nekooee
پنج شنبه 26 اردیبهشت 1392, 02:13 صبح
نه ارور جاوا نیست چون دستورات اون قسمت اصلا جاوا نداره و ارور هم مال همون خط کد php هست. ارور زرد رنگ رنگی هم نمیاد. من اینترنت اکسپلوررم 10 هست روی ویندزو 8.
البته من تست کردم با قالب اصلی که دیگه افکت جاوا هم نداره همین ارور رو با IE میده. شما خودتون یکی بزنید خرید متوجه میشید.

xcodex
پنج شنبه 26 اردیبهشت 1392, 07:43 صبح
دوست عزیز از طریق ajax وقتی میخواید عملیات انجام بدید با javascript یا jquery باید مقدار در صفحه php نمایش یا همون echo بشه و بعد از طریق jquery گرفته بشه و علیات انجام بشه.

به نظر من در کد php مشکلی نیست در javascript باید مشکلی باشه. این پیج php اسم صفحه (gateway.php?random='.$random.'__1') رو چاپ میکنه و پیج اصلیتون این مقدار رو میگیره و به browser اطلاع میده که بره عملیات پیج gateway رو انجام بده.

امیدوارم تونسته باشم مفهوم رو برسونم. این ساختار ajax هست.

dousti_design
پنج شنبه 26 اردیبهشت 1392, 11:09 صبح
نه ارور جاوا نیست چون دستورات اون قسمت اصلا جاوا نداره و ارور هم مال همون خط کد php هست. ارور زرد رنگ رنگی هم نمیاد. من اینترنت اکسپلوررم 10 هست روی ویندزو 8.
البته من تست کردم با قالب اصلی که دیگه افکت جاوا هم نداره همین ارور رو با IE میده. شما خودتون یکی بزنید خرید متوجه میشید.
تو IE 8 من که اصلا محصول انتخاب نمیشه و ارور جاوا داره. ببینید دوست عزیز نوع مرورگر کاربر اصلا ربطی به زبان سمت سرور (php) نداره و فقط مربوط به DOM و جاوا اسکریپت میشه.