php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.05.2008, 08:14  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 15
xx_heidi_xx befindet sich auf einem aufstrebenden Ast
Standard

hallo..
hab momentan noch ne kleine fehlermeldung aufgrund der foreach funktion..
$msg wurde zwar als array definiert und dann wie folgt überprüft:

Code:
if (!empty($_POST['go']) || !empty($_POST['set'])){
    $ok = true;
$msg = array();                // Leeres Array erstellen
    if (!preg_match('/^\d+$/', $startnr)){    // !Startnummer enthält mindestens eine Ziffer, aber nichts anderes
        $msg['falsestartnr'] = "<p id='p_4'>Ung&uuml;ltige Startnummer eingegeben</p>"; // Fehlermeldung in Array schreiben
  $ok = false;
    }

Code:
foreach($msg as $meldung)
{
echo$meldung;
} 
die fehlermeldungen werden korrekt ausgeführt bzw. ausgegeben. Jedoch wird mir trotzdem dauernd die meldung --> Warnung: Invalid argument supplied for foreach()... ausgegeben..
und diese Meldung ist wieder genau bei des foreach..

Viell. könntet ihr mir da weiterhelfn?
vielen dank in voraus!! liebe grüsse
xx_heidi_xx ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.05.2008, 08:24  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Mach vor dem foreach mal testhalber ein var_dump($msg);
__________________
Gruss
L
lazydog ist offline  
Alt 26.05.2008, 09:06  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Wenn die Meldungen ausgegeben werden handelt es sich nicht um diese foreach-Schleife oder die Meldungen werden nicht von dieser Schleife ausgegeben sondern vorher schon.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 26.05.2008, 13:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Habe den Thread jetzt nicht gelesen. Aber,
@ Heidi: Bitte benutze zwingend [php] Tags für Deine Codebeispiele!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 26.05.2008, 22:08  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 15
xx_heidi_xx befindet sich auf einem aufstrebenden Ast
Standard

halloo..
hab jetz testhalber mal var_dump eingefügt..
dann wird NULL ausgegeben..

NULL
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\projekt_bakII\registry\website\ind ex.php on line 113

doch wie kann ich jetzt die fehlermeldung ändern bzw. richtigstellen?
thx in voraus... lg
xx_heidi_xx ist offline  
Alt 26.05.2008, 22:34  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

foreach() macht nur Sinn, wenn du einen Array hast, offenbar hast du aber NULL. Fueg doch einfach die Bedingung is_array() ein, bevor du in die foreach-Schleife laeufst.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 26.05.2008, 22:51  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 15
xx_heidi_xx befindet sich auf einem aufstrebenden Ast
Standard

hey du..
hab mal is_array eingefügt..
PHP-Code:
echo is_array($msg) ? 'Array' 'kein Array'
Ausgabe ist: Kein Array

zu beginn des skripts wurde msg genau so definiert:

PHP-Code:
if (!empty($_POST['go']) || !empty($_POST['set'])){
    
$ok true;
 
$msg = array();                // Leeres Array erstellen
 
 
if(empty($startnr)){
     
$msg['falsestartnr'] = "<p id='p_4'>Bitte geben Sie die gew&uuml;nschte Start-Nummer ein.</p>";
        
$ok false;
 }
 if(!empty(
$_POST['startnr']) && !preg_match('/^\d+$/',$_POST['startnr'])) { 
      
// !Startnummer enthält mindestens eine Ziffer, aber nichts anderes
        
$msg['nostartnr'] = "<p id='p_4'>Ung&uuml;ltige Startnummer eingegeben.</p>"// Fehlermeldung in Array schreiben
  
$ok false;
    } 
danke.. liebe grüsse
xx_heidi_xx ist offline  
Alt 27.05.2008, 01:42  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von xx_heidi_xx Beitrag anzeigen
hey du..
hab mal is_array eingefügt..
PHP-Code:
echo is_array($msg) ? 'Array' 'kein Array'
Ausgabe ist: Kein Array
So weit waren wir ja schon. Das Array ist erwiesenermaßen NULL, also "kein Array".

Das Problem liegt wohl hier:
PHP-Code:
     $msg = empty($msg['falsestartnr']) ? '' $msg['falsestartnr']; 
Der TRUE Zweig definiert $msg als String neu und das erzeugt beim foreach natürlich nen Fehler.

Es gibt zwei Möglichkeiten:
1. Du gibst oben statt dem leeren String ein leeres Array an. Dann wird das Array sozusagen von foreach durchlaufen, allerdings 0 mal, weil es keine Einträge hat.

oder

2. Du prüfst vor dem foreach, ob $msg überhaupt ein Array ist. is_array wurde ja schon erwähnt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 27.05.2008, 02:45  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Ein Leerstring ist aber auch nicht NULL. Da muss wohl nochmal richtig aufgeraeumt werden.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 27.05.2008, 14:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Da hast Du recht. Gibt also noch ne dritte Stelle, an der das Array geändert wird.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


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] sql daten für einen kunden auslesen/ändern im Formular PHP Tipps 2005-2 3 12.10.2005 08:36
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Daten Eingabe automatisch ergänzen superbike PHP Tipps 2005-2 1 18.08.2005 13:54
[Erledigt] Formular - Eingabe Daten nicht löschen... PHP Tipps 2005-2 4 04.07.2005 09:09
zurück zu Seite per hyperlink und Daten erhalten nieselfriem PHP Tipps 2005-2 8 15.06.2005 00:05
POST Daten via JavaScript versenden Stinger HTML, Usability und Barrierefreiheit 9 20.03.2005 20:18
POST Daten via JavaScript versenden Stinger PHP Tipps 2005 1 20.03.2005 02:40
mit PHP per POST Daten an eine Fremde seite schicken? Kenshin PHP Tipps 2005 7 04.02.2005 16:20
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Daten übergeben kampfnickel PHP Tipps 2005 4 05.01.2005 14:12
Übermitteln der daten ? PHP Tipps 2004-2 9 05.12.2004 13:18
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
Modales Fenster zur Eingabe von Daten HTML, Usability und Barrierefreiheit 0 22.06.2004 12:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:28 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