- Ad -
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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-12-2002, 23:36
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard problem mit eval()

hi, ich komm nich so ganz mit der eval function klar. ich will templates aus der db holen und die enthaltenen variablen mit hilfe von eval berücksichtigen. dass haut aber nicht hin trotz mehrer versionen nicht hin (warum nutzt man eigentlich . und \ bei strings?)...hier mal der code:

PHP-Code:
<?php
    
include("inc/config.php");
    include_once(
"inc/functions.php");
    
$test "BLALALALA";
    
$template gettemplate("mid_filesform",1);
    eval (
"\$text1 = \"".$template."\";");
    eval (
"\$text2 = \"$template\";");
    eval (
"\$text3 = \".$template.\";");
?>
und hier die meldung

Code:
Parse error: parse error, unexpected T_STRING in /usr/local/httpd/htdocs/kunden/html/test.php(6) : eval()'d code on line 4

Parse error: parse error, unexpected T_STRING in /usr/local/httpd/htdocs/kunden/html/test.php(7) : eval()'d code on line 4

Parse error: parse error, unexpected T_STRING in /usr/local/httpd/htdocs/kunden/html/test.php(8) : eval()'d code on line 4
thx 4 help
Mit Zitat antworten
  #2 (permalink)  
Alt 16-12-2002, 00:06
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: problem mit eval()

Zitat:
(warum nutzt man eigentlich . und \ bei strings?)
den punkt benutzt man um zwei strings zu verketten.

bsp:
"hallo "."welt" ergibt das bekannte "hallo welt".

$var1 = "hallo ";
$var2 = "welt";
$var3 = $var1.$var2; //ergibt ebenso "hallo welt" als inhalt von $var3

der backslash ist ein zeichen mit sonderbedeutung innerhalb von strings.
z.b. einen zeilenumbruch erzeugt man mit "\n", was als ein zeichen gewertet wird. ebenso "\t" für den tabulator.

wenn man jetzt in einem string ein zeichen haben will, das eigentlich eine sonderbedeutung hat, man aber die ganz normale bedeutung des zeichens meint, muss man dies ja auch irgendwie kennzeichnen
z.b. doppelte anführungszeichen " begrenzen normalerweise einen string, aber was wenn du wirklich ein " innerhalb eines strings haben willst?

dann schreibt man einen backslash vor das entsprechende zeichen, um es von seiner sonderbedeutung zu befreien - das nennt man auch 'escapen'.

bsp:
"dies ist ein string, der ein \" doppeltes anführungszeichen enthält"

und wenn man den backslash selber meint, ohne seine sonderbedeutung, muss man diesen ebenfalls escapen, indem man ihm einen weiteren backslash voranstellt:
"in diesem string befindet sich ein \\ backslash"
Mit Zitat antworten
  #3 (permalink)  
Alt 16-12-2002, 00:18
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für die ausführliche erklärung, das bringt mich nen schritt weiter
Mit Zitat antworten
  #4 (permalink)  
Alt 16-12-2002, 14:03
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mein eval problem bekomme ich trotzdem nicht im griff, hat denn noch einer nen tip für mich?

thx
Mit Zitat antworten
  #5 (permalink)  
Alt 16-12-2002, 14:10
BielWeb
 Junior Member
Links : Onlinestatus : BielWeb ist offline
Registriert seit: May 2002
Beiträge: 112
BielWeb ist zur Zeit noch ein unbeschriebenes Blatt
BielWeb eine Nachricht über AIM schicken
Standard

versuchs mal mit
PHP-Code:
eval ("\$text3 = \"".$template."\";"); 
pder
PHP-Code:
eval ("\$text3 = \"$template\";"); 
Mit Zitat antworten
  #6 (permalink)  
Alt 16-12-2002, 15:39
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard

auch dann kommt die gleiche fehlermeldung
Mit Zitat antworten
  #7 (permalink)  
Alt 17-12-2002, 15:34
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kann mir denn keiner mit dem sch**** eval() helfen? machs im moment mit erreg_replace, aber das gefällt mir nich...HELP

thx
Mit Zitat antworten
  #8 (permalink)  
Alt 17-12-2002, 15:40
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also bei mir gehts so:
PHP-Code:
<?php
eval ("\$variable01 = \"".$geparster_code."\";");
return 
$variable01//da du das wahrscheinlich in einer Funktion hast?!
?>
bist du dir sicher, das dein von eval() bearbeiteter Code korrekt ist und keine Fehler produziert ??

gruss
Mit Zitat antworten
  #9 (permalink)  
Alt 17-12-2002, 15:52
Pleitegeier
 Newbie
Links : Onlinestatus : Pleitegeier ist offline
Registriert seit: May 2002
Beiträge: 94
Pleitegeier ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm, ich raff das nicht...ich denke mal der code produziert keine fehler, ich hol mir eigentlich nur den html code aus der db, der hier und da mal eine variable enthält. eval() wollte ich eigentlich nutzen, nachdem mir meine funktion das template zurückgegeben hat, also nicht innerhalb der function. mit erreg_replace habe ich keine probleme...bin echt ratlos...
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

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