Undefined varibable, index, children...

Tile errorji ki jih prilagam spodaj mi v 2 dneh nabijejo ogromen error file...

PHP Notice: Undefined index: categoryid --> kaže na:
<li class="level0 level-top parent"> ista napaka tudi dve vrstici nižje:
<span><?php echo $category['name']; ?></span> </a>
Pa še drug ponavljajoči error:
PHP Notice: Undefined index: children in ---> kaže na:
<?php //print
r($category['children'][$i]['child2']);

Nisem programer, tako da kaj je tule narobe ne bom verjento nikoli opazil...
Opazi kdo napako ali moram še več prilimati?

Verjetno zaradi teh napak (ali pa tudi ne) imam sfailan product page v Internet explorerju.

Hvala dobri ljudi interneta.
Prosim moderatorja da temo prestavi v Programiranje.

12 odgovorov

hja napaka je da pač tega polja ni v tabeli (saj sam error to pove).

Kako to popravit?
Hja če nisi programer boš težko, ker je potrebno vedet zakaj do tega pride ali pa se preprosta doda preverjanje če obstaja. Samo ta druga varianta, ni nujno da bo rešila sfailan product page.

3

Kako pa dodam to preverjanje?
Verjetno do tega prihaja zaradi raznih modifikacij, ker sem isto trgovino z isto themo postavil punci pa sicer javlja neke errorje, ampak stran normalno dela v vseh brskalnikih...
Zakaj do tega pride so poskušali že na fiverju in tudi na stockflowu, eden je odgovoril takole:

Haven't done much analysis on your problem, but IE is reporting a lot of the same error: The value of the property '$' is null or undefined, not a Function object. This looks like a problem with jquery not loading properly or something like that
Can you try to put all your jquery code inside the $(document).ready(function() {} function? <<
Ker seveda ne razumem zakaj se gre je povedal tudi:
Inside you body I find code like this: if ( ($(window).height() + 100) < $(document).height() ) {. This code should be inside the $(document).ready(function() { that I also see in your page code. This is one of many examples I can find <<
Ampak še kar smo tu :)

11

Zgornji php error nima nič z IE, saj se php izvaja na strežniku in ne v brskalniku. Za problem bo bolj kriv kakšen java script, kot so ti že namignili na stackoverflowu.

Preverjanje keya v arrayu lahko narediš z "arraykeyexists" ali "isset" za spremenljivko. Sam boš to verjetno bolj težko naredil.

2

Torej, če želim da stran dela normalno v IE moram iti po njegovihi navodilih.
Ampak kako to naredim?
Npr. na njegovem primeru:
if ( ($(window).height() + 100) < $(document).height() ) {
spremenim v
$(if ( ($(window).height() + 100) < $(document).height() ) {).ready(function()
Ali kako se to obdela?
Najlepša dala za odgovore.

11

Mario, ti opisuješ 2 ločeni napaki - ne jih mešat :)

Prva je napaka v PHPju in pove točno to, kar ti je že bostjan napisal: išče se neka vrednost (v tem primeru '$category_id'), ki ne obstaja. Za tole boš moral povprašat kakšnega programerja (oz. poznavalca), najlažje pa bo, če mu daš dostop in on pogleda/popravi. Ta zadeva se izvaja na strežniku in nima veze z brskalnikom.

Druga je pa tale javascript/jQuery/IE problem. Za začetek najprej poglej, če imaš vse datoteke na pravem mestu, če so poti do njih pravilne ipd. Potem preglej kodo (najlažje, če datoteko odpreš v kakšnem text editorju), če imaš zavite oklepaje lepo v parih oz. če nimaš zakomentirane kakšne vrstice preveč (neumna fora, ampak en fcking zaklepaj ti lahko pobere precej časa).

Šele potem začni iskat "hacke" po forumih in SO. Drugače boš naredil tak štrudl po kodi, da bo programer (ali pa naslednji lastnik projekta) samo skočil z balkona :)

3

Dobro napisano :)
Vsekakor je prvotno treba odpravit IE problem, ker danes kljub vsem popularnim brskalnikom, še vedno večina podjetij uporablja IE, da ne govormo o starejših uporabnikih..
Tole z oklepaji večkrat prebiram ja, samo pri meni je že težava kako se ta ready function oblikuje - kaj v kaj..
Hvala za minuse opazovalcem, iz moje strani bodo vedno plusi.

1

$( document ).ready(function() {
// tukaj pride tvoja koda
});

Mogoče bi si kakšne začetne tutoriale Javascripta, jQuerya in še česa pogledal najprej?

1

Če še kdo išče kar priporoča LouD - gledam in poslušam

$( document ).ready(function() {
$('select[, input[name="quantity"]').change(function(){
$.ajax({
url: 'index.php?route=product/product/getRecurringDescription',
type: 'post',
data: $('input[name=\'productid\'], input[name=\'quantity\'], select[name=\'recurringid\']'),
dataType: 'json',
beforeSend: function() {
$('#recurring-description').html('');
},
success: function(json) {
$('.alert, .text-danger').remove();

        if (json['success']) {
            $('#recurring-description').html(json['success']);
        }
    }
});

});
[b]});[/b]
Loud, si takole mislil? (moj del je ojačan) Tole namreč še vedno javlja napako, verjetno moram prešteti oklepaje :)]()

Kaj če bi dal link do strani kjer imaš težave?
Tako se namreč zelo težko pomaga.

1

Vsak product page v IE...
Npr tale rezalnik za ploščice v Internet explorerju.
Homepage naloži, napaka v product page pa tudi v category...
Hvala za voljo pomagati!

1