Undefined index?

PHP:
$this->UID = $_COOKIE["UID"];
$this->Referer = $_SERVER["HTTP_REFERER"];
Ich habe es nicht gezählt, aber es sind weit über 10.000 Zeilen Code.
Da nun alle Fehler ausmerzen? Nein Danke. ;)
 
Befindet sich das $this-> in der Klasse oder ausserhalb?
Koennte ja sein, dass er versucht mit $this ausserhalb der Klasse auf die darin enthaltenen Variablen zugreifen will.
 
Als wenn gerade ich mich mit OOP auskennen würde.....
PHP:
<?
Class Init
{
 var $CookiesTime;            // Temps de validité du cookie
 
 var $Ip;               // Retourne l'IP
 var $Host;               // Retourne le Host
 var $Referer;              // Retourne le Referer
 var $Client;              // Retourne la version du navigateur
 var $Date;                // Date du jour
 var $DateAccess;             // Timestamp de l'acces
 var $AccessPath = '/log/';
 var $active;
 function Init($activ = true, $Path)
 {
  $this->AccessPath = $Path;
  $this->Active = $activ;
  
//  $this->UID = session_id();
  $this->UID = $_COOKIE["UID"];
  $this->Ip = $_SERVER["REMOTE_ADDR"];        // Retourne l'IP
  $this->Host = gethostbyaddr($this->Ip);        // Retourne le Host
  $this->Referer = $_SERVER["HTTP_REFERER"];       // Retourne le Referer
  $this->Date = date("F j, Y, g:i:s");        // Date du jour
  $this->FileDate = date("Ymd");         // Date du fichier de log.. . 1/jour
  $this->DateAccess = time($this->Date);   
  $this->Client = $_SERVER["HTTP_USER_AGENT"];

[schnipp schnapp]
 
Hi,

danke für die Antworten.
Ich bin nicht in der lage das Skript umzuschreiben da ich mich mit PHP viel zu wenig auskenne. Werde wohl nicht drum herum kommen mir ein anderes Paket zu suches welches sorgfältiger Programmiert wurde.
Schade nur das die Hersteller nie mit angeben obs gut oder schlecht gecodet wurde, dann
könnte ich mir nämlich eine menge Zeit beim suchen und Installieren solcher Pakete sparen. :-)

Ich habe damals folgenden include Befehl auf meinem alten Webspace verwendent:
PHP:
<?php switch($id) { default: include('page1.php');
break; case "page2": include('page2.php');
...
} ?>

Alles lief ganz normal.
Bei meinem neuen Provider hat er mir jedesmal eine Meldung ausgegeben das die id undefiniert wäre oder so.
Durch Zufall hab ich dann mal dies ausprobiert:
PHP:
<?php  if(!isset($id)) { $id = ""; } switch($id) { default: include('page1.php');
break; case "page2": include('page2.php');
...
} ?>

Und dann gings auch dort.
Denkt ihr nicht das die Sicherheitseinstellungen etwas hoch gegriffen sind.
Hätte nie gedacht das es mit PHP solche Problem geben würde.
 
emonem hat gesagt.:
Schade nur das die Hersteller nie mit angeben obs gut oder schlecht gecodet wurde
Wenn Du etwas veroeffentlichst und willst, dass alle anderen es nutzen schreibst Du doch auch nicht dazu, dass es der groesste Schrott ist, oder? Das macht nichtmal Microsoft, und die verlangen sogar Geld fuer ihre Software. ;)
emonem hat gesagt.:
Denkt ihr nicht das die Sicherheitseinstellungen etwas hoch gegriffen sind.
Es kann nie sicher genug sein.

Du solltest Dich was mehr mit PHP beschaeftigen und nicht einfach in die lange Reihe derer einreihen die ein Schlagwort (in diesem Falle PHP) aufgeschnappt hat und, weil es ja cool ist, jetzt auch irgendwas damit auf seiner Website haben will. Das fuehrt ueber kurz oder lang nur zu Problemen.
 
Die Meldung die Du beim switch() bekommen hattest, war nur ein Hinweis (Notice).
PHP hat einen Wert für die Variable $id erwartet aber nicht erhalten.
Sowas nennt man auch unsauberen Programmierstil. ;)
Und auf diesen wollte Dich PHP halt nur hinweisen.

Ansonsten kann ich mich Dennis nur anschliessen.
Du hast ja dass laufen auch erst erlernen müssen..... oder lässt Du Dich immernoch von Mutti tragen? ;)
Der Unterschied ist halt nur dass man bei einer Scriptsprache (bzw. dem programmieren allgemein) nie auslernen wird.
Selbst auf die Tutorials oder Codeschnippsel die Du hier so findest, kannst Du Dich nicht blind drauf verlassen dass sie keine Probleme machen.
Entweder sind sie schon von Anfang an "bäh" gewesen oder es haben sich im laufe der Zeit Dinge geändert.
 
Zurück