+ Antworten
Seite 1 von 4 1 2 3 4 LetzteLetzte
Ergebnis 1 bis 15 von 52
Like Tree1gefällt das

PHP Foreach Problem im Script!!!

Diskussion über PHP Foreach Problem im Script!!! in Webdesign der Kategorie Fachliches; Hallo ich habe seit einiger Zeit ein Script bei mir auf der Hompage D.F.F.L Deutsche-Fun-Fifaliga laufen, was soweit auch Funktioniert. ...

  1. #1
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard PHP Foreach Problem im Script!!!

    Hallo ich habe seit einiger Zeit ein Script bei mir auf der Hompage D.F.F.L Deutsche-Fun-Fifaliga laufen, was soweit auch Funktioniert. Ich erkläre mal das Script. Wir sind eine Fifa Online Liga und haben eine Automatische Teamauswahl der freien Teams, sprich eine Liste wo die Freien Teams aufgelistet sind, dort makiert man ein Team und gibt seine ICQ Nr. an das Script überträgt dann den User Namen und die ICQ Nr automatisch in die Trainerliste ein. Desweiteren arbeiten wir mit dem LMO=Liga Manager Online und dem Script ergpost. Um im Ergpost ein ergebniss einzutragen was dann automatisch in die Tabelle eingetragen wird muss der Name im LMO in der Notiz zur Manschaft eingetragen sein. Genau da liegt das Problem, der User Name wird nicht in den LMO(Tabelle) eingetragen, ich bekomme dort folgende Fehlermeldung:

    Code:
    Warning: Invalid argument supplied for foreach() in /var/www/clients/client623/web4009/web/usr_web/pkinc/public/lmo/addon/classlib/classes/liga.class.php on line 388 Warning: Invalid argument supplied for foreach() in /var/www/clients/client623/web4009/web/usr_web/pkinc/public/lmo/addon/classlib/classes/liga.class.php on line 486
    Ich weiss einfach nicht mehr weiter, da ich mich mit dieser Foreach Funktion nicht auskenne. Wer kann mir helfen dieses Script ordentlich zum laufen zu bekommen? Ich habe schon soviel versucht und mehrere Foren durchstöbert aber niemand war bereit mir zu Helfen. Ich hoffe hier ist jemand der mir helfen kann. Ich kann euch dann die entsprechenden Dateien gerne zu kommen lassen.
    Also das steht in meiner Zeile 388:
    PHP-Code:
    foreach($iniData["Teams"] as $key=>$value) { 
    Und das in Zeile 486:
    PHP-Code:
    foreach ($optionDetails as $detailsKey=>$detailsValue) { 
    Das ganze läuft über zwei Dateien einmal die Verarbeitung_123.php, Teamtake.php und eine Datenbank Tabelle. Dazu gehören dann noch ein paar andere php Dateien die aber soweit funktionieren. Wer würde sich die mal ansehen? Ich kann sie euch gerne hier Posten?

  2. #2
    Moderator Java
    Reg.-Datum
    24.07.2007
    Ort
    auf nem Berg
    Beiträge
    7.424

    Standard

    Was steht in
    Code:
    $iniData["Teams"]
    bzw
    Code:
    $optionDetails
    für ein Datentyp drin? Nach Deiner Programmierung wird ein assoziatives Array erwartet.
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  3. #3
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard Wo muss ich das suchen!

    Danke für die schnelle Antwort, wo muss ich denn nachsehen was da drinne steht? kannst du mir da bitte einen Hinweis geben wo ich suchen muss?

  4. #4
    MLX
    MLX ist offline
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    19

    Standard

    Schau wo die Variablen deklariert werden, in deinem Fall müssten die Daten wohl aus der Datenbank kommen, das könnte dann z.B. so aussehen:
    PHP-Code:
    $optionDetails mysql_fetch_array($query); 
    $iniData["Team"] wird wohl aus einer Konfigurationsdatei ausgelesen (zumindest lässt der Name darauf schließen), vll mit parse_ini_file().

    Du könntest auch mal vor dem foreach() ein print_r($variablenName) setzen, dann siehst du den Inhalt der Variablen und erkennst wenn es kein Assoziativer Array ist.

  5. #5
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard

    Hier einmal die DB, vll kannst du dir das mal ansehen, da ich mich db's nicht auskenne. Ich habe es so von jemanden bekommen und der weiss aber leider auch nicht was los ist.
    Angehängte Dateien

  6. #6
    MLX
    MLX ist offline
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    19

    Standard

    Mit der Datenbank an sich kann ich nichts anfangen, wenn dann brauche ich schon den Source Code (die .php Datei). Allerdings solltest du dich, wenn du so etwas betreiben willst schon selbst damit auskennen, denn das ist sicherlich nicht der letzte Bug und es werden bestimmt noch einige Sicheheitslücken aufkommen...

  7. #7
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard

    meinst du die php Dateien über das es läuft?

  8. #8
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard PHP Dateien

    Also über die Teamtake.php wählt man das Team aus und über die Verarbeitung_123.php wird es ausgeführt.
    Angehängte Dateien

  9. #9
    Reg.-Benutzer Avatar von ins0
    Reg.-Datum
    08.02.2012
    Ort
    32339
    Beiträge
    24

    Standard

    Ich lege mich mal ganz weit aus dem Fenster, ich habe vor zig Jahren mal so ein Liga Script für einen Kunden angepasst und ich bin der Meinung, das
    dieser Fehler durch die Text Datenbank ausgelößt worden ist. Das Script speicherte die Daten für Trainer etc in einer Textdatei die anschließend mit parse_ini ausgelesen worden ist, ich hatte damals die Functions für das schreiben der Werte und das auslesen neu geschrieben und damit war der Fehler behoben.

    Wie gesagt ich lehne mich hier ausem Fenster aber ich bin mir sicher das es das gleiche Script war.
    XXNicoRyckersXX gefällt das.

  10. #10
    Moderator Java
    Reg.-Datum
    24.07.2007
    Ort
    auf nem Berg
    Beiträge
    7.424

    Standard

    mach vor der foreach Schleife ein
    Code:
    print_r($deinevariable);
    die("stop");
    Dann siehst Du was in der Variablen steht. Aber, wenn Du an solchen grundlegenden Dingen scheiterst, dann solltest Du kein Produktivsystem betreuen, denn damit ist Wahrscheinlichkeit sehr hoch, dass auch wirklich schwere Fehler in den Scripte sind, die man missbrauchen kann.

    Wenn ich solche Konstrukte sehe
    Code:
    if ($team_nr == '1') {$change = 'Team1'; $changeicq = 'Team1';}
    else if ($team_nr == '2') {$change = 'Team2'; $changeicq = 'Team2';}
    dann wird mir Angst und Bange, noch nie was von switch-case gehört? Außerdem kann man das ganze mit OOP oder wenigstens Funktionen strukturieren! Ebenso sollte man Ausgabe und Verarbeitung trennen. Mein Tipp wirf das alte Zeug weg und baue es strukturiert auf
    Geändert von flashpixx (13.02.2012 um 15:17 Uhr)
    We can only see a short distance ahead, but we can see plenty there that needs to be done. (Alan Turing)
    http://flashpixx.de

  11. #11
    MLX
    MLX ist offline
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    19

    Standard

    @XXNicoRyckersXX jetzt bräuchte man noch die Liga Klasse, die oben in der Fehlermeldung steht ;-)

  12. #12
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard Hier Bitte

    Hier nochmal die liga.class.ini
    Angehängte Dateien

  13. #13
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard

    @flashpixx ich habe dieses Script von jemanden bekommen, wenn ich es selber schreiben könnte wäre ich sehr froh darüber. Ich suche ja jemanden der es mir repariert bzw vernünftig erstellt.

  14. #14
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard

    @ins0 kannst du dir es denn mal ansehen? Die db und die php Dateien habe ich ja hier hochgeladen.

  15. #15
    Reg.-Benutzer
    Reg.-Datum
    13.02.2012
    Beiträge
    30

    Standard

    Es wäre für mich vom grossen Vorteil wenn ich diese Funktion auf meiner Seite funktionierend hätte.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Frage: foreach in Pseudocode
    Von dein.Tod im Forum Prüfungsaufgaben und -lösungen
    Antworten: 13
    Letzter Beitrag: 28.04.2011, 17:17
  2. c# TrueDBGrid Foreach Row
    Von McSaesch im Forum .NET
    Antworten: 0
    Letzter Beitrag: 04.02.2011, 17:10
  3. Remove in einer foreach Schleife?
    Von errox im Forum .NET
    Antworten: 2
    Letzter Beitrag: 14.02.2010, 01:18
  4. T_GLOBAL und FOREACH
    Von OnkelPaddy im Forum Skript- und Webserverprogrammierung
    Antworten: 10
    Letzter Beitrag: 07.01.2006, 13:58
  5. PaP - Projektablaufplan - foreach
    Von Darkillusion im Forum Skript- und Webserverprogrammierung
    Antworten: 0
    Letzter Beitrag: 03.02.2005, 11:18

Die häufigsten Suchbegriffe für diese Seite:

Bisher noch keine Treffer von einer Suchmaschine