[Allegro] rset.php hat einen fehler, der nur unter php 5.x sichtbar wird

Klaus Lehmann lehmann_klaus at t-online.de
Do Nov 10 15:13:26 CET 2011


Guten Tag [Frau/Herr] Jörg Oberfell,
danke für Ihre Nachricht.
Am Donnerstag, 10. November 2011 um 14:41 schrieben Sie mir.
Ihre Nachricht finden Sie am Ende dieser eMail.



danke, danke, herr oberfell, daß sie sich meiner annehmen ;-)

nur subjektiv aus dem bauch be/gemerkt: immer wenn es um php geht, 
dann zieht sich braunschweig zurück. und die anderen 
schmunzeln(?)/rätseln(?)/ignorieren(?), wat der lehmann denn nu wieder 
hat ;-)




> Hallo Herr Lehmann,
>> in der rset.php steht es so geschrieben:[...]
....
> Feldelement meint hier $erg[0], also das erste Element im Array $erg.
> Die PHP-Meldung lässt sich mit folgendem PHP-Skript reproduzieren:

> $erg = array();      // LEERES Array
> if(substr($erg[0],0,2)=="i="){}

> Mit einem einelementigen Array, z. B.
>     $erg = array("");      // Array mit einem Element (leerer String)
>     if(substr($erg[0],0,2)=="i="){}
> ist die Meldung dann weg.

> Bleibt die Frage, warum $erg leer ist.

wenn ich das richtig verstehe, dann steht ist die antwort im kommentar 
zu lesen:
/* Ergebnisse anzeigen */
/* Wenn die Ausgabe mit "i=" anfaengt, war es nur 1 Datensatz. */
/* Der wird mit javascript eingeblendet */   

ich rate/interpretiere: kommt ein "i="irgendwas oder kommt eben als 
nur mögliche alternative eben NICHTS, ist $erg leer. zu einfach?


also löst ihre zusätzliche zeile das problem?!
es gilt es auszuprobieren.


noch mehr dunkle ins licht:
ich versuche gerade die lösung anzupassen, und merke, daß alle(?) diese 
fehlermeldungen von einer(?) ip kommen:
129.13.130.211
das ist interessanterweise: 
129.13.130.211 resolves to ubkadomu-74.ubka.uni-karlsruhe.de
hm. sollte der KVK dahinterstecken? womöglich.
ich habe dem KVK NIE erlaubt, meine kataloge offiziell abzugreifen. es 
hat auch NIE jemand "um erlaubnis gebeten". man muss das bestimmt 
nicht so eng sehen ;-)
erzeugen etwa normale benutzer diese fehlermeldungen garnicht?
säubere ich für den KVK das feld?


ein anderer ansatz ist auch:
wir geben explicit an dieser stelle gar keine fehlermeldungen raus!
und zwar so: (seit gestern abend getestet)

in der rset.php um ein "@" ergänzt
if(substr(@$erg[0],0,2)=="i=").
          ~
ist das "kopf in den wüstensand stecken"?


weiter geht's!
ihr klaus lehmann



> Viele Grüße,
> Jörg Oberfell




-- 
Mit freundlichen Grüßen,
Ihr Klaus Lehmann
* http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
* allegronet.de * Klaus Lehmann * D-01454 Radeberg * Kleinwolmsdorfer Str. 37
* Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
* Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow
* Yes we can. Only with allegro. Yes we do. Allways with allegro.
* Internetkataloge&WebHosting für Allegro-C
* 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)





Am Donnerstag, 10. November 2011 um 14:41 schrieben Sie:
> Hallo Herr Lehmann,

>> in der rset.php steht es so geschrieben:[...]
>>
>> if(substr($erg[0],0,2)=="i=").              /* line 102 */
>>
>> das apache2-log schreibt den fehler so:
>> =======================================
>>
>> PHP Notice:  Undefined offset: 0 in /home/public_html/rset.php on line 102, referer: http://find.php
>> PHP Notice:  Undefined offset: 0 in /home/public_html/rset.php on line 109, referer: http://find.php
>>
>>
>> google half etwas:
>> ==================
>> "Die Fehlermeldung "Undefined offset" deutet darauf hin, dass sich
>> hier auf ein nicht existierendes Feldelement bezogen wird."
>> Welches feldelement????

> Feldelement meint hier $erg[0], also das erste Element im Array $erg.
> Die PHP-Meldung lässt sich mit folgendem PHP-Skript reproduzieren:

> $erg = array();      // LEERES Array
> if(substr($erg[0],0,2)=="i="){}

> Mit einem einelementigen Array, z. B.
>     $erg = array("");      // Array mit einem Element (leerer String)
>     if(substr($erg[0],0,2)=="i="){}
> ist die Meldung dann weg.

> Bleibt die Frage, warum $erg leer ist.

> Viele Grüße,
> Jörg Oberfell




Mehr Informationen über die Mailingliste Allegro