نمایش نتایج 1 تا 7 از 7

نام تاپیک: اشکال در زبان php

  1. #1

    Unhappy اشکال در زبان php

    سلام دوستان.

    من می خواستم اسکریپتی بنویسم که فایل پی اچ پی آماده ایجاد بکنه.
    یعنی کد نویسی های داخل اون فایل پی اچ پی جدید رو از قبل نوشته ام وبا استفاده از دستور اف رایت اون فایل رو ایجاد می کردم.
    خودتون امتحان کنید:
    متغیر codes در واقع کد هایی هستند که باید رایت بشه.کمی دقت کنید:
    $codes = "$_POST['name']";

    syntax ها همه طبق اصول هستند اما ارور میده.
    ربطی به رایت کردنش نداره خود همین دستوری که نوشتم مشکل داره.

    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in F:\Xampp Server\htdocs\test\phpmacker.php on line 42


    توی stack over flow مثل اینکه اونجا هم مطرح شده اما من متوجه نشدم چی نوشتن:

    http://stackoverflow.com/questions/8...ring-or-t-vari

    راه جایگزینی هست؟

  2. #2
    محروم شده
    تاریخ عضویت
    خرداد 1394
    پست
    248

    نقل قول: اشکال در زبان php

    کدتون و مقداری که داره توسط فرم ارسال میشه رو بگذارین. همینطوری نمیشه فهمید مشکل از چیه. تا به یه مشکل برخورد میکنید هم نگین اشکال از PHP چون به احتمال 99.999999٪ درصد مشکل از کد شماست.

  3. #3

    Unhappy نقل قول: اشکال در زبان php

    نقل قول نوشته شده توسط fatima-php مشاهده تاپیک
    کدتون و مقداری که داره توسط فرم ارسال میشه رو بگذارین. همینطوری نمیشه فهمید مشکل از چیه. تا به یه مشکل برخورد میکنید هم نگین اشکال از PHP چون به احتمال 99.999999٪ درصد مشکل از کد شماست.

    نه عزیزم من مقدار رو از کاربر نمی گیرم. خود
    $_POST['name']
    مقدار متغیر $codes هست.این یه رشته متنیه.جملش هم اینه:
    .$_POST['name']
    این دستور نیست.رشته هست.
    چون می خوام این رو یادستو اف رایت ، رایت کنم توی یه فایل جدید با پسوند پی اچ پی.تا اتوماتیک فایل پی اچ پی ایجاد کنه.
    کل کدی که توی فایل ایجاد شده رایت می کنم بزرگتره.مشکل همین یه تیکه هست ومنم فقط همین یک تکه از رشته رو اینجا گذاشتم.
    به stack ower flow هم که لینک دادم خواهش میکنم یه سری بزنید.همین مشکل من اونجا هم مطرح شده اما انگلیسی بود متوجه نشدم.

  4. #4

    نقل قول: اشکال در زبان php

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

  5. #5
    محروم شده
    تاریخ عضویت
    خرداد 1394
    پست
    248

    نقل قول: اشکال در زبان php

    توی اون لینک گفتن ساختار HEREDOC رو به درستی نبسته. نباید بعد از Delimiter چیزی بنویسید. اول اینکه کدهاتون رو توی تگ PHP نگذاشتین که خوانا باشه و راحت بشه خوند. ثانیاً وقتی خطا دارین، باید چند خط اطراف خطا (حداقل دو سه خط) رو بگذارین چون ممکنه خطا از خطوط قبلی باشه. نگران نباشین کد شما تا وقتی سناریوی کارتون مشخص نباشه، بدرد کسی نمیخوره و ما هم فقط میخوایم راهنمایی کنیم. پس از گذاشتن کد هراس نداشته باشین.
    آخرین ویرایش به وسیله fatima-php : یک شنبه 31 خرداد 1394 در 19:21 عصر

  6. #6

    نقل قول: اشکال در زبان php

    نقل قول نوشته شده توسط sina365 مشاهده تاپیک
    سلام دوستان.

    من می خواستم اسکریپتی بنویسم که فایل پی اچ پی آماده ایجاد بکنه.
    یعنی کد نویسی های داخل اون فایل پی اچ پی جدید رو از قبل نوشته ام وبا استفاده از دستور اف رایت اون فایل رو ایجاد می کردم.
    خودتون امتحان کنید:
    متغیر codes در واقع کد هایی هستند که باید رایت بشه.کمی دقت کنید:
    $codes = "$_POST['name']";

    syntax ها همه طبق اصول هستند اما ارور میده.
    ربطی به رایت کردنش نداره خود همین دستوری که نوشتم مشکل داره.

    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in F:\Xampp Server\htdocs\test\phpmacker.php on line 42


    توی stack over flow مثل اینکه اونجا هم مطرح شده اما من متوجه نشدم چی نوشتن:

    http://stackoverflow.com/questions/8...ring-or-t-vari

    راه جایگزینی هست؟
    من مشکل اصلی شما را اینجوری فهمیدم که میخواهید داخل یک متغیر رشته ای دستورات php را ذخیره کنید درسته؟
    اگر جواب مثبت باشد اولین نکته اینه که دستورات نوشته شده در php در زمان اجرا تماما کامپایل و اجرا میشوند حتی انهائی که در داخل رشته گذاشته اید!
    البته نظراتان را به تفاوت و کاربرد علامتهای تک کوتیشن (') و دابل کوتیشن (") در متغییرهای رشته ای جلب میکنم متغییرهای نوشته شده در داخل تک کوتیشن در زمان نمایش و یا اجرا ترجمه و تفسیر نمیشوند ولی شما برای ایجاد متغییر رشته ای از دابل کوتیشن استفاده کرده اید پس در زمان اجرا سعی میکند مقدار متغییر $POST['name'] را در متغییر شما ذخیره کند

    به مثال ساده زیر و خروجی آن توجه کنید توجه کنید

    $t='Hii';
    $x="ZZ$t ZZ";
    echo $x."<br>";

    $x='ZZ$t ZZ';
    echo $x."<br>";

    $tt='Hii echo $t';

    $x="ZZ$tt ZZ";
    echo $x."<br>";

    $x='ZZ$tt ZZ';
    echo $x."<br>";


    چهارتا دستور echo که چهار خط زیر را به عنوان خروجی نمایش خواهد داد
    ZZHii ZZ
    ZZ$t ZZ
    ZZHii echo $t ZZ
    ZZ$tt ZZ

    همینطور برای تفسیر مقادیر رشته ها که دارای دستورات php هستند میتوانید از تابع eval نیز استفاده کنید که فکر نمیکنم اینجا مورد استفاده ای برای شما داشته باشد

  7. #7

    نقل قول: اشکال در زبان php

    سلام.
    بله من حدودا یک ساله که برنامه نویسی می کنم.متوجه این موارد هستم.
    به خاطر شما هم که بود یک بار دیگه باز بینی کردم واین بار رشته ام را تکه تکه کردم.
    جاهایی که دستوری بود با تک کوتیشن وجاهایی که رشته متنی بود با دبل کوتیشن مشخص کردم.
    این بار مشکل حل شد:
    ظاهرا من در خواندن وفهمیدن مطلب stack ower flow دچار اشتباه شدم واین موضوع رابه گردن php انداختم.
    من از همه عذر می خواهم.
    اینم کد:

    $pagecodes='
    <html><head><title>بازگردانی گذرواژه</title></head><body>
    <center>
    <h2></h2>تغییر گذرواژه<br/><br/>
    <form method=""post" action="">
    <input type="text" name="newpassword"/><br/>لطفا گذرواژه را مجددا وارد نمایید<br/>
    <input type="text" name="renewpassword"/>
    <input type="submit" value="تغییر گذرواژه"/>
    </form></center></body></html>
    <?php
    if(isset($_POST[ '."'newpassword '".'])
    && isset($_POST['."'renewpassword'".']) ){

    if($_POST['."'renewpassword'".'] ==! null || $_POST['."'newpassword'".'] ==! null && strlen($_POST['."'renewpassword'".'])>8 && $_POST['."'renewpassword'".']===$_POST['."'newpassword'".']){}else die("<br/><center><q>گذرواژه شماباید حداقل 8 حرف و هردو یکسان باشند</center></q>");



    $newpassword=addslashes($_POST['."'newpassword'".']);

    echo "گذر واژه جدیدشما".$password;

    }





    else die("<center><code><b><pre style="text-shadow:0 0 2px red;"><q>لطفا گذرواژه مناسبی که حداقل شامل 8 کاراکتر باشد انتخاب کنید وآن را دوبار واردنمایید</q></center></code></pre></b>");

    ?>

    ';






    $filename="file.php";
    $file= fopen( $filename,'w');
    fwrite($file,$pagecodes);
    fclose($file);






تاپیک های مشابه

  1. قابل توجه طرفداران PHP : برگه مرجع زبان PHP
    نوشته شده توسط مهدی کرامتی در بخش PHP
    پاسخ: 20
    آخرین پست: شنبه 13 خرداد 1391, 13:27 عصر
  2. گزارش گیری توسط Crystal Report در زبان php
    نوشته شده توسط naeim12345 در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: جمعه 01 اردیبهشت 1391, 20:44 عصر
  3. سوال: اشکال در کار با زبان php
    نوشته شده توسط narges68 در بخش PHP
    پاسخ: 1
    آخرین پست: یک شنبه 22 شهریور 1388, 16:23 عصر
  4. اشکال در اجرای php-nuke !
    نوشته شده توسط vatal در بخش PHP
    پاسخ: 3
    آخرین پست: شنبه 11 تیر 1384, 16:31 عصر

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

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •