php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.09.2004, 14:02  
Gast
 
Beiträge: n/a
Standard array_push nur in begrenzter Anzahl ausführen ?

Hallo Leute !
Ich habe zu meinem Upload - Skript eine eigene Fehlerklasse geschrieben, in der ich praktisch nur noch die Fehlernummer angeben muss, damit die entsprechende Meldung kommt.
Ich habe meine Fehlertexte allerdings so geschrieben, dass sie beim Instanzieren der Klasse durch den Konstruktor erst in ein Array geschrieben werden. Anfangs klappt das ganz gut, nur sobald ich eine zweites Array mit Fehlertexten im Konstruktor fülle, bekomme ich folgende Fehlermeldung :

Warning: First argument to array_push() needs to be an array in /meinPfad/include/error.inc.php on line 53
und das dann fortlaufend für alle folgenden array_push - Befehle.

Wo liegt da der Fehler ?

Hier ist der Quellcode zu meiner Fehlerklasse :
Code:
class error
{
	var $upload_errors; 
	var $thumbnail_errors;
	var $insert_errors;
	
	function error()
	{
		$this->upload_errors[] = array();
		$this->thumbnail_errors[] = array();
		$this->insert_errors[] = array();
		$this->setUploadErrorMsgs();
		$this->setThumbErrorMsgs();
		$this->setInsertErrorMsgs();
	}
	
	function getUploadErrorMsg($errNum)
	/*
		Gibt eine Fehlermeldung aus, wobei $errNum die Fehlernummer ist
	*/
	{
		echo $this->upload_errors[$errNum];
	}
	
	function setUploadErrorMsgs()
	/*
		Schreibt sämtliche Upload Fehlermeldungen in das $upoad_errors Array
	*/
	{
		array_push($this->upload_errors, "Uploadfehler 01 : Der Zielpfad wurde nicht gesetzt
");
		array_push($this->upload_errors, "Uploadfehler 02 : Der Zielpfad muss mit '/' enden
");
		array_push($this->upload_errors, "Uploadfehler 03 : Pfad zur temporären Datei ist nicht vorhanden
");
		array_push($this->upload_errors, "Uploadfehler 04 : Pfad zur lokalen Datei fehlt
");
		array_push($this->upload_errors, "Uploadfehler 05 : Die Datei konnte nicht hochgeladen werden
");
		array_push($this->upload_errors, "Uploadfehler 06 : Die Datei konnte nicht erstellt werden
");
		array_push($this->upload_errors, "Uploadfehler 07 : Die Variable enthält keinen Wert / ist leer
");
	}
	
	function getThumbErrorMsg($errNum)
	/*
		Gibt eine Fehlermeldung aus entsprechend der Nummer
	*/
	{
		echo $this->$thumbnail_errors[$errNum];
	}
	
	function setThumbErrorMsgs()
	/*
		Schreibt sämtliche Thumbnail Fehlermeldungen in das $thumbnail_errors Array
	*/
	{
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 01 : Thumbnail Breite fehlt
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 02 : Dateiangabe der Ursprungsdatei fehlt
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 03 : Pfadangabe zur Ursprungsdatei fehlt
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 04 : Die Pfadangabe zur Ursprungsdatei muss mit '/' enden
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 05 : Der Zielpfad wurde nicht gesetzt
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 06 : Der Zielpfad muss mit einem '/' enden
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 01 : Es konnte keine Verbindung zur Datenbank hergestellt werden
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 02 : Die Datenbank konnte nicht ausgewählt werden
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 03 : Die Verbindung konnte nicht geschlossen werden
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 04 : Ressourcen konnten nicht freigegeben werden
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 05 : Host wurde nicht angegeben
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 06 : Benutzername fehlt
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 07 : Passwort fehlt
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 08 : Tabellenangabe fehlt
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 09 : Die Spalte fehlt
");
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 07 : Variable hat keinen Wert / ist leer
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 10 : Eindeutige ID Spalte fehlt
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 11 : Spaltenwert unvollständig
");
		array_push($thumbnail_errors, "Thumbnail - ID Ermittler Fehler 12 : Variable hat keinen Wert / ist leer
");
	}
	
	function getInsertErrorMsg($errNum)
	{
		echo $this->insert_errors[$errNum];
	}
	
	function setInsertErrorMsgs()
	{
		array_push($insert_errors, "Fehler beim Einfügen der Daten 01 : Host fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 02 : Datenbankname fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 03 : Tabellennamen fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 04 : Benutzername fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 05 : Passwort fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 06 : Pfadangabe ist nicht vorhanden
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 07 : Tabellenname für die Pfadangabe fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 08 : Dateiname fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 09 : Tabellenname für den Dateinamen ist nicht vorhanden
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 10 : Breite ist nicht angegeben
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 11 : Tabellenname für die Breite fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 12 : Höhe fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 13 : Tabellenname für die Höhe fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 14 : Beschreibung fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 15 : Tabellenname für die Beschreibung fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 16 : Sparte fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 17 : Tabellenname für die Sparte fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 18 : Vorschau 1 fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 19 : Tabellenname für Vorschau 1 fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 20 : Vorschau 2 fehlt
");
		array_push($insert_errors, "Fehler beim Einfügen der Daten 21 : Tabellenname für Vorschau 2 fehlt
");
	}
}
Ich hoffe, das mir jemand helfen kann. Vielleicht ist es auch nur ein einfaches Prob, das ich nicht sehe ?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2004, 16:40  
Gast
 
Beiträge: n/a
Standard Re: array_push nur in begrenzter Anzahl ausführen ?

Code:
class error
{
	var $upload_errors; 
	var $thumbnail_errors;
	var $insert_errors;
	
	function setThumbErrorMsgs()
	/*
		Schreibt sämtliche Thumbnail Fehlermeldungen in das $thumbnail_errors Array
	*/
	{
		array_push($thumbnail_errors, "Thumbnail - Generator Fehler 01 : Thumbnail Breite fehlt
");

	}
	
	function setInsertErrorMsgs()
	{
		array_push($insert_errors, "Fehler beim Einfügen der Daten 01 : Host fehlt
");

	}
}
also bei diesen funktionen hast du jeweils das "$this->" vergessen, womit du dich auf die klassen-variablen beziehst - teilweise stehts drin, teilweise nich

sonst seh ich nich wirklich nen fehler, es sei denn du fragst vorher noch folgendermaßen ab, bevor du mit den klassen-variablen hantierst:

Code:
if (!is_array($this->insert_errors)) $this->insert_errors=array();
hoffe ich konnte dir weiterhelfen

greetz
andy
 
Alt 07.09.2004, 09:05  
Gast
 
Beiträge: n/a
Standard

Ja, danke! Manchmal braucht man einfach mal jemanden, der sich den Quellcode nochmal anschaut, weil man selbst die kleinsten Fehler oder Selbstverständlichkeiten einfach übersieht.

Hätte mir aber auch selbst auffallen können

Also, THX nochmal !
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Max Anzahl Checkboxen Hu5eL JavaScript, Ajax und mehr 2 25.06.2008 15:37
PHP: Anzahl der Tage bis Tag X (Countdown) DER_Brain Tutorials 14 04.02.2008 22:11
[Erledigt] anzahl aus zwei tabellen Datenbanken 3 03.02.2006 11:06
Anzahl gleicher Feldinhalte Datenbanken 2 29.01.2006 12:05
Nur bestimmte Anzahl von Bildern darstellen??!! Peoples PHP Tipps 2005-2 4 31.12.2005 01:37
[Erledigt] Anzahl der Gruppenwechsel ermitteln Datenbanken 6 10.06.2005 10:47
anzahl der einträge auslesen faultier PHP Tipps 2005-2 1 09.06.2005 11:39
Anzahl der Spalten aus einer anderen Tabelle Buhmann Datenbanken 0 16.04.2005 23:50
Anzahl der Eintragungen feststellen Datenbanken 6 03.12.2004 10:12
Aktuelle Anzahl eingeloggter User ermitteln? PHP Tipps 2004-2 6 02.12.2004 13:03
textlänge / anzahl zeichen php-newbie83 PHP Tipps 2004-2 2 28.11.2004 13:13
[Erledigt] Anzahl der Beiträge in Schleife abfragen PHP Tipps 2004 4 01.11.2004 18:33
Anzahl der Datensätze mit gleicher ID ermitteln? PHP Tipps 2004 3 18.10.2004 20:08
Anzahl an *.htm-Dateien aus Verzeichnis lesen? Heart PHP Tipps 2004 1 02.07.2004 11:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array_push php, first argument to array_push() needs to be an array, array_push, array_push schleife, array_push gut schlecht?, php array_push anzahl, php array_push alternative, array_push leerer wert

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.