PDA

View Full Version : سئوال دربارهٔ دستورات echo و <textarea>



forouzan
دوشنبه 04 مرداد 1389, 12:31 عصر
به نام خدا
با سلام

هنگام استفاده از دستور echo در یک فایل php با چنین خطایی مواجه می‌شوم:


<?php
echo (""rozane = " + "$ms " + " va shabane = " + "$mb"><br>"");
?>

Parse error: syntax error, unexpected T_STRING in G:\xampp\htdocs\123.php on line 2


لازم به ذکر است که می‌خواهم بخش آبی رنگ عیناً در صفحه نمایش داده شود ولی نتوانستم و در اینترنت نیز مطالبی دربارهٔ استفاده از کاراکترهای


\lang1065

نوشته بود ولی نتوانستند آن بخش نمایش دهند، لطقاً راهنمایی کنید

سئوال دیگر اینکه یک جعبه متنی از نوع textarea دارم که می‌خواهم در صورتکیه کاربر در آن مطالبی را نوشت معلوم شده و اطلاعات مربوط به متغیر آن که txt2 می‌باشد چاپ شود و در غیر اینصورت اطلاعات متغیر txt3 چاپ شود.

if ($txt2==true) echo $txt2, "<br>";
echo $txt3

با تشکر از جواب شما

mohmadd
دوشنبه 04 مرداد 1389, 12:39 عصر
<?php

echo '"rozane = " + "$ms " + " va shabane = " + "$mb"><br>"';


?>


برای دسترسی به textarea باید یه ای دی تعریف کنی و با جاوااسکریپت به اینگونه محتوای textarea رو تو یه متغیر بزاری

text=document.getElementById("id").innerHTML;

payamsp
دوشنبه 04 مرداد 1389, 12:41 عصر
در مورد اول همانطور که توی متن خطا مشخصه اشکال از رعایت نکردن syntax برنامه نویسی توی php هست
وقتی از " استفاده می کنید اگر بخواهید دوباره داخل متن از " استفاده کنید باید قبلش \ قرار بدید


echo("\"rozane\"");
از روشی که mohmadd (http://barnamenevis.org/forum/member.php?u=137125) توی پست قبلی گفته هم میتونی استفاده کنی که بهتره .
اگر توی دستور اولی + رو برای اتصال رشته ها گذاشتید اشتباهه و برای اتصال باید از . استفاده کنید .

در مورد سوال دومتون هم می تونید طول رشته رو چک کنید و در صورت که بیشتر از صفر بود چاپ کنید .


if(strlen($txt))
echo $txt;
روش بهتر :


if(isset($txt[0]))
echo $txt;

forouzan
پنج شنبه 07 مرداد 1389, 01:38 صبح
به نام خدا
با سلام

به لطف دوستان مشکل دومم حل شد ولی مشکل اوّل همچنان پا برجاست!

به عنوان مثال اگر کدهای php زیر را اجرا کنید:


<?php
echo (" In the name of allah ");
echo (" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><br>");
echo (" Salam ");
?>


نتیجه آن چنین خواهد شد :


In the name of allah
Salam


در حالیکه ظاهرا باید خطی مثل :


<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><br>


نیز در وسط دو خط فوق چاپ می‌شد! در حالیکه چاپ نشده است !
اشکال کار در کجاست؟
با تشکر

mohmadd
پنج شنبه 07 مرداد 1389, 02:28 صبح
ببین عزیز php یه زبان سمت سروره شما وقتی این کد رو اجرا میکنی دقیقا همین خط ها چاپ میشه اما این مرورگر هستش که این رو به عنوان یه دستور میشناسه و نشون نمیده ( و یه کار خاصی باهاش میکنه )
تو page source رو ببین
مثلا وقتی بین اونا چند بار <br> بزاری میبینی که چند خط رفت پایین ...

forouzan
پنج شنبه 07 مرداد 1389, 11:56 صبح
به نام خدا
با سلام
بلاخره باید راه حلی برای نشان دادن خط


<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><br>


وجود داشته باشد. این طور نیست؟

bestirani2
پنج شنبه 07 مرداد 1389, 13:42 عصر
به نام خدا
با سلام
بلاخره باید راه حلی برای نشان دادن خط


<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><br>


وجود داشته باشد. این طور نیست؟




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


$string = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><br>";
$string = htmlentities($string);
echo $string;

یا


$string = "&lt;meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"&gt;&lt;br&gt;";
echo $string;

forouzan
شنبه 09 مرداد 1389, 15:48 عصر
به نام خدا


با سلام
از تمام کسانی که با جوابشان باعث حل مشکل شدند تشکر می‌کنم.
به امید موفقیّت.