IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @135
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Vyhraj Lego Duplo každý deň

Zapojte sa do súťaže a vyhrajte! Je to tak jednoduché! www.duplo.lego.com

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Zaregistruj sa!

Tvoj názor stojí peniaze. Vyplňte dotazník a zarobte si! www.marketagent.com

Všetko za 9,90€

obľúbené Topshop produkty za skvelú cenu len 9,90€! Kliknite a nakupujte. Topshop www.topshop.sk

Bazarmania.sk

Vyskúšajte nový prehľadný inzertný portál od tvorcov Pricemanie. www.bazarmania.sk

Upozornenie na nedefinovanu premennu

Zaslať odpoveď
AutorSpráva
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Št 22.09.11 12:35Odpovedať s citátomNávrat hore

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..
Zobraziť informácie o autoroviOdoslať súkromnú správu
chrono
Skúsený užívateľ
Skúsený užívateľ

Založený: 13.11.2007
Príspevky: 808

PríspevokZaslal: Št 22.09.11 14:12Odpovedať s citátomNávrat hore

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)
Zobraziť informácie o autoroviOdoslať súkromnú správu
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Št 22.09.11 15:32Odpovedať s citátomNávrat hore

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..
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Št 22.09.11 15:58Odpovedať s citátomNávrat hore

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.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Št 22.09.11 16:41Odpovedať s citátomNávrat hore

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...
Zobraziť informácie o autoroviOdoslať súkromnú správu
chrono
Skúsený užívateľ
Skúsený užívateľ

Založený: 13.11.2007
Príspevky: 808

PríspevokZaslal: Št 22.09.11 17:47Odpovedať s citátomNávrat hore

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)?
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 23.09.11 7:46Odpovedať s citátomNávrat hore

Zober si to tak: Ako by si vedel, že pracuješ s nedefinovanou premennou, keby si mal tie hlásenia vypnuté?
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Pi 23.09.11 11:06Odpovedať s citátomNávrat hore

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??
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 23.09.11 12:57Odpovedať s citátomNávrat hore

No a nevypisuje ti to nejakú chybu(to je to o čom sme sa bavili doteraz)?
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
chrono
Skúsený užívateľ
Skúsený užívateľ

Založený: 13.11.2007
Príspevky: 808

PríspevokZaslal: Pi 23.09.11 13:00Odpovedať s citátomNávrat hore

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).
Zobraziť informácie o autoroviOdoslať súkromnú správu
TommyHot
Užívateľ
Užívateľ

Založený: 20.10.2008
Príspevky: 2529
Bydlisko: Bratislava
Vek: 23

PríspevokZaslal: Pi 23.09.11 14:08Odpovedať s citátomNávrat hore

A co tak radsej vypnut notice hlasky? PHPcku nedefinovane premenne principialne nevadia..

kód:
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

_________________
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 7 x64 Ultimate
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 Notebook: Toshiba Satellite A210-19J CPU: AMD Turion 64 x2 2.0GHz RAM: 2 GB DDR2 667MHz GPU: ATI mobility radeon HD 2600 256MB RAM HDD: 200GB 5400 rpm Mouse: Microsoft Comfort Optical Mouse 3000 OS: Windows 7 x64 Ultimate
Phone: HTC Desire S Phone: iPhone 8GB
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Pi 23.09.11 14:38Odpovedať s citátomNávrat hore

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..
Zobraziť informácie o autoroviOdoslať súkromnú správu
camo
Zablokovaný užívateľ
Zablokovaný užívateľ

Založený: 05.09.2009
Príspevky: 1176
Bydlisko: Lehota pod Vtáčnikom

PríspevokZaslal: Pi 23.09.11 14:56Odpovedať s citátomNávrat hore

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...
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
zaciatocnik
Užívateľ
Užívateľ

Založený: 21.09.2008
Príspevky: 188
Bydlisko: Michalovce

PríspevokZaslal: Pi 23.09.11 15:01Odpovedať s citátomNávrat hore

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..
Zobraziť informácie o autoroviOdoslať súkromnú správu
TommyHot
Užívateľ
Užívateľ

Založený: 20.10.2008
Príspevky: 2529
Bydlisko: Bratislava
Vek: 23

PríspevokZaslal: Pi 23.09.11 15:06Odpovedať s citátomNávrat hore

camo napísal:
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: 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 7 x64 Ultimate
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 Notebook: Toshiba Satellite A210-19J CPU: AMD Turion 64 x2 2.0GHz RAM: 2 GB DDR2 667MHz GPU: ATI mobility radeon HD 2600 256MB RAM HDD: 200GB 5400 rpm Mouse: Microsoft Comfort Optical Mouse 3000 OS: Windows 7 x64 Ultimate
Phone: HTC Desire S Phone: iPhone 8GB
Zobraziť informácie o autoroviOdoslať súkromnú správuZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
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.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd