Zdravím, potřeboval bych vědět co znamená, když mi to napíše parse error např t_string, nebo t_else.....tak co znamená to t_. Děkuju za odpověď
<HTML>Nazdar, snad ti moje odpověď postačí:
T_ je token. Token je lexikální jednotka jazyka. Dá se říct, že každé klíčové slovo, ale třeba i každé číslo, název proměnné, znaménko či závorka představuje nějaký token. A aby se dal rozumně naprogramovat překladač, je vhodné mít ty tokeny nějak pojmenované (i když jde v reálu jen o konstanty zastupující čísla proudící z lexikálního analyzátoru (= parseru) do překladače, který generuje syntaktický strom). A aby ta jména tvůrci PHP odlišili od něčeho jiného (třeba od prvků syntaktického stromu), vřadili tam předponu T_, znamenající token.
Nemáš zač,
Nípal.</HTML>
Nípal::: Být na jeho místě, tak se tě v životě nezeptám na nějaké t_ Děsně to okecáváš! :-))
dobře-zeptám se ještě jinak- když mám nějakou syntax chybu s tím t_čkem-co je v kódu špatně, jak mám odstranit tuto chybu?(díval jsem se do manuálu, ale anglicky moc dobře neumím a google mi to nepřeložil zrovna abych tomu rozumněl... sám sebe se ptám-proč není česká verze php manuálu?
<HTML>No, chce to umět anglicky - překladač na daném místě očekává nějakou konkrétní věc (konkrétní token), ale řve, když se tam objeví něco neočekávaného. Obvykle napíše: parse error, unexpected neočekávaný_token, expected očekávané_tokeny on line blablabla in file blablabla.
Neočekávaný token je něco, co v tom kódu je, očekávané je něco, co by tam mělo být. Často bývá očekávána nějaká závorka (je dobré si zkontrolovat závorky) nebo středník (za celistvým příkazem se píše středník). Nebo se v souboru objeví nějaký bordel, třeba nesprávně vložený reklamní banner - ten je nutné dát vkládat nahoru a do konkrétního souboru (a pokažené PHP skripty znovu nahrát).
Seznam možných tokenů se dá najít v manuálu: <a href="http://php.net/manual/en/tokens.php">
http://php.net/manual/en/tokens.php</a>, ve sloupci token je název tokenu, ve sloupci syntax je napsáno, co tomu odpovídá ve skriptu.
Pokud si stále nevíš rady, hoď sem konkrétní chybovou hlášku. (Občas mě udivuje, že si tazatel usmyslí nějaký způsob jak se dobere k řešení svého problému, zeptá se na podružnost související s tímto způsobem a pak z něj tady postupem času vytáhneme, že ta podružnost je součástí něčeho většího a že ve skutečnosti uživatel řeší nějaký problém, se kterým si neví rady. A často se taky ukáže, že se to dá řešit i úplně jinak, než si tazatel usmyslil. Ne, že by mi to vadilo, ale uživatel si tak často škodí sám sobě, protože mu vyřešení problému zabere více času, než když o něm dá vědět hned na začátku.)</HTML>
píše mi to Parse error: syntax error, unexpected T_ELSE in /3w/wz.cz/j/jestrabi-skaut/podpora/forum/forko.php on line 40 tzn. není tam co očekával.
pokouším se udělat fórum pomocí příkazů fopen,fwrite,...
radši uvedu kousek kódu:
if(!$_POST["odeslano"]){
echo
"<a href=\"forko.php?tema=\">koren</a> <br>
<a href=\"forko.php?tema=pripominky\">Pripomínky</a><br>
<a href=\"forko.php?tema=gladi\">Gladiatus</a><br>" ;
$soubor=fopen("$tema.php","r");
$precti=fread($soubor,filesize("$tema.php"));
fclose($soubor);
}?>
<form>blabla
<?php
else {
$soubor=fopen("$tema.php","r+");
fread($soubor,filesize("$tema.php"));
fwrite($soubor,$_POST["jmeno"]."\n".$_POST["text"],filesize("$tema.php"));
fclose($soubor);
}
?>
pokud bys věděl lepší způsob nebudu se bránit zaškolení :) přecejen jsem pořád školou povinný XD
problém je na řádce kde máš:
}?>
je tam ukončení bloku, který nikde nezačíná
Pokud za "}" máš výstup řetězce, podmíněný příkaz se považuje za uzavřený a proto je následující else neočekávaný. Řetězec "<form>blabla" dej do první nebo druhé větve podmínky, ale ne mezi ně.
Nezapomeň si ošetřit proměnnou $tema, jinak ti do toho někdo strčí vlastní URL a hackne ti web.
houba:ten blok někde začíná, akorát jsem sem dal část kódu...
kit: velmi děkuji. není to sice můj první kód z formuláři, ale chyby se může stát. Každopádně moc děkuji, bez vás bych chybu hledal ještě hooodně dlouho