Problem Fehlermeldung, kann Fehler nicht finden.

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

  • Problem Fehlermeldung, kann Fehler nicht finden.

    Hallo

    Ich weis nicht ich hab schon zigtausend Fehler beseitigt. Doch hier finde ich deises mal keinen. Wahrscheinlich habe ich heute Tomaten vor den Augen.

    Also Hier erstmal die Meldung.

    Parse error: parse error, unexpected '/' in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/key/functions.php(473) : regexp code on line 1

    Fatal error: Failed evaluating code: $pnid in /pages/64/47/d0003418/kunden/pages/64/47/d0003418/home/htdocs/ts2/key/functions.php on line 473
    Diese liegt in einer Funktion die abgerufen wird:
    PHP-Code:
    $sendeuser getusertechnical($an); 
    /* Zeile 473 */
    mail("webmaster@2ts2.net""2ts2.net Neue Privatnachricht erhalten",
     
    preg_replace("/\\$(.*)#/Ue",
    "".recalltemplate('\\1')."",
    file_get_contents("mail/neuepn.txt")),
    file_get_contents("mail/xtra.txt"));
    /*Ende  Zeile 473 */ 
    Also dazu muss ich noch sagen, hier klappt es wunserbar:

    PHP-Code:
    mail($_SESSION['anfor_email'], 
    "2ts2.net Ihre Zugangsdaten, Herzlich Willkomen!"
    preg_replace("/\\$(.*)#/Ue",
    "".recalltemplate('\\1')."",
    file_get_contents("mail/willkommen.txt")),
    file_get_contents("mail/xtra.txt")); 
    Ist das gleiche aus der Registrierung, hier beschwert sich aber nichts.
    Zuletzt geändert von LGC; 06.10.2005, 02:15.

  • #2
    Re: Problem Fehlermeldung, kann Fehler nicht finden.

    PHP-Code:
    $tpl_rec = (string)recalltemplate("\\1");
    $npn_text file_get_contents('mail/neuepn.txt');
    $message preg_replace("/\\$(.*)#/Ue"$tpl_rec$npn_text);
    $xtra_text file_get_contents('mail/xtra.txt');
    mail('webmaster@2ts2.net''Ich debugge'$message$xtra_text); 
    In welcher Zeile ist jetzt der Fehler?

    Kommentar


    • #3
      PHP-Code:
      /* Zeile 473 */
      mail("webmaster@2ts2.net""2ts2.net Neue Privatnachricht erhalten",
       
      preg_replace("/\$(.*)#/Ue",
      "".recalltemplate('\1')."",
      file_get_contents("mail/neuepn.txt")),
      file_get_contents("mail/xtra.txt"));
      /*Ende  Zeile 473 */ 
      Das hier oben ist genau eine einzige Zeile (Die Fehlerzeile 473) habe sie nur umgebrochen, damit es nicht so lange wird. (Forumregeln.)

      Kommentar


      • #4
        Ja und die Tatsache, dass du tausend Dinge in einer Zeile machst, erleichtert nicht gerade das Debuggen. Wenn du meinen Vorschlag mal versucht hättest, wäre dabei eine andere Zeilennummer in der Fehlermeldung erschienen und man wüßte wenigstens, welche der vielen Funktionen den Fehler verursacht.

        Ich tippe ja auf preg_replace() oder recalltemplate(). Was macht letzteres eigentlich?

        Kommentar


        • #5
          Vermutlich liegt der Fehler hier:
          PHP-Code:
          preg_replace("/\$(.*)#/Ue",...)
          //Probier mal das
          preg_replace("/\$(.*)/Ue",...) 
          Das # ist bei RegExp ein Delimeter Zeichen. Du verwendest jedoch bereits / als Delimeter. Du kannst aber nur einen verwenden.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Das # ist bei RegExp ein Delimeter Zeichen. Du verwendest jedoch bereits / als Delimeter. Du kannst aber nur einen verwenden.
            das halte ich für ein gerücht

            delimiter sind nicht wirklich festgelegt, erst du die position im regexp bestimmst du den delimiter. dazwischen kann du praktisch jedes zeichen verwenden.

            @threadstarter: dein code erscheint stellenweise recht sinnfrei,, was eventuell auch an verschluckten \ liegen kann (forum). was willst du eigentlich machen?

            dafür, daß du modifier e verwenden willst, ist dein ersatz falsch formatiert.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar

            Lädt...
            X