| | |
| Stránka: 1 z 1
| [ Príspevkov: 23 ] | |
Autor | Správa |
---|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Neviem ci to davam do spravnej kategorie,ked tak to presunte..
Nainstaloval som si wampServer 2 a spustil si indexovu stranku. Lenze namiesto stranky sa mi objavili tieto chybove hlasenia.:
Notice: Undefined index: site in C:\wamp\www\pokus\func.php on line 22
# Time Memory Function Location
1 0.0002 369832 {main}( ) ..\index.php:0
2 0.0032 456104 mainsite( ) ..\index.php:56
Notice: Undefined index: loginuser in C:\wamp\www\pokus\uvod.php on line 5
# Time Memory Function Location
1 0.0002 369832 {main}( ) ..\index.php:0
2 0.0032 456104 mainsite( ) ..\index.php:56
3 0.0042 490816 require( 'C:\wamp\www\pokus\uvod.php' ) ..\func.php:28
No absolutne nerozumiem preco mi hlasy tieto chyby. Navyse mi hlasilo chyby aj pri $_SESSION premennych..Ked som ich zmazal, tak to hlasi teraz toto. Pridkladam aj spominane func.php a uvod.php
V tejto funkcii mi to hlasi chybu:
Kód: function mainsite () { if ((string)$_GET["site"]<>'') $mysite=$_GET["site"]; else $mysite="uvod"; if (is_file("./".$mysite.".htm")): $namesite=$mysite.".htm"; require $namesite; elseif (is_file("./".$mysite.".php")): $namesite=$mysite.".php"; require $namesite; else: $namesite=$mysite.".htm"; require "notfound.php"; endif; } A v tomto subore- uvod.php riadok 5-6: Kód: $loginuser=$_SESSION["loginuser"]; $loginkey=$_SESSION["loginkey"];
Myslel som ze pomôze zapnutie register_globals, ale toto mi problem nevyriesilo. Neviete mi poradit v com by mohol byt problem?? Dakujem za kazdy typ..
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 22.09.2011 14:12 | |
|
V tom upozornení píše, v čom je problém, takže neviem, čomu vlastne nerozumieš.
Napr. tam máš $_GET["site"]. Keď ideš priamo na tú stránku, tak v URL (a teda ani v GET) žiadny parameter site nie je.
Čiže ak nechceš, aby ti to písalo to upozornenie, tá prvá podmienka bude vyzerať približne takto: Kód: if (isset($_GET["site"]) && (string)$_GET["site"]<>'') $mysite=$_GET["site"]; else $mysite="uvod";
Predpokladám, že pri SESSION je úplne rovnaký problém (a teda, že sa zo SESSION pokúšaš vyberať niečo, čo tam nie je).
PS: Netuším, na čo tam máš to pretypovanie na string (pri GET to aj tak bude string, občas aj array, ale to to pretypovanie na string nijako nevyrieši)
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Vdaka za odpoved. Takze som skusil opravit $_SESSION resp. zadefinovat premmenu a uz to chyby nehlasi.
Namiesto:
Kód: $loginuser=$_SESSION["loginuser"]; $loginkey=$_SESSION["loginkey"]; som pouzil takyto zapis: Kód: if(empty($_SESSION["loginuser"])) { $loginuser=""; $loginkey=""; } else { $loginuser=$_SESSION["loginuser"]; $loginkey=$_SESSION["loginkey"]; } Len nerozumiem preco na normalnom webhostingu mi to v pohode funguje(ten prvy zapis) a na wampservery nie.. Neda sa toto nejako osetrit, aby mi to nehlasilo ako chybu? A este jedna vec, s ktorou som sa stretol a nie je mi clekom jasne, preco to tak na wampservery funguje. Povedzme, ze mam v scripte nieco take: Kód: $dopyt1=mysql_query("SELECT * FROM tabulka1"); if(!$dopyt1) {$err .="Zlyhalo spojenie pri 1 vybere";} $dopyt2=mysql_query("SELECT * FROM tabulka2"); if(!$dopyt2) {$err .="Zlyhalo spojenie pri 2 vybere";} $dopyt3=mysql_query("SELECT * FROM tabulka3"); if(!$dopyt3) {$err .="Zlyhalo spojenie pri 3 vybere";} echo "$err";
Tak vo wampservery mi hlasi chybu $err - Undefined variable..Ale ked tento zapis upravim takto: Kód: $dopyt1=mysql_query("SELECT * FROM tabulka1"); if(!$dopyt1) {$err ="Zlyhalo spojenie pri 1 vybere";} $dopyt2=mysql_query("SELECT * FROM tabulka2"); if(!$dopyt2) {$err .="Zlyhalo spojenie pri 2 vybere";} $dopyt3=mysql_query("SELECT * FROM tabulka3"); if(!$dopyt3) {$err .="Zlyhalo spojenie pri 3 vybere";} echo "$err";
Tak to uz funguje bez problemov.. Znova na webhostingu mi to bezi v pohode a na wampservery to blbne.. Dakujem za odpovede..
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 22.09.2011 15:58 | |
|
Tým blbnutím predpokladám myslíš to vypisovanie hlášok o chybe na obrazovku a nie to, že by ti tá kontrola naozaj aj fungovala... Alebo to naozaj niečo vypíše ak napr. tabuľka neexistuje?
Tak to je tým, že na hostingu máš to vypisovanie zrejme potlačené a na locale nie(čo je správne). Nastavíš to v php.ini súbore.
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Skusim to troska inac vysvetlit. Povedzme, ze mam takyto jednoduchy script na formular:
Kód: if ($_GET["site"]=="odhlasit") { ..kod na odhlasenie zo stranky.. } ..pokracovanie kodu
if (isset($_POST["odoslat"])) { $meno=$_POST["UserMeno"]; ..overenie v DB.. $result = mysql_num_rows($databaza); if($result !="0") { $hodnota1="meno uz existuje"; } else {$hodnota1="meno je spravne";}
}
<form method="post" action="index.php?site=prihlasit"> Meno: <input name="UserMeno" type="text" size="20" maxlength="25" value='<?php echo $_POST["UserMeno"]; ?>'> <?php echo $hodnota1; ?>
<input type="submit" name="odoslat" value="Odoslať"> </form>
Ak som to mal na webhostingu, tak to fungovalo v pohode..No na wampservery mi to z fleku vyhodi 3 chyby:
- nepozna hodnotu $_GET["site"] (lebo ta bude zadefinovana az po klinuti na odkaz "odhlasiť")
- nepozna hodnotu $hodnota1 (lebo ta bude zadefinovana az po odoslani formulara)
- nepozna hodnotu $_POST["UserMeno"] (lebo formular este nebol odoslany)
No a ja chcem vediet ci sa to da nejako vypnut/osetrit (trebars v tom php.ini subore).
Aby to jednoducho nebralo ako chybu...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 22.09.2011 17:47 | |
|
Ako chyba sa to neberie (je to len upozornenie). Každopádne to upozornenie má zmysel, pretože podľa toho potom vieš, že testuješ niečo, čo ešte neexistuje (napr. preto, lebo máš v tom názve preklep).
To je taký problém tam použiť to isset (pri tom $_GET['site'] a $_POST["UserMeno"]) a premennú $hodnota1 vypísať len keď v nej niečo je (samozrejme na začiatku do nej dáš '' alebo false)?
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 23.09.2011 7:46 | |
|
Zober si to tak: Ako by si vedel, že pracuješ s nedefinovanou premennou, keby si mal tie hlásenia vypnuté?
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
OK..Takze som zasa o nieco mudrejsi..
Ale este by som potreboval vyriesit jeden problem. Na stranke mam zobrazene zmenseniny obrazkov podla navodu Zmena veľkosti obrázka. Cize nieco taketo:
Kód: <img src="imagethumbs.php?img=./images/obrazok.jpg&sirka=200">
kde imagethumbs.php je presne hore spomenuta funkcia. No a tu je ten problem..kym na webhostingu mi to nahlady zobrazuje normalne, tak na wampservery mi nezobrazi nic.. a uz si s tym neviem rady.. V com by mohol byt problem??
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 23.09.2011 12:57 | |
|
No a nevypisuje ti to nejakú chybu(to je to o čom sme sa bavili doteraz)?
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 23.09.2011 13:00 | |
|
V čomkoľvek. Zobrazovanie chýb máš zapnuté, takže sa pozri, čo ti namiesto toho obrázku príde (predpokladám, že tam bude text s nejakou chybou). Samozrejme to predpokladá, že vieš, ako sa používa Firebug (alebo niečo podobné v iných prehliadačoch), ale webové stránky by si bez tak základnej veci asi nerobil, takže ti to ani nebudem vysvetľovať.
Prípadne sa môžeš pozrieť do logu Apache, aj tam by sa tá chyba mohla zobrazovať (a zase predpokladám že vieš, kde a čo máš hľadať, pretože inak by si webové stránky asi nerobil).
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
A co tak radsej vypnut notice hlasky? PHPcku nedefinovane premenne principialne nevadia..
Kód: error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
chrono.. praveze mi to chybu nevypisuje.. len namiesto obrazka mi to zobrazi nejaku ikonu..ale ked kliknem na tu ikonu obrazka resp. kliknem na moznost zobrazit obrazok, tak vtedy mi to vypise hlasku:
Citácia: Fatal error: Call to undefined function onlineresize() Ale nerozumiem preco.. Preco v na hostingu to funguje normalne a na wampservery nie..
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 23.09.2011 14:56 | |
|
Vieš čo znamená veta: Call to undefined function onlineresize() ?
Ak nie tak nemá zmysel sa o tom ďalej baviť...
PS:to čo ti radil Tommyhot by som ti naozaj neodporúčal...
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Viem co znamena ta veta..Prelozit si to viem aj sam.. Ale neviem najst riesenie.. Ak by som vedel prist na to, preco normalne na hostingu ta funkcia funguje a na localhoste odrazu prestane bezat, tak sem nepisem..
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
camo píše: Vieš čo znamená veta: Call to undefined function onlineresize() ? Ak nie tak nemá zmysel sa o tom ďalej baviť...
PS:to čo ti radil Tommyhot by som ti naozaj neodporúčal...
A preco nie? funkcionalitu ti to nijako neovplyvni. Algoritmus sa ti vykona rovnako, akurat to bude bez hlasok. V PHP nepotrebujes inicializovat premenne. A ked uz, tak radsej ako toto co radil chromo:
Kód: if (isset($_GET["site"]) && (string)$_GET["site"]<>'') $mysite=$_GET["site"]; else $mysite="uvod";
by som na zaciatku kodu nastavil vsetky premenne na 0, resp prazdnu hodnotu.
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 Bydlisko: Lehota pod ... | Napísal camo: 23.09.2011 15:24 | |
|
TommyHot:
O inicializáciu nejde. Tie hlášky o premenných sú dobré najmä ak urobíš preklep. To už potom nebude taký bezproblémový chod ak sa na takú premennú budeš spoliehať. Možno ťa na to tvoje IDE upozorní. To moje ale určite nie...
zaciatocnik:
Čo myslíš , že prečo ti to ten server napísal? Asi s tou funkciou niečo neni v poriadku. Napr. preklep v názve...
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
Nuz, tak si zozen lepsie IDE na produkcnych verziach sa notice hlasky aj tak vypinaju..
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 23.09.2011 19:23 | |
|
zaciatocnik píše: ... len namiesto obrazka mi to zobrazi nejaku ikonu..ale ked kliknem na tu ikonu obrazka... Ja som ti nekázal pozrieť sa na obrázok, ale na to, čo naozaj príde (a namiesto obrázka príde pravdepodobne text s chybou a preto sa namiesto obrázka zobrazí len ikona). TommyHot píše: Nuz, tak si zozen lepsie IDE na produkcnych verziach sa notice hlasky aj tak vypinaju.. Keď sa budeš tváriť, že tam žiadne chyby nie sú, neznamená to, že tam chyby prestanú byť.
Navyše aj keď sa zvyčajne na produkčných serveroch takéto hlášky na stránke nezobrazujú (rozumný admin ich ale nechá vypisovať do logu, aby mohol prípadné problémy opraviť), neznamená to ale, že sa majú upozornenia vypnúť aj pri programovaní.
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
ale to nie su syntakticke chyby.. len si neinicializoval premennu.. v php to nemeni situaciu..
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 23.09.2011 20:32 | |
|
Mení to situáciu hneď pri prvom preklepe (a ani to najlepšie IDE nevie čítať myšlienky, takže neodhalí všetky chyby a navyše IDE ani nie je určené na odhaľovanie chýb).
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
neviem ako ty, ale ja existujuce premenne (tie dlhsie) doplnam cez autocompletion, takze preklepy nehrozia..
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
No preklep v nazve (funkcii a pod.) nie je..Prezrel som to hadam 100x..Chybova konzola vo FF mi ziadnu chybu nehlasi..Ak to spustim na hostingu, tak ako to je, tak mi to zobrazuje obrazky v pohode..na localhoste nie..Nemoze to byt nejakou funkciu v localhoste resp. v php.ini?? Ze mam nieco vypnute/zapnute, co moze robit problem??
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 24.09.2011 11:05 | |
|
Funkcia onlineresize v Php nie je a bez kódu nikto neuhádne, prečo ti to nefunguje.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 23 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|