Autor Zpráva
pohoda
Profil
Mam na svojom PC nainstalovane webove rozhranie VertrigoServ /php, mysql,apache.../.

Ak som pouzival starsiu verziu windowsu XP so service packom 1, tak mi to /VertrigoServ - webove rozhranie/ fungovalo spravne. Teraz mam verziu XP so service packom 2 a prestali mi fungovat pomerne jednoduche scripty - nechce pripojit k databaze, a na pomerne jednoduchu aplikaciu mi vypisalo chybu:
Fatal error: Cannot break/continue 1 level in C:\Program Files\VertrigoServ\www\FLASH\str\index.php on line 15
/pritom ten isty script mi so starsou verziou fungoval spravne/
mozno bude chyba v brane firewall, ale tu som vypnul, a nepomohlo.
Skusal som preinstalovat a nainstalovat ine rozhrania, ale nepomohlo.
Pomozete mi niekto?
Dakujem.
ernesto
Profil *
zkus XAMPP, ten mi šlapal na XP SP2 v pohodě
nightfish
Profil
Fatal error: Cannot break/continue 1 level in C:\Program Files\VertrigoServ\www\FLASH\str\index.php on line 15
problém je zcela určitě ve skriptu samotném... není náhodou ve FLASH/str/index.php na řádku 15 break nebo continue mimo jakýkoliv cyklus? (pakliže ano, tak věz, že tam nemá co dělat)
pohoda
Profil
Takto vyzera moj script:
index:
<?
if (!$str) { include "str/index.php"; };
if ($str) { include "str/$str.php"; };
?>

volany subor str/index.php:
<?
if (!$kategoria) $filter="ORDER BY id DESC";
if ($kategoria==all) $filter="ORDER BY nazov";
if ($kategoria==top) $filter="ORDER BY pocet DESC";
if ($kategoria==nove) $filter="ORDER BY id DESC";
if ($kategoria==sportova) $filter="WHERE kategoria LIKE 'sportova'";
if ($kategoria==adventura) $filter="WHERE kategoria LIKE 'adventura'";
if ($kategoria==bojova) $filter="WHERE kategoria LIKE 'bojova'";
if ($kategoria==ostatne) $filter="WHERE kategoria LIKE 'ostatne'";
if ($kategoria==hladaj) $filter="WHERE (nazov LIKE '%" .$hladaj. "%') OR (kategoria LIKE '%" .$hladaj. "%') OR (popis LIKE '%" .$hladaj. "%')";

@$spojenie = MySQL_Connect("localhost");
if (!$spojenie):
echo "Nepodarilo sa pripojit k MySQL databáze.<BR>\n";
break;
endif;
MySQL_Select_DB("test");
mysql_query("SET NAMES 'latin2';");
//pre urcenie celkoveho poctu z dannej kategorie + strankovanie
$vysledok_pocet = MySQL_Query("SELECT id FROM flash $filter");
$vsetky = MySQL_Num_Rows($vysledok_pocet);
$perpage = 10;
@$pocet_stranok = ceil($vsetky/$perpage);
if (IsSet ($page) ) //vytvorenie premennej limit - ak neexistuje $page, priradime premennej limit hodnotu 0
{
$limit = ($page*$perpage)-$perpage;
$page_url=true;
}
else {
$limit = 0;
$page=1;
}


atď.
Nevidim tam chybu, a naviac, ak som mal XP so sp1, tak to fungovalo v pohode, a teraz mi to nefunguje na VertrigiServ, ani na EasyPHP, ani na PhphomeEdition.
Anonymní
Profil *
pohoda: je to cele pofiderní (php3?) ale ten break tam nepatří...
prostě ho smaž...
jakmile vypnou na hostingu register_globals tak ti ten skript přestane fungovat
krteczek
nightfish
Profil
Nevidim tam chybu
z manuálu: break ukončuje provádění aktuálního příkazu for, foreach while, do..while nebo switch.

ty jej máš v if-u, takže to prostě fungovat nemůže
takže jej nahraď za Die(); nebo exit;
pohoda
Profil
Dik za informacie. Je pravda, ze sa ucim na php3 od jirku Koska - odtial to mam. Neide mi do hlavy, ze na predchadzajucej verzii XP mi to fungovalo /mal som nainstalovanu tu istu verziu VertrigoServ/.

*Este som zabudol, to pripojenie k DB ma byt v do..while , ale na predchadzajucej verzii XP mi to fungovalo.
pohoda
Profil
OK nightfish,
mal si pravdu, bolo to tym prikazom break, a to, preco mi to fungovalo na starej verzii je jedno, pretoze naostro by mi to tiez nefungovalo /prave som to skusal na skutocnom webhostingu/.

Chcem sa este spytat na tan register_globals. Ako mam spravit, aby mi fungovalo predavanie premien aj ked bude vypnute register_globals?

Dakujem.
nightfish
Profil
když budeš mít třeba formulář, odesílaný metodou "post", a v něm položku se jménem "jmeno", tak ve skriptu místo $jmeno použiješ $_POST['jmeno']

popřípadě ve skriptu používáš $jmeno a na začátek souboru dáš něco ve stylu

if (isSet($_POST['jmeno'])) $jmeno = $_POST['jmeno']; else $jmeno = ""; //do těch uvozovek dej nějakou výchozí hodnotu pro případ, že stránce někdo tento parametr nepředá
peta
Profil
pro ladeni je dobre zadat prvni radek scriptu:
error_reporting(E_ALL);
Toto téma je uzamčeno. Odpověď nelze zaslat.

0