Autor Zpráva
kuba95
Profil
Ahoj,
Potřebuju pomoct s tímhle. Když jdu na stránku, ukáže mi to chybu:
Parse error: syntax error, unexpected T_ELSE in /home/users/kasparek/ptc.jecool.net/web/success.php on line 235

Poradíte mi prosím někdo, co s tím??
Děkuji

P.S. ta chyba na řádku 235 je tomhle kousku na řádku 93 - nevešlo se to sem celý
//referals visits
      $sqlzd = "SELECT * FROM tb_users WHERE username='$user'";
      $resultzd = mysql_query($sqlzd);        
      $myrowzd = mysql_fetch_array($resultzd);
$juaz=$myrowzd["referer"];

if ($juaz!="") {
$sqlzde = "SELECT * FROM tb_users WHERE username='$juaz'";
$resultzde = mysql_query($sqlzde);        
$myrowzde = mysql_fetch_array($resultzde);
$juaze=$myrowzde["referalvisits"];
$billetes=$myrowzde["money"];

$sqle = "SELECT * FROM tb_upgrade WHERE username='$juaz'";
$resulte = mysql_query($sqle);        
$rowe = mysql_fetch_array($resulte);

      $referalclick1 = "SELECT * FROM tb_clicks WHERE item='referalclick' and howmany='1'";
      $referalclick2 = mysql_query($referalclick1);
      $referalclick3 = mysql_fetch_array($referalclick2);

      $p1referalclick1 = "SELECT * FROM tb_clicks WHERE item='p1referalclick' and howmany='1'";
      $p1referalclick2 = mysql_query($p1referalclick1);
      $p1referalclick3 = mysql_fetch_array($p1referalclick2);

 $p2referalclick1 = "SELECT * FROM tb_clicks WHERE item='p2referalclick' and howmany='1'";
      $p2referalclick2 = mysql_query($p2referalclick1);
      $p2referalclick3 = mysql_fetch_array($p2referalclick2);
 
$p3referalclick1 = "SELECT * FROM tb_clicks WHERE item='p3referalclick' and howmany='1'";
      $p3referalclick2 = mysql_query($p3referalclick1);
      $p3referalclick3 = mysql_fetch_array($p3referalclick2);

 $p4referalclick1 = "SELECT * FROM tb_clicks WHERE item='p4referalclick' and howmany='1'";
      $p4referalclick2 = mysql_query($p4referalclick1);
      $p4referalclick3 = mysql_fetch_array($p4referalclick2);

 $p5referalclick1 = "SELECT * FROM tb_clicks WHERE item='p5referalclick' and howmany='1'";
      $p5referalclick2 = mysql_query($p5referalclick1);
      $p5referalclick3 = mysql_fetch_array($p5referalclick2);

$referalclick4 = $referalclick3["price"];
$p1referalclick4 = $p1referalclick3["price"];
$p2referalclick4 = $p2referalclick3["price"];
$p3referalclick4 = $p3referalclick3["price"];
$p4referalclick4 = $p4referalclick3["price"];
$p5referalclick4 = $p5referalclick3["price"];

if ($myrowzde["account"]=="premium1")
{
      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$p1referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
} else {

if ($myrowzde["account"]=="premium2")
{
      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$p2referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
} else {

if ($myrowzde["account"]=="premium3")
{
      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$p3referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
} else {

if ($myrowzde["account"]=="premium4")
{
      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$p4referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
} else {

if ($myrowzde["account"]=="premium5")
{
      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$p5referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
} else {

      $sqlexd = "UPDATE tb_users SET referalvisits=referalvisits+1, money=money+'$referalclick4' WHERE username='$juaz'";
      $resultexd = mysql_query($sqlexd);
}

}

    $sqlex = "UPDATE ads SET clicks=clicks+'1', clicksleft=clicksleft-'1' WHERE ad_id='$adse'";
    $resultex = mysql_query($sqlex);

echo "<img src='images/ok.png'> ";
exit();



} else {

      $sqlex = "UPDATE ads SET outside=outside+'1' WHERE ad_id='$adse'";
      $resultex = mysql_query($sqlex);

echo "<img src='images/notlogged.gif'>";
exit();

}

?>
Joker
Profil
kuba95:
Najděte si řádek 235 a opravte syntaktickou chybu někde okolo něj.
Tori
Profil
kuba95:
Bylo by trochu čitelnější místo
if (neco)
else
  if (necoJineho)
  else
    if (nic)
používat elseif:
if (neco)
elseif (necoJineho)
elseif (nic)
panther
Profil
Tori:
Bylo by trochu čitelnější
a ještě čitelnější by byl switch.
kuba95
Profil
elseif mi nefugovalo. Co je ten switch??
Joker
Profil
kuba95:
Co je ten switch?
Viz nějaká učebnice PHP (případně seriál na Linuxsoftu).
kuba95
Profil
Nevíte někdo, co je to za chybu?? Nemůžu tam nic najít...
Tori
Profil
kuba95:
Chyba je v tom, že po else nemůže následovat další else. Spočítejte si složené závorky a uvidíte, že to chybové else následuje po:
if ($myrowzde["account"]=="premium3")  { // řádek 61
  //..kus kodu
} else { // řádek 65
  // ...kod
} else { // řádek 93, chyba

Od boku tipuji, že else na řádku 93 se vztahuje k if na řádku 7, což by znamenalo, že na ř.83 je potřeba uzavřít ještě tři předchozí podmínky. (Ale jen věštím bez záruky, nevím, jak ten skript má fungovat.)
kuba95
Profil
když jsem tam doplnil 3 konce závorek, tak mi to hází chybu:
Parse error: syntax error, unexpected $end in /home/users/kasparek/ptc.jecool.net/web/success.php on line 249 - přičemž řádka 249 je úplně poslední řádka:
?>

Tak nevim
pcmanik
Profil
kuba95:
Skus ten kod cely zjednodusit, nepotrebujes samostatne premenne na query, staci ti to napisal rovno do toho, pouzivaj switch ako uz bolo spomenute. Tym padom sa ti kod rapidne skrati a odhalenie chyby bude ovela jednoduchsie, nikomu sa tu nechce hladat chyby v polkilometrovom kuse kodu.
kuba95
Profil
pcmanik:
jedinej problém je, že já nevim, jak to zkrátit a zjednodušit. Zas natolik s PHP neumim
petr 6
Profil
kuba95:
jedinej problém je, že já nevim, jak to zkrátit a zjednodušit.
[#10]

Nebo pro začátek hierarchicky odsazovat bloky {} a uvidíš to hned.
Joker
Profil
petr 6:
pro začátek hierarchicky odsazovat bloky {} a uvidíš to hned.
Lepší řešení je sehnat si pořádný editor a neměl by takové problémy.
Normální PHP vývojové prostředí (IDE) formátuje kód automaticky a zvýrazňuje syntaktické chyby, takže opravit triviální syntaktickou chybu (což na 99% je příčina toho vlákna) trvá několik sekund a ne několik hodin.
(Poznámka, právě označování syntaktických chyb a ještě „intellisense“ + bublinová nápověda jsou dvě hlavní věci, díky kterým IDE řádově zvýší produktivitu práce)

Jinak ale třeba i PSPad umí zvýrazňovat související závorky.
kuba95
Profil
a jakej editor by jsi mi teda doporučil, PSPad??
l564
Profil
kuba95:
A toto jsi četl? PHP editory
Joker
Profil
l564:
Ehm, to je přesně to před čím jsem varoval.
Žádný speciální PHP editor k tvorbě stránek nepotřebujete. … Vystačíte si s obyčejným textovým editorem.
No to je sice pravda, jenže pak to vypadá viz tohle vlákno: Nedokážete si poradit ani s triviální syntaktickou chybou.

PSPad je takový použitelný základ, ale na PHP je daleko lepší IDE (vývojové prostředí), než textový editor.
Já třeba na PHP používám Eclipse (má spoustu variant, na PHP je samozřejmě Eclipse for PHP developers)

Dodatek: Téma editorů pro PHP se tu už řešilo, třeba V čem píšete PHP. Možná by bylo dobré udělat takový přehled editorů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: