Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] "Notice: Use of undefined constant" bleibt dauerhaft

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] "Notice: Use of undefined constant" bleibt dauerhaft

    Moin zusammen.
    Habe mich nach nächtelangem Fehlersuchen dazu entschieden etwas versiertere Leute um Hilfe zu bitten: Ich hab hier gepostet.

    Mein Problem wurde schon oft erwähnt, nur ließ es sich durch einfaches ändern von
    PHP-Code:
    $huhu[lala
    in
    PHP-Code:
    $huhu["lala"
    beheben.

    Allerdings habe ich in in der Zeile, die mir die Fehlermeldung ausspuckt, nicht mal die erwähnte Variable eingebaut:
    Die Meldung:
    Notice: Use of undefined constant kontakt - assumed 'kontakt' in /verzeichnis/admin.php on line 68
    Die entsprechende Zeilen (62-76):
    PHP-Code:
    $Sections ReadIniSections("kontakt.ini");
    if (!
    $Sections) { echo "<I>Keine Eintr&auml;ge Vorhanden.</I><BR><BR><BR><BR>"; exit; }
    for (
    $i 0$i count($Sections); $i++) {
          
    $Sx explode('|'$Sections[$i]);
          echo 
    "<TABLE style='border:1px solid #ffffff;'><TR><TD><B>Datum:</B> " $Sx[0] . "</TD></TR><TR><TD><B>Name:</B> " $Sx[1] . "</TD></TR>";
                  
          
    $Items ReadIniItems("kontakt.ini""$Sections[$i]"); //Zeile 68
        
    for ($u 0$u count($Items); $u++) {
            
    $Ix explode('|'$Items[$u]);
            echo 
    "<TR><TD><B>Telefon:</B> " $Ix[0] . "</TD></TR><TR><TD><B>E-Mail:</B> " $Ix[1] . "</TD></TR><TR><TD><B>Betreff:</B> " $Ix[2] . "</TD></TR>";
                    
            
    $Values ReadIniValue("kontakt.ini""$Sections[$i]""$Items[$u]");
            echo 
    "<TR><TD><B>Text:</B> " $Values "</TD></TR><TR><TD><a href='admin.php?action=delkontakt&kontakt=$Sections[$i]'>L&ouml;schen</a></TD></TR></TABLE><BR>";    
        }
     } 
    Ich bin total ratlos! Warum zum Teufel gibt mir die Error-Meldung diese Zeile aus?! Da benutze ich nicht einmal eine Variable!

    Davon hab ich insgesamt 3 Meldungen. Bei den anderen bekomme ich eine Zeile angegeben, wo sich HTML-Code befindet; AUSSERHALB der <?php ?> Tags wohlgemerkt!

    Ich wäre euch sehr dankbar, wenn mir jemand einen Tip geben könnte. Googlen hat mein Problem bislang auch nicht lösen können..
    Ich kann euch auf Nachfrage auch gerne die gesamte Datei mal posten, wenn das mehr hilft.

    Liebe Grüße,
    Eike B.
    [QUOTE]Später sitz' ich rum und denk mir: Boah, jetzt ne Tangenskurve verschieben![/QUOTE]


  • #2
    Was tut die Funktion ReadIniSection()/ReadIniItem() und welchen Inhalt hat die ini Datei?
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Willkommen im Forum!

      Da "kontakt" hier garnicht im PHP-Kontext vorkommt, würde ich vermuten du hast die falsche Datei offen.
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        achso.. oh da hab ich nicht dran gedacht.
        Die Funktionen ReadIniValue() etc. sind zusatzfunktionen die mit der datei "inc.fct" eingebunden werden. Damit wird es einfacher gemacht mit .ini-Dateien umzugehen (ich bin sehr bequemlich =P).
        Ich glaub es ist einfacher den gesamten Quelltext hier zu posten, dann ist es vielleicht einfacher zu verstehen, was mein Problem ist.
        PHP-Code:
        <?php session_start(); include("inc.fct");
        date_default_timezone_set('Europe/Berlin');
        ?>
        <HTML>
        <LINK rel="stylesheet" type="text/css" href="style.css">
        <BODY text="#ffffff" link="#ffffff" alink="#ffffff" vlink="#ffffff">
        <div align="center">
        <?php 
            
            
        if (isset($_GET['action'])) {
            
                if (
        $_GET['action'] == "login") {
                    if (
        ReadIniValue("user.ini""Admin"$name) == $pass) {
                    
        $_SESSION['logged'] = session_id();
                    }
                    else {  
        ?><center>
                    <BLINK><span style="background:#ff0000;padding:6px;">Zugang verweigert!</span></BLINK><BR><BR>
                    <a href="javascript:history.back()">Zur&uuml;ck</a></center>
                    <BR><BR><BR><BR><?php    exit;
                    }
                }
                if (
        $_GET['action'] == "logout") {
                    unset(
        $_SESSION['logged']);
                }
            }
        if (!isset(
        $_SESSION['logged']) || $_SESSION['logged'] != session_id()) { ?>
        <h3>Login</h3>
        <FORM action="admin.php?action=login" method="post" enctype="multipart/form-data">
        <TABLE border="0" cellspacing="2" cellpadding="1">
          <TR valign="top">
            <TD>Benutzername:</TD>
            <TD><INPUT name="name" size="40" maxlength="60"></TD>
          </TR>
          <TR valign="top">
            <TD>Passwort:</TD>
            <TD><INPUT name="pass" type="password" size="40" maxlength="60"></TD>
          </TR>
          <TR valign="top">
            <TD><INPUT type="submit" value="Login"></TD>
            <TD></TD>
          </TR>
        </TABLE></FORM><BR><BR><BR><BR><BR>
        <?php  exit; } ?>
        </div>        
        <h3> CMS (Content-Management-System) f&uuml;r 'Die Show ohne Namen' </h3>
        Eigeloggt mit der ID: <I><?php echo $_SESSION['logged']; ?></I> <BR><BR><BR>
        <TABLE border="0" cellspacing="2" cellpadding="3">
          <TR valign="top">
            <TD>Men&uuml;:</TD>
            <TD><a href="admin.php?page=kontakt">Kontaktformular auslesen</a></TD>
            <TD><a href="admin.php?page=voting">Voting men&uuml;</a></TD>
            <TD><a href="admin.php?action=logout">Logout</a></TD>
            <TD></TD>
            <TD></TD>
          </TR>
        </TABLE>
        <BR><BR><BR><?php
        if (isset($_GET['page'])) {
            if (
        $_GET['page'] == "kontakt") {
                
                
        $Sections ReadIniSections("kontakt.ini");
        if (!
        $Sections) { echo "<I>Keine Eintr&auml;ge Vorhanden.</I><BR><BR><BR><BR>"; exit; }
        for (
        $i 0$i count($Sections); $i++) {
              
        $Sx explode('|'$Sections[$i]);
              echo 
        "<TABLE style='border:1px solid #ffffff;'><TR><TD><B>Datum:</B> " $Sx[0] . "</TD></TR><TR><TD><B>Name:</B> " $Sx[1] . "</TD></TR>";
                      
              
        $Items ReadIniItems("kontakt.ini""$Sections[$i]"); 
            for (
        $u 0$u count($Items); $u++) {
                
        $Ix explode('|'$Items[$u]);
                echo 
        "<TR><TD><B>Telefon:</B> " $Ix[0] . "</TD></TR><TR><TD><B>E-Mail:</B> " $Ix[1] . "</TD></TR><TR><TD><B>Betreff:</B> " $Ix[2] . "</TD></TR>";
                        
                
        $Values ReadIniValue("kontakt.ini""$Sections[$i]""$Items[$u]");
                echo 
        "<TR><TD><B>Text:</B> " $Values "</TD></TR><TR><TD><a href='admin.php?action=delkontakt&kontakt=$Sections[$i]'>L&ouml;schen</a></TD></TR></TABLE><BR>";    
            }
         }
            }
            
            if (
        $_GET['page'] == voting) {
            
                echo 
        "Gesperrte IP's:<BR>";
                
        print_r ($_SESSION);
                 
            
            }
        }

        if (isset(
        $_GET['action'])) {
            if (
        $_GET['action'] == "delkontakt") {
                if (
        DeleteIniSection("kontakt.ini"$_GET['kontakt'], TRUE)) {
                    
        header("Location: admin.php?page=kontakt");
                }
                else {
                    echo 
        "FAIIIIIIIIIIIIIL";
                }
            }
        }
        ?><BR><BR><BR><BR><BR><BR><BR>
        </BODY>
        </HTML>
        Hier ein Link zur Seite, damit man sich das mal ansehen kann. http://terror-borgl.dyndns.org/showohnenamen
        Einloggen kann man sich mit Name: gast Passwort: gast

        In die .ini-Dateien werden Nachrichten aus einem Kontaktformular geschrieben. Das funktioniert auch super.. Das Auslesen geht auch, nur diese Meldung bleibt. Das verwirrt mich ziemlich..
        [QUOTE]Später sitz' ich rum und denk mir: Boah, jetzt ne Tangenskurve verschieben![/QUOTE]

        Kommentar


        • #5
          Ist das, was du auf deinem Webspace hast auch wirklich das, was du hier schreibst?
          Weilde diese Fehlermeldung wird mir ausgegeben (admin.php?action=login):
          Notice: Use of undefined constant delkontakt - assumed 'delkontakt' in /opt/lampp/htdocs/www/terror-borgl/showohnenamen/admin.php on line 98

          Das ist nach deinem Code oben diese Zeile:
          Code:
          ?><BR><BR><BR><BR><BR><BR><BR>

          Kommentar


          • #6
            eben das ist ja mein problem! ich kann mit den fehlermeldungen nichts anfangen, weil die angegebenen zeilen absolut nicht zum quellcode passen!

            Davon hab ich insgesamt 3 Meldungen. Bei den anderen bekomme ich eine Zeile angegeben, wo sich HTML-Code befindet; AUSSERHALB der <?php ?> Tags wohlgemerkt!
            Da wo irgendein Fehler sein soll, ist bei mit HTML code! Aber das was ich aufrufe und der quellcode ist definitiv dasselbe! Ihr seht es ja selbst, dass die datei, wenn ihr sie euch anseht, das anzeigt, was ich im code geschrieben habe.
            ich versteh's nicht..
            [QUOTE]Später sitz' ich rum und denk mir: Boah, jetzt ne Tangenskurve verschieben![/QUOTE]

            Kommentar


            • #7
              Wir sehen das überhaupt nicht, ob das die richtige Datei ist. An PHP ist nichts magisches, der Fehler liegt definitiv bei Dir.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Zitat von terror-borgl Beitrag anzeigen
                PHP-Code:
                echo "<TR><TD><B>Text:</B> " $Values "</TD></TR><TR><TD><a href='admin.php?action=delkontakt&kontakt=$Sections[$i]'>L&ouml;schen</a></TD></TR></TABLE><BR>"
                Des weiteren ist das hier eine sehr sehr unübersichtliche Schreibweise und macht das helfen nur umso schwerer!
                "My software never has bugs, it just develops random features."
                "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                Kommentar


                • #9
                  okay.. ich bin halt ein exot was das programmieren an geht.
                  dann werd ich die datei einfach nochmal neu schreiben.. vielleicht löst sich der fehler ja dann.

                  ich sag nur nochmal dazu:
                  wenn ihr auf den link klickt den ich oben gepostet hab, dann seht ihr das login-formular. wenn ihr euch dann einloggt mit den daten, die ich darunter gepostet hab, dann kommen euch die fehlermeldungen schon entgegen. nur das problem, was ich ja nicht verstehe, ist das, dass die angegebenen zeilen in den fehlermeldungen zu zeilen in meinem code führen, wo ich teilweise nicht mal php geschrieben habe.
                  DAS ist das was ich nicht verstehe und das lösen des problems für MICH unmöglich macht.
                  ich bin da nämlich leider mit meinem latein am ende.

                  dachte ihr wüsstet vielleicht, was da schief läuft, da ihr um einiges versierter seid in sachen php-programmieren als ich. :P
                  liebe grüße,
                  eike b.
                  [QUOTE]Später sitz' ich rum und denk mir: Boah, jetzt ne Tangenskurve verschieben![/QUOTE]

                  Kommentar


                  • #10
                    Hm, wies ausschaut hast du meine pm nicht mitbekommen..

                    Versuch es mal mit einigen var_dump(__LINE__);, vor allem da , wo die angeblichen Fehlerzeilen sind.. (bzw. 1 Zeile vorhher) & schau, ob PHP auch wirklich die richtige Zeile ausgibt.. (Ich vermute mal nein) .. Grund waere dann, dass die admin.php & inc.fct verschmelzen - Wobei ich dieses Verhalten von PHP nicht kenne.

                    Kommentar


                    • #11
                      okay erklärt mich für doof.
                      ich hab jetzt die datei nocheinmal neu geöffnet mit meinem editor und noch einmal die entsprechenden zeilen angesehen, wo fehler sein sollen.

                      und zwar steckt nun hinter der zeile die mir diese fehlermeldung nennt
                      Notice: Use of undefined constant delkontakt - assumed 'delkontakt' in /opt/lampp/htdocs/www/terror-borgl/showohnenamen/admin.php on line 98
                      in meinem quellcode
                      PHP-Code:
                      if (isset($_GET['action'])) {
                          if (
                      $action == delkontakt) { //zeile 98
                              
                      if (DeleteIniSection("kontakt.ini"$_GET['kontakt'], TRUE)) {
                                  
                      header("Location: admin.php?page=kontakt"); 
                      wo ich dann das
                      PHP-Code:
                      ($action == delkontakt
                      gegen ein
                      PHP-Code:
                      ($action == "delkontakt"
                      ausgetauscht habe und nun bleiben die fehlermeldungen aus.

                      fragt mich bitte nicht warum mich jetzt die angegebenen zeilen in den fehlermeldungnen zu den fehlerquellen führen, aber ich bin froh, DASS sie es tuen.
                      wahrscheinlich waren, warum auch immer, die zeilenangaben irgendwie verrutscht.

                      ich danke euch trotzdem für eure mithilfe.
                      liebe grüße,
                      eike b.
                      [QUOTE]Später sitz' ich rum und denk mir: Boah, jetzt ne Tangenskurve verschieben![/QUOTE]

                      Kommentar

                      Lädt...
                      X