Stránka 1 z 1
PHP - problém s php+html
Napsal: sob 17. črc 2010, 14:33
od Lolllec
Kód: Vybrat vše
$show = "</table></div></div><div class=\"tab-normal-03\">
<table style=\"border-width: 1px; border-style: dashed\" width=580>
<tr height=20>
<td width=27% style=\"text-align: left\"><img src=images/blocks-img/serverstatus/cs.jpg /> <font color=yellow>XYZ</font></td>
<td width=28%>IP: <font color=#00FF00>88.86.113.170:27020</font></td>
<td width=25%>Mapa: <font color=#00FF00>$server["name"];<\font></td>
.........takto to ide ďalej.... ";
$content .= "$show";
Toto je kód jedného môjho bloku v United-Nuke. Vysvetlím situáciu:
Je to skript pre zisťovanie stavu herného servera. Pozostáva z dvoch súborov - zdrojový kód skriptu v jednom súbore, a druhý súbor ktorý slúži ako blok a je v ňom zahrnutá výzorový stránka...
Práve robím centrovaný blok... Ale mám problém práve s týmto. Akonáhle do premennej show pridelím všetky tie HTML kódy, a následne tú premennú (skúšal som rôznu syntax, stále nič), nevypíše mi ju, namiesto toho ukončí stránku a vypíše chybu:
Kód: Vybrat vše
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/.../blocks/block-xyz.php on line 41
(to je presne ten line v ktorom je premenná $server["name"]; tá je načítaná z prvého - zdrojového - súboru).
Ako to mám urobiť, aby to fungovalo?
vďaka za pomoc
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 14:45
od KapaCZ
když pominem že nepouživáš tagy "" , \"\" a kod je zprasenej jak ......., tak by mělo stačit udělat toto:
".$server["name"]."
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 14:56
od Lolllec
Pomohlo to, ďakujem

Ide o to, že ja som dosť začiatočník v PHP... Túto syntax (html do pphp premennej) vôbec nepoznám...
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:07
od bubanek

na to je jednoduchej trik
v php používej " a v html '
$asdf = "<a href='$neco.php' target='_blank' onclick='funkce()'>text</a>";
atd atd atd
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:09
od KapaCZ

jde o to že jakýkoliv tag má náké pravidla podle toho kde je použit:
Tvoje verze:
!!BAD!!
V HTML:
V PHP s příkazem echo"";
Podle toho si to oprav

Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:13
od bubanek
No jasně, proč to dělat jednoduše když to jde složitě

Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:18
od KapaCZ
Co se ti zas nezdá?

Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:21
od bubanek
Jenom že by bylo jednodušší místo
napsat
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:26
od Lolllec
A keď to neupravím, bude to robiť v niektorých prehliadačoch chyby, alebo ako sa to prejaví?
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:32
od bubanek
Některé prohlížeče můžou ten parametr ignorovat.
Ergo vždycky tam ty uvozovky měj.
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:34
od Highlander
Lolllec píše:A keď to neupravím, bude to robiť v niektorých prehliadačoch chyby, alebo ako sa to prejaví?
Musíš to opravit. Firefox si s tím možná poradí, ale takovej IE si to interpretuje úplně jinak.
Každopadně doporučuji používat v php apostrofy >> '''' a v html uvozovky. Používat apostrofy v PHP je vzhlediska optimalizace výhodnější.
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:40
od Lolllec
Dobre. Ďakujem za informáciu. Mám ale ešte jednu otázku.
Blok už funguje, všetko ako má. Je tam ale len jeden server. Zatiaľ to stačí, ale v budúcnosti ich budem potrebovať viac. Časť súboru, kde je definovaná IP a port servera vyzerá takto:
Kód: Vybrat vše
// pripojeni knihovny s tridou PHPrcon
require("rcon.lib.php");
// IP adresa serveru
$server_ip = "1.2.3.4";
// port serveru
$server_port = "23456";
// vytvoreni instance tridy Rcon
$rcon = new Rcon();
$rcon->connect($server_ip, $server_port);
$server = $rcon->Info();
$player = $rcon->Players();
Údaje $server["name"], $server["activeplayers"] a podobne už získava blok zo zdrojového skriptu, t.j. rcon.lib.php.
Ako mám potom vytvoriť ďalšie premenné $server["name"] a podobne, keď chcem aby mi nevypisovalo stále ten jeden server, ale napr. dva?
Ako nováčika ma napadlo jedine tak $server2["name"], lenže to už logicky nemôže fungovať bez ďalších úprav. No ja som ešte fakt neznalec a neviem sa pohnúť.
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 15:53
od bubanek
A musí se $server["name"] a $server["activeplayers"] načítat z toho rcon.lib.php ?
Mě napadlo třeba do nějakého souboru uložit ty definice:
Kód: Vybrat vše
$server1 = array (
"name" -> "jmeno",
"activeplayers" -> "neco",
"ip" -> "1.2.3.4",
"port" -> "2345" );
$server2 = array (....);
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 16:03
od Lolllec
Nemusí, ale ako by to potom všetko vyzeralo?? Jeden samostatný súbor s týmito údajmi, čo tu píšeš. Druhý ten rcon.lib a tretí ten blok. To všetko by bolo. Lenže ako to potom poprepájať a tak
Navyše, ten $server["activeplayers"] sa musí načítať z rcon.lib, pretože to je premenná, ktorú zisťuje skript - počet hráčov na serveri, to znamená že to nie je konštanta a musí byť stále aktualizovaná skriptom. A keď ju odpojím od rcon.lib, tak nepôjde.
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 16:14
od bubanek
Aha už chápu

Tak to budeš muset udělat ještě jinak.
Budeš mít třeba
Kód: Vybrat vše
$server1 = array (
"ip" -> "1.2.3.4",
"port" -> "2345" );
$rcon1 = new Rcon();
$rcon1 -> connect($server1["ip"], $server1["port"]);
$info1 = $rcon1 -> Info();
$players1 = $rcon1 -> Players();
I když tohle je už dost složité.
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 16:36
od Lolllec
Výborne, mám to

ďakujem veľmi pekne za pomoc.
PS: v tom arrayi sa používa =>, nie ->

Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 18:33
od bubanek
Njn, já na to skriptování moc nejsem, já raději webdesign
Není zač
Re: PHP - problém s php+html
Napsal: sob 17. črc 2010, 20:52
od OndraSter
Highlander píše:Každopadně doporučuji používat v php apostrofy >> '''' a v html uvozovky. Používat apostrofy v PHP je vzhlediska optimalizace výhodnější.
Ještě bych tohle rád rozvedl a upozornil na výše zmíněný ^ "problém":
Veškeré stringy obmotané uvozovkami se v PHP parsují a vyhledávají proměnné (a nahrazují za hodnoty) a what not. Naopak apostrofy jdou přímo do proměnné, PHP už neprochází ten string, neřeší, jestli tam je proměnná nebo ne.
Takže bacha na to. Vždycky je daleko čitelnější napsat a pro PHP rychlejší zpracovat:
$bar = 'foo = ' . $foo . ' & baz = ' . $baz;
než
$bar = "foo = $foo & baz = $baz";
(dobře, tohle ještě jo, ale složitější případy už ne)
Re: PHP - problém s php+html
Napsal: ned 18. črc 2010, 18:13
od arxeiss
Já bych se vyjádřil k tomu co napsal bubu
Toto je ale přece nevalidní ne? V HTML musí být
height="20" a ne
height='20'
Re: PHP - problém s php+html
Napsal: ned 18. črc 2010, 18:36
od bubanek
Si to projeď validatorem
