php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-02-2005, 17:19
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Question Fatal error: Cannot redeclare startelement()

Hallo!

Ich habe ein Problem mit diesem Script:

PHP-Code:
<?php
error_reporting
(E_ALL);
    include(
'config.inc');
    
$dbconn mysql_connect($mysql_host$mysql_user$mysql_pass);
    
mysql_select_db($mysql_db);


    
$XMLEntities = array(
    
'&' => '&',
    
'&lt;'  => '<',
    
'&gt;'  => '>',
    
'&apos;' => '\'',
    
'&quot;' => '"'
    
);
    
$noteam=0// Var für Fallabfrage PLAYER_HAS_NO_TEAM


    // Leermachen

    
$sql_soldner_table "TRUNCATE Table Server";
    
$result_soldner_table mysql_query($sql_soldner_table) or die(mysql_error());
    
$sql_soldner_table "TRUNCATE Table Teams";
    
$result_soldner_table mysql_query($sql_soldner_table) or die(mysql_error());
    
$sql_soldner_table "TRUNCATE Table Players";
    
$result_soldner_table mysql_query($sql_soldner_table) or die(mysql_error());

    function 
startElement(&$parser, &$element_name, &$element_attribute)
    {
    global 
$XMLEntities$idout$noteam;



    
$element_name strtolower($element_name); # Element in Kleinbuchstaben
    
$felder = array();
    
$werte = array();




    foreach (
$element_attribute as $Key => $Value)
        {
            
$felder[] = $Key;   # Attributnamen in Array
            
$werte[] = strtr(trim($Value), $XMLEntities);


        }



            if(
$element_name == "game")
             {
                
$feld_str implode(', '$felder);
                
$wert_str "'" implode("', '"$werte) . "'"
                
$sql_soldner_table "INSERT INTO Server ($feld_str) VALUES ($wert_str)";
                
$result_soldner_table mysql_query($sql_soldner_table) or die(mysql_error());

             }

            if(
$element_name == "team")
            {
                
$noteam++;
                
$feld_str implode(', '$felder); 
                
$wert_str "'" implode("', '"$werte) . "'"
                
$sql_team_table "INSERT INTO Teams ($feld_str) VALUES ($wert_str)";
                
$result_team_table mysql_query($sql_team_table) or die(mysql_error());
                
$idout $werte[2];
            }

                if(
$element_name == "player")
                {
                
$feld_str implode(', '$felder); #
                
$wert_str "'" implode("', '"$werte) . "'";
                 
$sql_player_table "INSERT INTO Players ($feld_str) VALUES ($wert_str)";
                
$result_player_table mysql_query($sql_player_table) or die(mysql_error());

                    if(
$noteam != 0)
                    {
                        
$sql_player_table "UPDATE Players SET TEAM = '$idout' WHERE TEAM = '0'";
                        
$result_player_table mysql_query($sql_player_table) or die(mysql_error());
                        
$log mysql_affected_rows();
                        
$log++;
                    }
                    else
                    {
                        
$sql_player_table "UPDATE Players SET TEAM = '0' WHERE TEAM = '0'";
                        
$result_player_table mysql_query($sql_player_table) or die(mysql_error());
                    }
                }

//Nächste Zeile ist der can't redaclare Fehler
/* Zeile 91 */    
}

    function 
endElement($parser$element_name)
    {
    global 
$idout,$noteam;

$element_name strtolower($element_name);
        if(
$element_name == "team")
            {
            
$noteam--;


            }
    }

    
$parser xml_parser_create('');
    
xml_set_element_handler($parser"startElement""endElement");
//nachste Zeile kommt die Warnung
/* Zeile 109 */    
foreach($xmlFile as $elem)
    {
        
xml_parse($parser$elem);
    }

    
xml_parser_free($parser);


?>
Es kommen diese Fehler:
Zitat:
Kopievontest.xml
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\MightyStats\process.inc on line 128
test.xml
Fatal error: Cannot redeclare startelement() (previously declared in D:\xampp\htdocs\MightyStats\process.inc:42) in D:\xampp\htdocs\MightyStats\process.inc on line 108
Er scheint bei den beiden Dateien 2 verschiedene probleme zu haben, obwohl sie exakt den gleichen Inhalt haben.
Kann mir jemand weiterhelfen?

Danke schon im Vorraus!

cu
robertthronhill

Geändert von robertthronhill (15-02-2005 um 17:39 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-02-2005, 17:27
pekka
 PHP Master
Links : Onlinestatus : pekka ist offline
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
pekka befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Invalid argument supplied for foreach()
http://de2.php.net/foreach

Zitat:
Cannot redeclare startelement() (previously declared in D:\xampp\htdocs\MightyStats\process.inc:42)
Das passiert, wenn Du zweimal eine Funktion gleichen Namens definieren willst.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-02-2005, 17:27
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.php-resource.de/forum/sho...threadid=50454 lesen, verstehen und befolgen, bitte.

was sind das für zeilen?

was ist an den fehlermeldungen nicht klar, da steht's doch?
Mit Zitat antworten
  #4 (permalink)  
Alt 15-02-2005, 17:28
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
'&apos;' => ''
escapen!
Mit Zitat antworten
  #5 (permalink)  
Alt 15-02-2005, 17:29
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Shurakai, kann das forum gewesen sein
Mit Zitat antworten
  #6 (permalink)  
Alt 15-02-2005, 17:37
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Erstmal danke für die Hilfe.

Aufgrund des Links, den ich von pekka bekommen habe scheint es, dass $xmlfile kein Array ist. Kann mir jemand sagen, wie ich daraus ein Array mache?

@pekka: Es ist klar, dass das passiert wenn ich versuche eine Funkion mit gleichem Namen nochmals zu deklarieren, aber in der Zeile ist nur eine } zu finden.

@Shurakai: Um sowas zu finden muss man wirklich Adleraugen haben. Im Script und im geposteten Source ist es aber drin. Trotzdem danke!

cu
robertthronhill
Mit Zitat antworten
  #7 (permalink)  
Alt 15-02-2005, 18:59
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wo wird $XMLfile denn initialisiert, gesetzt o.ä.?
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #8 (permalink)  
Alt 15-02-2005, 21:43
Tartax
 PHP Senior
Links : Onlinestatus : Tartax ist offline
Registriert seit: Oct 2002
Ort: BRD
Beiträge: 1.167
Tartax ist zur Zeit noch ein unbeschriebenes Blatt
Tartax eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von robertthronhill
...Um sowas zu finden muss man wirklich Adleraugen haben....
ÄhhH? Nein, es ist erste was mir aufgefallen ist... die textfarben beim Code sind nämlich nich zu Spaß da!
__________________
Die Musikreview Seite

hi, i'm a signature virus. copy me into your signature to help me spread.
Mit Zitat antworten
  #9 (permalink)  
Alt 16-02-2005, 07:48
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich bin dumm. Ich hab an dem Script rumgeschraubt, das $xmlFile initialisiert und dabei aus versehen $xmlFile rausgelöscht. Jetzt bekomme ich die Warnung nichtmehr. Nur noch den Fatal Error, obwohl die Funktion garnicht 2 mal unter gleichem Namen vorkommt.

Kann mir jemand helfen?

Danke!

cu
robertthronhill
Mit Zitat antworten
  #10 (permalink)  
Alt 16-02-2005, 08:09
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Die Datei durch das Backup ersetzen und dann etwas überlegter an die Sache herangehen?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #11 (permalink)  
Alt 16-02-2005, 13:59
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es funktioniert ja jetzt, bis auf diesen schweren Fehler, obwohl ich an dieser Funktion nichts verändert habe.

cu
robertthronhill
Mit Zitat antworten
  #12 (permalink)  
Alt 16-02-2005, 14:10
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schau doch mal in die datei D:\xampp\htdocs\MightyStats\process.inc in zeile 42
und dann in zeile 108
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #13 (permalink)  
Alt 16-02-2005, 14:24
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zeile 42: Anfang der Funktion
Zeile 108: nur eine geschlossene geschweifte Klammer }

Genau das ist das, was mich so wundert. In Zeile 108 ist nichts außer dieser Klammer. Ich habe sie testweise entfernt, dann kam die Fehlermeldung unexpected $end.

Ich habe den Source jetzt verändert, es sind jetzt weniger Zeilen.

PHP-Code:
<?php
error_reporting
(E_ALL);
    include(
'config.inc');
    
$dbconn mysql_connect($mysql_host$mysql_user$mysql_pass);
    
mysql_select_db($mysql_db);


    
$XMLEntities = array(
    
'&' => '&',
    
'&lt;'  => '<',
    
'&gt;'  => '>',
    
//'&apos;' => '\'',
    
'&quot;' => '"'
    
);
    
$noteam=0// Var für Fallabfrage PLAYER_HAS_NO_TEAM


    // Leermachen

    
$sql_player_table "TRUNCATE Table Players";
    
$result_player_table mysql_query($sql_player_table) or die(mysql_error());

/* Zeile 23 */    function startElement(&$parser, &$element_name, &$element_attribute)
    {
    global 
$XMLEntities$idout$noteam;



    
$element_name strtolower($element_name); # Element in Kleinbuchstaben
    
$felder = array();
    
$werte = array();




    foreach (
$element_attribute as $Key => $Value)
        {
            
$felder[] = $Key;   # Attributnamen in Array
            
$werte[] = strtr(trim($Value), $XMLEntities);


        }

                if(
$element_name == "player")
                {
                
$feld_str implode(', '$felder);
                
$wert_str "'" implode("', '"$werte) . "'";
                 
$sql_player_table "INSERT INTO players ($feld_str) VALUES ($wert_str)";
                
$result_player_table mysql_query($sql_player_table) or die(mysql_error());

                    if(
$noteam != 0)
                    {
                        
$sql_player_table "UPDATE players SET TEAM = '$idout' WHERE TEAM = '0'";
                        
$result_player_table mysql_query($sql_player_table) or die(mysql_error());
                        
$log mysql_affected_rows();
                        
$log++;
                    }
                    else
                    {
                        
$sql_player_table "UPDATE Players SET TEAM = '0' WHERE TEAM = '0'";
                        
$result_player_table mysql_query($sql_player_table) or die(mysql_error());
                    }
                }

//Nächste Zeile ist der can't redaclare Fehler
/* Zeile 66 */    
}

    function 
endElement($parser$element_name)
    {
    global 
$idout,$noteam;

$element_name strtolower($element_name);
        if(
$element_name == "team")
            {
            
$noteam--;


            }
    }

    
$parser xml_parser_create('');
    
xml_set_element_handler($parser"startElement""endElement");
    foreach(
$xmlFile as $elem)
    {
        
xml_parse($parser$elem);
    }

    
xml_parser_free($parser);


?>
Der Fehler tritt jetzt in Zeile 66 auf (genau die gleiche Stelle). Die Punkte sind wie immer im Source markiert.

cu
robertthronhill

Geändert von robertthronhill (16-02-2005 um 15:53 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 16-02-2005, 16:41
robertthronhill
 Newbie
Links : Onlinestatus : robertthronhill ist offline
Registriert seit: Feb 2005
Beiträge: 37
robertthronhill ist zur Zeit noch ein unbeschriebenes Blatt
Standard

*push*
Mit Zitat antworten
  #15 (permalink)  
Alt 16-02-2005, 16:43
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von robertthronhill
*push*
gewöhne dir bitte ganz fix ab, schon nach so kurzer zeit zu drängeln, sonst *push*e ich dich nämlich ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:28 Uhr.