Poslao: 13 Mar 2011 18:35
|
offline
- desafinado
- Novi MyCity građanin
- Pridružio: 13 Mar 2011
- Poruke: 5
|
Vec danima pokusavam da nadjem resenje kako da postavim dinamicko ime za <title></title> tagove. Posto je product strana zeleo bih na namestim da kad neko otvori odredjenu stranu odredjenog proizvodjaca da u <title> stoji to ime.
Hvala
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 13 Mar 2011 18:56
|
offline
- lnenad
- Stručni saradnik
Web
- Pridružio: 16 Jan 2007
- Poruke: 2860
- Gde živiš: Bijeljina
|
Prvo, naslov se definise u zaglavlju stranice izmedju head elementa. Ako hoces da ga definises moras da izvadis taj podatak prije nego sto ispisujes stranicu, dok ovdje ti pokusavas na silu.
|
|
|
|
|
Poslao: 14 Mar 2011 12:43
|
offline
- desafinado
- Novi MyCity građanin
- Pridružio: 13 Mar 2011
- Poruke: 5
|
Pronasao sam ovo na netu i dobio sam <title></title> iz mysql baze ali nece da se menja kada pozovem neki drugi product.php?=id1
<?php
$username = user;
$password = pass;
$database_name = db_name;
mysql_connect("localhost", $username, $password) or die(mysql_error());
echo "Connected to mysql!<br />";
mysql_select_db($database_name) or die(mysql_error());
echo "Connected to Database!";
//change the username, password, and database_name to yours.
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM categories ");
while($row = mysql_fetch_array($sql))
{
$title = $row['name'];
}
?>
<html>
<head>
<title><?php echo $title; ?> </title>
</head>
<body>
</body>
</html>
ima caka u
$sql = mysql_query("SELECT * FROM categories ");
kad stoji ovako pojavljuje se <title>
ali na tom forumu gde sam nasao ovo stoji da
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM categories WHERE ID = '$id'");
u mojoj bazi pozivam categories gde ima "uid" , "name".
"Name" sam dabio, ali kad stavim WHERE ID = '$id' opet mi nestane strana.
Treba mi sada treba kako da kad pozovem product.php?=id1 bude IME1
a kad pozovem product.php?=id2 bude IME2, sada koji god ID da pozovem stoji mi IME1
|
|
|
|
Poslao: 14 Mar 2011 15:24
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
A da pročitaš post iznad???
I stavljaj kod između [ code] i [ /code] tagova zbog preglednosti.
|
|
|
|
Poslao: 14 Mar 2011 23:47
|
offline
- desafinado
- Novi MyCity građanin
- Pridružio: 13 Mar 2011
- Poruke: 5
|
Izvini eevan79 , probao sam post da stavim na stranicu i dobijem
<!--TITLE--> kao ime stranice.
Ovaj kod koji sam nasao je najpribližniji onome sto mi treba ali ne mogu da nadjem zbog čega kada stavim ovaj drugi kod jednostavno nestane ceo sadržaj stranice.
|
|
|
|
Poslao: 15 Mar 2011 04:17
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Na samom početku stranice (pre bilo kakvih html tagova) stavi:
ob_start();
Zatim u head sekciji stavi
<title><!--TITLE--></title>
"Izvuci" podatak iz baze koji ti treba i neka ti $pageTitle bude naziv za title stranice.
$pageTitle = $row['name'];
Skroz na dnu stranice (posle svih kodova) stavi:
$pageContents = ob_get_contents ();
ob_end_clean ();
echo str_replace ('<!--TITLE-->', $pageTitle, $pageContents);
Title će biti dinamički promenjen sa nazivom koji si "izvukao" iz baze uz pomoć ob_get_contents () funkcije.
Ako ti ovo ne radi, moguće da nisu uključene neke opcije kod konfiguracije servera. U tom slučaju stavi pre ob_start;
ini_set ("display_errors", "1");
error_reporting(E_ALL);
Tvoj kompletan kod bi bio:
<?php
ini_set ("display_errors", "1"); //Ukloni ovu liniju da iskljucis debug mod
error_reporting(E_ALL); //Ukloni ovu liniju da iskljucis debug mod
ob_start();?>
<html>
<head>
<title><!--TITLE--> </title>
</head>
<body>
</body>
</html>
<?php
$username = user;
$password = pass;
$database_name = db_name;
mysql_connect("localhost", $username, $password) or die(mysql_error());
echo "Connected to mysql!<br />";
mysql_select_db($database_name) or die(mysql_error());
echo "Connected to Database!";
$id = $_GET['id'];
$sql = mysql_query("SELECT * FROM categories ");
while($row = mysql_fetch_array($sql))
{
$pageTitle = $row['name'];
}
$pageContents = ob_get_contents ();
ob_end_clean ();
echo str_replace ('<!--TITLE-->', $pageTitle, $pageContents);
?>
Konekciju sa bazom i definisanje $pageTitle možeš staviti bilo gde...npr između <body> i </body> html tagova.
Vidim da nisi definisao ID kategorije kod upita. Čini mi se da ti upit nije dobar. Zar ne treba da bude:
$sql = mysql_query("SELECT * FROM categories WHERE id = ".$id." "); ?
-Koristi npr. echo $pageTitle; da vidiš podatak koji si izvukao iz baze...
-Zaštiti skriptu od sql inject-a.
|
|
|
|
Poslao: 15 Mar 2011 20:20
|
offline
- desafinado
- Novi MyCity građanin
- Pridružio: 13 Mar 2011
- Poruke: 5
|
Napisano: 15 Mar 2011 12:22
Hvala ti sto se trudis , ali me ocigledno nisi razumeo.
Stavio sam tvoj kod i dobio isto sto i bez njega.
a sto se tice ID kategorije cim je definisem na bilo koji nacin izadje mi prazna strana.To mi nije jasno cim se stavi WHERE id = ".$id." sada izadje greska
Connected to mysql!
Connected to Database!
Notice: Undefined index: id in index.php on line 18
a to je
$id = ($_GET['id']);
.
Ali ajd da probam opet da ti objasnim sta mi treba
imam tabelu "tbl" i u njoj "categories" , u njoj imam "uid" koji je ID strane i "name" koji hocu da kad pozoves product.php?=id3 izadje "NAME3".
Sa ovim do sada (bez WHERE id = ".$id." uspeo sam da dobijem "NAME" ali staticki koji god ID da pozovem "NAME" se ne menja.
Dopuna: 15 Mar 2011 20:20
Nasao sam resenje koje mi je stajalo ispred nosa sve vreme .......
sve sto je trebalo da uradim jeste da vec postojece resenje TITLE-a stavim pod novi upit.
Ovo gore i dalje iz nekog razloga nece da radi ako neko ima vremena i zivaca nek se igra mozda pomogne nekome ....
Hvala u svakom slucaju na vremenu
|
|
|
|
Poslao: 16 Mar 2011 07:15
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Bez ljutnje ali mislim da čitaš između redova. Dao sam ti i više nego što ti treba. Lepo sam napisao da ti i upit nije bio dobar.
Zašto stavljaš WHERE id = ".$id." kada u tabeli nemaš id već uid polje???
Pogledaj malo php/MySql dokumentaciju.
Ovaj kod gore radi provereno i milion puta sam ga upotrebljavao.
|
|
|
|
Poslao: 16 Mar 2011 07:53
|
offline
- desafinado
- Novi MyCity građanin
- Pridružio: 13 Mar 2011
- Poruke: 5
|
Nemam šta da se ljutim ako se trudi neko da mi pomogne. Upisivao sam WHERE uid ='id' ali sa ovim sto si mi dao, daje mi da je greska u $id = _$GET('id:')
Citat:Undefined index: id in /test/index1.php on line 23 .
kada obrisem _GET kod pojavi mi se TITLE ali je statičan.
Pročitao sam i dokumentaciju i išao sam školski upit kako su oni stavili da se izčitava mysql baza. Ali stalno izbacuje istu gresku da je ID u _GET ne definisan iako sam promenio da WHERE cita UID celiju u bazi.
Moj najveći problem je što ne umem da objasnim i sto kad sam čitao razne forume nisam obratio pažnju na kod koji si mi dao ini_set ("display_errors", "1");
error_reporting(E_ALL);
da mi prikaže gresku nego sam s vrteo u krug.
Hvala ti u svakom slučaju
|
|
|
|