Skocz do zawartości

Czy title generowane dynamicznie to dobra sprawa?


lamcpp

Rekomendowane odpowiedzi

Witam serdecznie,

mam strone opartą na php, gdzie artykuły są wczytywane z bazy, czy dobrym rozwiązaniem jest title takie same jak nazwa artykułu, wyciągane za pomocą polecenia:

<html>
<head>
	<?php
		require_once("admin/dane.php");
		require_once("funkcje.php"); 
	 if(isset($_GET['id'])){
		 $query = mysqli_query($dbc,"SELECT artykul.nazwa FROM artykul WHERE id={$_GET['id']}");
		 while($wynik = mysqli_fetch_array($query)){
			 echo "<title>$wynik[0]</title>";
		 }
	 }
?>
itd....

Czy moze lepiej byłoby zrobić osobną pozycje o nazwie title w bazie danych i przypisywać manualnie każdemu artykułowi jakiś title a następnie odcczytywać go za pomocą PHP z bazy?

Odnośnik do komentarza
Udostępnij na innych stronach

Zawsze lepiej mieć większą możliwość wpływania na title, zwłaszcza że nie jest to duży problem, więc raczej 2 opcja jest lepsza.

I tak nawiasem, jeżeli jest to rzeczywisty wycinek kodu twojej strony, to polecam poczytać trochę o bezpieczeństwie skryptów PHP, ciekawa lektura i zdecydowanie Ci się przyda.

Odnośnik do komentarza
Udostępnij na innych stronach

Najlepszym rozwiązaniem jest pobieranie title z tytułu artykułu z opcją manualnej zmiany title przy dodawaniu art. Jeśli nie wpiszesz title, to system powinien sam je wyciągnąć z bazy. W ten sposób działa moduł Nodewords do Drupal i wiesz mi, nie mam mu nic do zarzucenia.

Odnośnik do komentarza
Udostępnij na innych stronach

za pomocą polecenia:

<html>
<head>
	<?php
		require_once("admin/dane.php");
		require_once("funkcje.php"); 
	 if(isset($_GET['id'])){
		 $query = mysqli_query($dbc,"SELECT artykul.nazwa FROM artykul WHERE id={$_GET['id']}");
		 while($wynik = mysqli_fetch_array($query)){
			 echo "<title>$wynik[0]</title>";
		 }
	 }
?>
itd....

Po co stosujesz pętle while do przechodzenia przez jeden element tablicy !

Tak wystarczy:

$query = mysqli_query($dbc,"SELECT artykul.nazwa FROM artykul WHERE id={$_GET['id']}");
$wynik = mysqli_fetch_array($query, MYSQL_ASSOC);
echo "<title>$wynik['nazwa']</title>";

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

spookypld pisze:

Najlepszym rozwiązaniem jest pobieranie title z tytułu artykułu z opcją manualnej zmiany title przy dodawaniu art. Jeśli nie wpiszesz title, to system powinien sam je wyciągnąć z bazy. W ten sposób działa moduł Nodewords do Drupal i wiesz mi, nie mam mu nic do zarzucenia.

Uważam, że to bardzo dobre rozwiązanie, tylko pytanie jak je wdrożyć: tzn. czy dobrze rozumiem:

W panelu admina powinienem mieć pole na wpisanie title, i w przypadku gdy nie wpiszę title, to system wczyta je z bazy z pola nazwa artykułu? Natomiast jeśli je wpisze to system powinien zapisać title do nowoutworzonej przeze mnie tabeli, w której będę przechowywał title?

I tabela title mogłaby się składać z pól: id, id_artykulu, tytul

Xelos pisze:

I tak nawiasem, jeżeli jest to rzeczywisty wycinek kodu twojej strony, to polecam poczytać trochę o bezpieczeństwie skryptów PHP, ciekawa lektura i zdecydowanie Ci się przyda.

Poczytałem, rozumiem że chodzi o to by pliki configuracyjne umieszczać poza folderem public_html i tak też zrobiłem.

Mion pisze:

Po co stosujesz pętle while do przechodzenia przez jeden element tablicy !

Tak wystarczy:

KOD

$query = mysqli_query($dbc,"SELECT artykul.nazwa FROM artykul WHERE id={$_GET['id']}");

$wynik = mysqli_fetch_array($query, MYSQL_ASSOC);

echo "<title>$wynik['nazwa']</title>";

Masz rację - dziękuję za słuszną uwagę

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności