مسیح ریحانی
2 سال پیش توسط مسیح ریحانی مطرح شد
5 پاسخ

قرار دادن لینک در جدول توسط PHP

سلام،
وقت بخیر و خسته نباشید عرض می‌کنم خدمت تمامی عزیزانی که این سطر‌ها رو می‌خونند.
قبلا از شما بابت همکاری و وقتی که می‌گذارید تشکر می‌کنم.

من در دیتابیس‌م یک URL رو ذخیره می‌کنم، حالا می‌خوام اون لینک برام در جدول <table> HTML نمایش داده بشه که نمی‌تونم.

echo "<table class=\"table table-striped table-bordered\">";
echo "<th>ردیف</th>";
echo "<th>نام</th>";
echo "<th>شماره</th>";
echo "<th>تاریخ تولد</th>";
echo "<th>اعلان</th>";

while($row = mysqli_fetch_array($customers)){

  echo "<tr><td>" . htmlspecialchars($row['id']) . "</td><td>" . htmlspecialchars($row['fullname']) . "</td><td>" . htmlspecialchars($row['phone_number']) . "</td><td>" . htmlspecialchars($row['birth_month']) . "&nbsp;" . htmlspecialchars($row['birth_day']) . "</td><td>" . htmlspecialchars($row['url']) . "</td></tr>";
}

echo "</table>";
}

وقتی با استفاده از قطعه‌کد بالا و با کمک

htmlspecialchars($row['url'])

اقدام به دریافت لینک می‌کنم، این لینک در جدول برام Clickable نیست و فقط متنش نمایش داده می‌شه!

در واقع می‌خوام در هر سطر جدولم در HTML یک کلمه (مثلا اعلان) نمایش داده بشه که قابل کلیک باشه و لینکش همون url ذخیره شده در پایگاه داده‌ام باشه.

ممنون می‌شم اگر راهنمایی‌م بفرمایید.


ثبت پرسش جدید
erfan
تخصص : gray hat
@erfan.h.010011 2 سال پیش مطرح شد
1

سلام

همان طور که دوستمون گفت تابع htmlspecialchars برای اینکه مقادیر حتما به صورت string ذخیره بشه تا مورد سوءاستفاده هکر ها قرار نگیره
اما برای ساخت لینک باید از تگ a استفاد کرد
مثال :

        <a href="https://roocket.ir/">roocket</a>

حالا شما چون از " استفاده کردین باید برای ادرس دهی تگ a از ' استفاده کنید
ادرس دهی در href داده میشه

(#) شمارو به صفحه که در اون قرار دارید هدایت میکنه

"</td><td><a href='#'>" . htmlspecialchars($row['url']) . "</a></td></tr>"

حالا اگه url درست در ادرس دهی درست عمل میکنه متونید به این شکل بنویسد تا ادرسی دهی تگ a خودکار باشه

    $url = $row['url'];
    echo "</td><td><a href='<?= $url ?>'>" . htmlspecialchars($row['url']) . "</a></td></tr>";

هر طور خودتون صلاح میدونید اما به نظرم بهتره قبل از یاد گیری php زبان نشانه گذاری html مسلط بشید


بهرام
تخصص : Laravel Developer
@bahram 2 سال پیش مطرح شد
0

سلام
باید توی تگ a بزاریدش


متین طیبی نیا
تخصص : backend
@MatinTayebi 2 سال پیش آپدیت شد
1

@masihreyhani
سلام
تابع htmlspecialchars کارش اینکه دیتا هایی که توش از تگ html استفاده شده ، تگ های html رو حذف میکنه . این تابع داره از یک پترن ریجکس استفاده میکنه تا تگ html داخل رشته پیدا کنه ،و تو ی تگ بسته هر html از / استفاده شده پس اونو از داخل رشتت کات میکنه . زمانی که شما دارید دتیا ذخیره میکنید نیازه از این تابع استفاده کنید . زمان نمایش نیاز نیست استفاده کنید .


erfan
تخصص : gray hat
@erfan.h.010011 2 سال پیش مطرح شد
1

سلام

همان طور که دوستمون گفت تابع htmlspecialchars برای اینکه مقادیر حتما به صورت string ذخیره بشه تا مورد سوءاستفاده هکر ها قرار نگیره
اما برای ساخت لینک باید از تگ a استفاد کرد
مثال :

        <a href="https://roocket.ir/">roocket</a>

حالا شما چون از " استفاده کردین باید برای ادرس دهی تگ a از ' استفاده کنید
ادرس دهی در href داده میشه

(#) شمارو به صفحه که در اون قرار دارید هدایت میکنه

"</td><td><a href='#'>" . htmlspecialchars($row['url']) . "</a></td></tr>"

حالا اگه url درست در ادرس دهی درست عمل میکنه متونید به این شکل بنویسد تا ادرسی دهی تگ a خودکار باشه

    $url = $row['url'];
    echo "</td><td><a href='<?= $url ?>'>" . htmlspecialchars($row['url']) . "</a></td></tr>";

هر طور خودتون صلاح میدونید اما به نظرم بهتره قبل از یاد گیری php زبان نشانه گذاری html مسلط بشید


مسیح ریحانی
@masihreyhani 2 سال پیش آپدیت شد
0

@erfan.h.010011 عزیز،
سلام و وقت بخیر.
بی‌نهایت سپاسگزارم بابت وقتی که گذاشتید و توضیحات کاملی که ارائه فرمودید.
پیروز و موفق باشید.


مسیح ریحانی
@masihreyhani 2 سال پیش مطرح شد
0

@MatinTayebi
سلام و وقت بخیر.
ممنون بابت توضیحات‌تون.
امیدوارم که همواره موفق باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام