Autor | Zpráva | ||
---|---|---|---|
Jeremy88 Profil |
#1 · Zasláno: 1. 2. 2006, 16:36:20 · Upravil/a: Jeremy88
Chtel bych kapanek vylepsit nasledujici script:
Vse mi na webu (ukazka) funguje bez problemu, ale zcela logicky se tam pak nemeni titulek stranky. Premyslel sem zhruba nad timto resenim:
Ale dal nevim, jak $title dat do titulku. Jestli z nej udelat nejakym zpusobem funkci a nasledne s ni provest toto:
Jsem temer neznaly PHP, tak prosim o radu. Jen upozornuji, ze nevim jak se spravne funkce tvori a ani v dalsich podrobnostech se jeste zrovna dvakrat neorientuji. A taky sem premyslel o pouziti MySQL db podle jednoho tutorialu na interval.cz, ale tam je vsude napsano, jak se z db data volaji a jak potom vypada PHP script, ale nikde neni uvedeno, jak tam ty data dostat. Jestli vite o nejakem tutotialu na rucni vkladani dat do db, nebo to umite strucne popsat, tak to sem taky napiste. Predem dik za odpovedi. |
||
Mingan Profil |
#2 · Zasláno: 1. 2. 2006, 17:05:04
<title><?php echo $title ?> - Hry</title> Či něco jiného v tomto smyslu- |
||
WertriK Profil * |
#3 · Zasláno: 1. 2. 2006, 17:05:25
case "half-life2-recenze": $url = "1-3-2recenze.php"; $title = "Recenze - Half-Life 2"; break; Uvazujes spravne, kdyz das ten script hned na zacatek, nebo staci pred tag <html> tak staci prepsat titulek na <title><?=$title;?> - Hry</title> a budes mit vytouzeny titulek. Pres DB by to slo taky a bylo by to dokonce i efektnejsi, do DB se data vkladaji pres PHPmyAdmina nebo rucne pres $sql = "INSERT into bla bla SET nejakapromenna='blabla'"; mysql_quert($sql); |
||
Jeremy88 Profil |
#4 · Zasláno: 1. 2. 2006, 18:17:24
Inspiraci jsem hledal tady - interval.cz/clanek.asp?article=1873.
Je tam i jak vytvorit tabulku v db a jak nasledne upravit ten script, ale jak do ni nacpat ty data uz tam neni a ani na zadnej poradnej clanek sem na tohle tema nenasel. PHPmyAdmina obcas pouzivam, tak jestli vite jak, tak zde prosim napiste strucnej postup, diky. Pres to $sql to moc delat nechci, jak se znam, tak bych tam mel pak spoustu preklepu a chyb. A to co mi poradil Mingan, tedy "<title><?php echo $title ?> - Hry</title>" funguje bezproblemove, dik. Jen sem cely ten script musel rozdelit, vetsinu presunout hned za DOCTYPE a pak <?php require $url; ?> dat na to misto, kde se ta cast souboru ma zobrazit. |
||
Jeremy88 Profil |
#5 · Zasláno: 2. 2. 2006, 16:42:42 · Upravil/a: Jeremy88
Tak uz jsem zacal pracovat na verzi s pouzitim db, ale mam nasledujici problem
Udelal script, ktery ma za pomoci databaze dynamicky generovat jak cast stranky, tak i titulek, ale vypada to, ze nejspis nekde v zavolani dat z databaze bude chyba. Prosim poradte, vubec netusim, kde by to mohlo byt. Navic mi db ani script nehlasi zadnou chybu, jen to hodi dafaultne nastavenou stranku. script:
zapis v XHTML:
V databazi uz tabulka s nazvem "1hry" vlozena je, data jsou tam snad napsana take dobre (pod spravnymi nazvy), ale kdyz kliknu na jakykoliv odkaz, tak se nacte jen uvodni stranka "1-0start.php". Pokud budete potrebovat jeste dalsi upresneni problemu, tak napiste co presne potrebujete a ja se pokusim dale specifikovat moje potize. Predem diky moc za odpovedi. |
||
WertriK Profil * |
#6 · Zasláno: 2. 2. 2006, 20:58:18
Zkus si vypsat kolik to naslo zaznamu v DB, to taky hodne rekne ...
$test = MySQL_NumRows($output); echo $test."<br />"; if($test == 1): $url = MySQL_Result($output, 0, "url"); // url z db zapsana do $url $title = MySQL_Result($output, 0, "name"); // name z db zapsan do $title ... |
||
Jeremy88 Profil |
#7 · Zasláno: 2. 2. 2006, 23:20:54
No takze jestli tvoji uprave dobre chapu, tak kdyz se z db se "neco" nacte, tak by se mel nekde na webu (podle toho kde bude echo $test."<br />"; ) udelat jeden radek, ze ??? To se taky stane, ale dal pretrvava stejny problem, do $url ani do $title se asi z db nic neulozi a pak ani nezavola. Fakt uz nevim jak dal, kod sem si projizdel uz nekolikrat radek po radku, ale stejne sem tam chybu neobjevil.
Jestli mas chvilku casu, tak napis prosim na icq 239961599 nebo na mail a ja ti dam prihlasovaci udaje k db a na ftp, at se na to muzes mrknout sam. |
||
WertriK Profil * |
#8 · Zasláno: 3. 2. 2006, 00:49:41
ale v tom radku se ma zobrazit taky nejake cislo.
Misto echo $test."<br />"; tam napis echo $test."<- pocet shod<br />"; A napis jake cislo ti to vypsalo pred tim <- pocet shod ... |
||
krteczek Profil |
#9 · Zasláno: 3. 2. 2006, 09:40:04
Místo if(isset($_GET['p'])) doporučuji pužívat if(!empty($_GET['p'])) dosáhneš tím toho že se nebude snažit načíst "p" ale rovné 0
krteczek |
||
24k_VERYSICK Profil * |
#10 · Zasláno: 3. 2. 2006, 09:46:42
Mno kdyz uz bychom brali v uvahu toto testovani tak bych spis pouzil
if ($_GET['p']) |
||
krteczek Profil |
#11 · Zasláno: 3. 2. 2006, 09:53:58
ještě jedna věc, chybí ti tam použití funkce $r=mysql_fetch_array($output);
udělal bych to nějak takhle:
krteczek |
||
Jeremy88 Profil |
#12 · Zasláno: 3. 2. 2006, 14:23:35
A napis jake cislo ti to vypsalo pred tim <- pocet shod ...
Nevypsalo to tam bohuzel nic. Budu se pokouset dal opravovat script podle vasich rad. |
||
krteczek Profil |
#13 · Zasláno: 3. 2. 2006, 16:05:29
Jeremy88: nejdříve si zapiš dotaz na databázi do proměnné(jak to dělám já), můžeš si ten dotaz nechat zobrazit echem a dát exit hned za to echo
|
||
Jeremy88 Profil |
#14 · Zasláno: 4. 2. 2006, 00:29:56
Takze uz se v tom beznadejne ztracim. Z vasich jiste ochotnych rad jsem nepostoupil ani o krok dopredu. Porad se udaje z databaze nechteji do promenych vlozit a ani test, ktery jste zde uvadeli, nefungoval.
Uz vazne nevim kudy kam, projekt jsem chtel mit hotovy koncem jarnich prazdnin (tj. 12. 2.), ale tento problem me velmi nepekne brzdi. Nejspis to bude moji velkou neznalosti PHP a MySQL vubec, ale z vasich ponekud kusych odpovedi nejsem shopen dat dohromady script, ktery by byl funkcni. Zde uvadim jake promene pouzivam a dalsi upresneni meho postupu, ktere asi bude potrebne pro nalezeni one fatalni chyby: 1 - prvni podminka s "$_GET['p']" 2 - adresa tedy je ".../1-0hry.php?p=call_of_duty2" 3 - do db se pripojim pres "localhost" a jeji nazev je web_czif_net, ale v phpMyAdminovy je napsano, ze jsem prihlasen jako "web_czif_net@localhost" (!) 4 - pak do $out_url ulozim hodnotu "url" z db, tabulka "1hry" a jeste je tam napsano "id = $_GET[p]" 5 - to same udelam s titulkem, jen misto "url" dam "name" a promena je $out_title 6 - nasleduje podminka cislo 2 a do $url se ulozi vysledek z db "url" 7 - opet podminka, promena $title a do ni "name" z db, if hned ukoncena 8 - else ke druhe podmince, kdyz nebyl nalezen zaznam v db, tak do $url ulozit chybovou stranku "1-0error.php" + endif 9 - else k prvni podmince, do $url vlozena uvodni stranka secke "1-0start.php" + endif + ukonceni scriptu Tady je muj script a volani v xhtml: <?php if(isset($_GET['p'])): // bod cislo 1 a 2 mysql_connect("localhost"); // bod cislo 3 mysql_select_db("web_czif_net"); // bod cislo 3 $out_url = mysql_query("select url from 1hry where id = $_GET[p]"); // bod cislo 4 $out_title = mysql_query("select name from 1hry where id = $_GET[p]"); // bod cislo 5 if(mysql_numrows($out_url) == 1): // bod cislo 6 $url = mysql_result($out_url, 0, "url"); // bod cislo 6 if(mysql_numrows($out_title) == 1): // bod cislo 7 $title = mysql_result($out_title, 0, "name"); // bod cislo 7 endif; else: $url = "1-0error.php"; // bod cislo 8 endif; else: $url = "1-0start.php"; // bod cislo 9 endif; ?> + <title><?php echo $title ?> Hry - IF</title> + <?php require $url; ?> Nefunguje tam ulozeni udaju z db do $url a $title, ale kdyz jsem na uvodni stranu "1-0hry" tak se do $url nacte 1-0start.php a kdyz "selze" db, tak je v $url "error.php" - snad jedina funkcni vec na tomto scriptu, ale dosti logicka, protoze toto je zapsano primo v php bez nutnosti ziskani udaju z db. V db mam zatim jen zkusebne nahrate tri udaje (tj. id = seonazev nebo-li take soucast url adresy, name = titulek, url = umisteni na serveru) ke strankam s id "arx_fatalis" a "call_of_duty2", ale totozne odpovedi se dockam i kdyz zkusim zavolat stranky, ktere nemaji v db zatim zadne svoje udaje, podle toho usuziji, ze bude chyba uz nekde v pripojovani k db. Dale uvadim relevantni odkazy: - http://new.czif.net/1-0hry.php - hlavni soubor, ve kterem je vepsan vyse uvedeny script - http://new.czif.net/1-0hry.php?p=arx_fatalis - udaje k teto strance jsou v db - http://new.czif.net/1-0hry.php?p=call_of_duty2 - to same jako predchozi adresa - http://interval.cz/clanek.asp?article=1873 - clanek podle je script z casti vytvoren Uplne na zaver bych chtel podekovat za cas straveny zabyvanim se nad mym problemem, jsem v php a mysql jeste moc velka lama, to priznavam, ale cas me tlaci, potrebuji s touto problematikou nutne pomoci. Jednou jsem to zde uz psal, ale pokud mate chvili cas, tak vam dam udaje k mysql i na ftp, at se na to muzete podivat osobne, treba na tu chybu pak prijdete rychleji, hesla muzu v administraci zmenit hned, to neni problem. |
||
WertriK Profil * |
#15 · Zasláno: 4. 2. 2006, 00:45:26
To tvoje mysql_numrows nahrad MySQL_Num_Rows
|
||
WertriK Profil * |
#16 · Zasláno: 4. 2. 2006, 00:55:54
Tady to mas cele predelane, jak se na to divam tak je to otresne .. :
<?php if(isset($_GET['p'])) { mysql_connect("localhost"); mysql_select_db("web_czif_net"); $p = $_GET["p"]; $out = mysql_query("SELECT url, name FROM 1hry WHERE id = '$p'"); $out_num = MySQL_Num_Rows($out); if ($out_num != 0) { list($url, $title) = mysql_fetch_row($out); if ($url == "") { $url = "1-0error.php"; } if ($title == "") { $title = "Nejaky obecny titulek"; } } else { $url = "1-0error.php"; } } else { $url = "1-0start.php"; } ?> |
||
WertriK Profil * |
#17 · Zasláno: 4. 2. 2006, 00:58:45
misto $url == "" tam muze byt
if (empty($url)) { $url = "1-0error.php"; } if (empty($title)) { $title = "Nejaky obecny titulek"; } |
||
Anonymní Profil * |
#18 · Zasláno: 4. 2. 2006, 02:26:11
[pre][/pre][i][/i][b][/b]
[pre][/pre][img][/img][url=http://neco.cz]Text odkazu[/url] |
||
Jeremy88 Profil |
#19 · Zasláno: 4. 2. 2006, 03:33:19
Vazeni dekuji vam vsem za spolupraci, problem byl vyresen. Jmenovite bych chtel zminit uzivatele s nickem WertriK a
krteczek a jeste jednou jim podekovat. Tito dva jsou u me skutecnymi machry pres php a mysql a vytahli me z dost tezkeho pruseru. Pokud budete chtit zase vy dva s necim pomoci, tak napiste na mail Jeremy88@seznam.cz nebo na icq 239961599, rad vam pomohu napr. s webovou grafikou apod. A abych nezapomel, chyba byla samozrejme nejdrive v mem naprosto prasackem zapisu scriptu a pak take v spatnem nastaveni prihlasovacich udaju k db. Funkcni ukazkova cast je tady - http://new.czif.net/1-0hry.php?p=arx_fatalis Jeste jednou DIKY !!! |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0