PHP - problém s php+html

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

PHP - problém s php+html

Příspěvek 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 />&nbsp;<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
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: PHP - problém s php+html

Příspěvek od KapaCZ »

když pominem že nepouživáš tagy "" , \"\" a kod je zprasenej jak ......., tak by mělo stačit udělat toto:
".$server["name"]."
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

Re: PHP - problém s php+html

Příspěvek 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...
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

:lol: 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
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: PHP - problém s php+html

Příspěvek od KapaCZ »

:) jde o to že jakýkoliv tag má náké pravidla podle toho kde je použit:

Tvoje verze: !!BAD!!

Kód: Vybrat vše

<tr height=20><tr>
V HTML:

Kód: Vybrat vše

<tr height="20"><tr>
V PHP s příkazem echo"";

Kód: Vybrat vše

echo"<tr height=\"20\"><tr>";

Podle toho si to oprav :)
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

No jasně, proč to dělat jednoduše když to jde složitě 8-)
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: PHP - problém s php+html

Příspěvek od KapaCZ »

Co se ti zas nezdá? :lol:
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

Jenom že by bylo jednodušší místo

Kód: Vybrat vše

echo"<tr height=\"20\"><tr>";
napsat

Kód: Vybrat vše

echo "<tr height='20'><tr>";
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

Re: PHP - problém s php+html

Příspěvek od Lolllec »

A keď to neupravím, bude to robiť v niektorých prehliadačoch chyby, alebo ako sa to prejaví?
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

Některé prohlížeče můžou ten parametr ignorovat.

Ergo vždycky tam ty uvozovky měj.
Highlander
Začátečník
Začátečník
Uživatelský avatar
Registrován: 22. lis 2004
Bydliště: Brno
Kontaktovat uživatele:

Re: PHP - problém s php+html

Příspěvek 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ší.
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

Re: PHP - problém s php+html

Příspěvek 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úť.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek 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 (....);
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

Re: PHP - problém s php+html

Příspěvek 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 :D

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.
Naposledy upravil(a) Lolllec dne sob 17. črc 2010, 16:09, celkem upraveno 1 x.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek 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é.
Lolllec
Nováček
Nováček
Registrován: 13. bře 2008

Re: PHP - problém s php+html

Příspěvek od Lolllec »

Výborne, mám to :) ďakujem veľmi pekne za pomoc.

PS: v tom arrayi sa používa =>, nie -> :)
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

Njn, já na to skriptování moc nejsem, já raději webdesign 8-)

Není zač
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: PHP - problém s php+html

Příspěvek 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)
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: PHP - problém s php+html

Příspěvek od arxeiss »

Já bych se vyjádřil k tomu co napsal bubu
Bubanek píše:

Kód: Vybrat vše

echo "<tr height='20'><tr>";
Toto je ale přece nevalidní ne? V HTML musí být height="20" a ne height='20'
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: PHP - problém s php+html

Příspěvek od bubanek »

Si to projeď validatorem :wink:
Odpovědět

Zpět na „Programování a web“