Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
document.write() langsam kommt verzweifling auf .... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
document.write() langsam kommt verzweifling auf ....


 
joschua
30-04-2002, 06:05 
 
Hallo Leute
ich stecke etwas in der zwikmühle :(
ich muss in ein php template weiteren phpcode einfügen (ein paar sql queries)
da dies in geparsten template nicht geht ist ja bekannt.
bis heute habe ich dieses problem mit einem javascript gelöst.

im template:
<script language="javascript" src="template_js.php"></script>

template_js.php:
<?php
meine queries usw...
echo "document.write($result);";
?>

bis anhin funktionierte das ohne probleme.

Heute muss ich aber aus einer textwerbung DB werte wie:
$result = "Hallo
dies ist
meine
textwerbung"

ausgeben.

jetzt erhalte ich aber mit document.write folgende meldung:
nicht abgeschlossene zeichenfolgekonstante!

beispiel zum veranschaulichen:
<script language="javascript">
<!--
var result = "Hallo
welt!";
document.write(result);

-->
</script>

meine frage:
wie kann ich die variable result so ändern das ich sie mit document.write ausgeben kann?
ode gäbe es eine alternative? (ausser alle DB einträge zu ändern)

was ich ebenfalls versucht habe ist:
<script language="javascript">
<!--
var result = "Hallo
Welt";
var neuresult = result.replace(/\n/,"/\r/");
document.write(neuresult);

-->
</script>

funktioniert leider auch nicht :(

Danke euch zum foraus
joschua

 
mkJack
30-04-2002, 07:24 
 
Schon mal versucht, die Zeilenumbrüche vor der Zuweisung im JavaScript umzuwandeln?

z.B. so: $result = eregi_replace("\r\n","<br>",$result);

 
joschua
30-04-2002, 07:34 
 
guter vorschlag...
geht leider nicht da ich die variable folgendermassen belege:
var blah = "<?php include ... ?>";

ich könnte auch einfach das file kopieren, ändern und neus speichern. nur möchte ich das eigentlich nicht müssen da ich sonst zu fiele files doppelt führe.

 
Titus
30-04-2002, 08:10 
 
var neuresult = result.replace(/\n/,"<br>");

 
joschua
30-04-2002, 08:19 
 
ein hoffnungsschimmer...

...klappt leider auch nicht :(

 
mkJack
30-04-2002, 08:50 
 
Ich habs mal bei mir ausprobiert. Du darfst den Umbruch nicht bis zum JavaScript bringen, da ein Umbruch beim Zuweisen einer Variablen wie bei PHP nicht geht.

Ich denke, du wirst an dein PHP-Script gehen müssen, und den Umbruch vor der Übergabe an JavaScript zu wandeln.

 
Titus
30-04-2002, 08:52 
 
hmm ... stimmt auffallend.
urlencode (http://www.php3.de/de/urlencode) sollte reichen.

 
joschua
30-04-2002, 08:55 
 
naja dan muss ich da wohl durch :rolleyes:
trotzdehm thanx für eure hilfe

Joschua

 
Titus
30-04-2002, 09:07 
 
<form name="formular"><textarea name="result">$result</textarea></form>
...
result = document.formular.result.value;

Die Textarea kannst Du vielleicht in einem hidden frame verstecken und dann per top.frames[1].document... auslesen


Oder du könntest noch versuchen, statt dessen

<input type="hidden" name="result" value="$result">

zu benutzen; aber ich vermute dass dir da die Zeilenumbrüche wieder einen Strich durch die Rechnung machen.

 
joschua
30-04-2002, 10:14 
 
Falls es jemand interessiert....

dort wo ich das include brauche, wird bei den templates nicht wie normalerweise {wert} verwendet.

sondern: $wert

wenn ich nun im phpfile
$wert = "Hallo Welt";
angebe ...

und im template: $wert

erscheint an der stelle $wert hallo welt

so klappt es nun:

ob_start();
include("$DOCUMENT_ROOT blah.php");
$content = ob_get_contents(); ob_end_clean();
$blah= $content;


nun erscheint an der stelle wo ich im template $blah angebe das include

:huep:


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