PDA

View Full Version : مشکل خواندن صفحات با شروع ?>



mahmoudi68
دوشنبه 03 مهر 1391, 17:59 عصر
سلام من یک اسکریپت نوشته شده با php دارم که به صورت زیر شروع شده

<?
کد
؟>
اما در هاست و xampp اجرا نمیشه من شروع اد را یه صورت زیر تغییر دادم و اجرا شد

<?php
کد
?>
اما چون صفحات زیاد است یک سری مشکل پیش اومد
داخل یکسری فروم هاستینگ گفته بودند این تگ شروع را وارد php کنید
میخواستم ببینم چه راهی وجود داره که php این صفحات را بشناسه

برای مثال php کد زیر را صفحه سفید می دهد

<? Print "Hello Word!" ; ?>

و کد زیر را اجرا می کند

<?php Print "Hello Word!" ; ?>

mamali-mohammad
دوشنبه 03 مهر 1391, 18:16 عصر
توی php.ini باید فعالش کنی
short_open_tag رو روی on قرار بده و همچنین سیمیکلن رو قبلش بردار

mahmoudi68
سه شنبه 04 مهر 1391, 00:14 صبح
توی php.ini باید فعالش کنی
short_open_tag رو روی on قرار بده و همچنین سیمیکلن رو قبلش بردار

ممنون دوست عزیز
داخل هاست cpanel چطور فعال کنم؟

mamali-mohammad
سه شنبه 04 مهر 1391, 00:44 صبح
برای هاست با مدیر هاست باید صحبت کنی

mahmoudi68
سه شنبه 04 مهر 1391, 15:43 عصر
توی php.ini باید فعالش کنی
short_open_tag رو روی on قرار بده و همچنین سیمیکلن رو قبلش بردار

امکان داره متن کاملی که داخل php.ini برای فعال بودن این تگ هست را قرار بدهید

mamali-mohammad
سه شنبه 04 مهر 1391, 15:52 عصر
short_open_tag

mahmoudi68
جمعه 14 مهر 1391, 13:47 عصر
مشکل این چیه؟

http://s3.picofile.com/file/7519165050/1.jpg

mohsen6500
جمعه 14 مهر 1391, 15:23 عصر
به نظر من دوست عزیز
اگر از برنامه دریم ویور استفاده می کنی همه ?> ها رو به php?> تبدیل کن
چون خیلی جاها این اشکالات رو به وجود میاره
البته شما index.php رو چک کن یا کدهاشو بذار تا ببینیم
ظاهرا نمیتونه شناساییش کنه
موفق باشید

MMSHFE
جمعه 14 مهر 1391, 15:30 عصر
دوست عزیز، شما از یکسری ثابت استفاده کردین که تعریف نشدن. برای مثال، ممکنه کد رو اینطوری نوشته باشین:

$_POST[user]
درحالی که درستش اینطوریه:

$_POST['user']
ضمناً برای رفع مشکل short_open_tags روی هاست هم کافیه یک فایل php.ini توی پوشه ریشه سایتتون بسازین و کد زیر رو توش بنویسید:

short_open_tags = on
البته توصیه میکنم عادت به استانداردنویسی کنید و از php?> استفاده کنید.
برای غیرفعال کردن نمایش خطاهای Notice هم توی هاست کافیه این کد رو توی همون فایل php.ini که گفتم بسازید، بنویسید:

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED
کد فوق باعث میشه فقط خطاهای حیاتی (Fatal Error) نشون داده بشه و خطاهای در سطح Warning (هشدار) و Notice (یادآوری) و Deprecated (استفاده از دستورات منسوخ شده) ظاهر نشه.
موفق باشید.

mahmoudi68
جمعه 14 مهر 1391, 16:42 عصر
دوست عزیز، شما از یکسری ثابت استفاده کردین که تعریف نشدن. برای مثال، ممکنه کد رو اینطوری نوشته باشین:

$_POST[user]
درحالی که درستش اینطوریه:

$_POST['user']
ضمناً برای رفع مشکل short_open_tags روی هاست هم کافیه یک فایل php.ini توی پوشه ریشه سایتتون بسازین و کد زیر رو توش بنویسید:

short_open_tags = on
البته توصیه میکنم عادت به استانداردنویسی کنید و از php?> استفاده کنید.
برای غیرفعال کردن نمایش خطاهای Notice هم توی هاست کافیه این کد رو توی همون فایل php.ini که گفتم بسازید، بنویسید:

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED
کد فوق باعث میشه فقط خطاهای حیاتی (Fatal Error) نشون داده بشه و خطاهای در سطح Warning (هشدار) و Notice (یادآوری) و Deprecated (استفاده از دستورات منسوخ شده) ظاهر نشه.
موفق باشید.

ممنون از راهنمایی کاملتون
مشکل زبان فارسی را چه طور حل کنم اگر داخل عکس ببینید نوشته ها فارسی بودند (من از xampp استفاده میکنم داخل هاست مشکلی ندارم)

MMSHFE
جمعه 14 مهر 1391, 18:45 عصر
اگه تگ meta و doctype رو گذاشته باشین و توی دیتابیس هم از کدگذاری utf8_bin یا utf8_persian_ci استفاده کنید و بعد از اتصال و انتخاب دیتابیس، کوئری 'SET NAMES 'utf8 رو اجرا کنید، داده ها باید به درستی ظاهر بشن. ضمناً باید دقت کنید که از این کوئری باید به تنهایی بعد از دیتابیس بکار بره و کوئریهایی مثل ...SET CHARSET و... رو نباید همراهش اجرا کنید. ضمناً میتونید توی php.ini که ساختین، این کد رو هم بگذارین:

default_charset = "utf-8"
تا کدگذاری پیشفرض PHP روی utf-8 تنظیم بشه.
موفق باشید.

mahmoudi68
جمعه 14 مهر 1391, 20:37 عصر
مشکلات من با راهنمایی های شما کاملا رفع شد
ممنون از راهنمایی خوبتون

xtazi21
پنج شنبه 23 آذر 1391, 19:27 عصر
با سلام
راهنمایی های خوبی بود ، مرسی
حالا اگه بخواهیم Fatal Error هم نشون داده نشه چه کدی رو باید بزنیم ؟
ممنون میشم راهنماییم کنید ، ممنون

MMSHFE
جمعه 24 آذر 1391, 09:56 صبح
ابتدای اسکریپپتون این کد رو بنویسید:

error_reporting(0);

xtazi21
جمعه 24 آذر 1391, 11:57 صبح
ممنونم از راهنماییتون اما یه مشکلی، این اررور چیه داستانش ؟
تاحالا همچین چیزی ندیده بودم !

Notice: Undefined index: part in C:\wamp\www\dormitory\css\temp2\index.php on line 140
Call Stack
# Time Memory Function Location
1 0.0007 673448 {main}( ) ..\index.php:0
2 0.0206 1137880 include( 'C:\wamp\www\dormitory\css\temp2\index.php' ) ..\index.php:9

MMSHFE
جمعه 24 آذر 1391, 12:51 عصر
توی کدتون یک آرایه دارین که میخواین از یکی از اندیسهاش بنام part استفاده کنین ولی این آرایه چنین اندیسی نداره. کدتون رو بررسی کنید.