WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP: mit vorlage eine datei schreiben... (http://www.wcm.at/forum/showthread.php?t=131208)

macmadmax 12.04.2004 22:45

PHP: mit vorlage eine datei schreiben...
 
haallo..
aalso.. ich habe ein problem...
ich habe diese seite: http://max.prodesign-coop.net/jugend...%20Bereich.php
wenn ich alles ausgefüllt habe dann kommt diese seite http://max.prodesign-coop.net/jugend...in/Vorlage.htm mit den eingesetzten variablen.. (könnt ihr ausprobieren)
das ganze geht über die datei adminaction.php die diesen code hat:


<?php
$foo = addcslashes(implode('', file('Vorlage.htm')), '"'); eval("echo(\"".$foo."\");");
?>


diese 3 datein sind im ordner jugendleiwandtest/Admin...
ich will aber das die datei die dann nach dem ausfüllen herauskommt unter jugendleiwandtest/Lokale mit dem namen $name.php gespeichert wird...
wichtig ist noch, dass die datei vorlage.htm weiter bestehen bleibt....

kann mir da wer helfen???????

danke im vorraus..
mfg
max

pong 12.04.2004 22:56

Wäre es nicht einfacher du verwendest - anstatt mit Files zu jonglieren - eine DB bzw. ein indiziertes File aus welchen du die Daten rausliest und einfach dann wieder in die Ausgabeform schreibst?

pong

macmadmax 12.04.2004 22:57

ich hab nur keine datenbank...
mfg
max

Potassium 12.04.2004 23:22

weißt eh
2.5€/monat @nightman.at inkl db usw ;)

heli2sky 13.04.2004 01:30

mit den files ist das zwar wirklich umständlich, aber gehn tuts natürlich schon... wo ist genau das problem??

du kannst zum beispiel das formular so machen: <form action="../lokale/action.php"...> (oder wie auch immer die heißt) dann speichert er dir die dateien in den ordner (außer du hast andere angaben)

anstonsten kannst du ja per fopen("datei.xy",a+) eine neue datei erstellen und die dann füttern (fwrite). genaueres dazu: http://php.net/fopen

verzeichnisse wechseln: chdir(); von admin nach lokale wechselst du in deinem fall also so: chdir("../lokale") wenn du vorher in admin warst!
musst aber aufpassen, dass du damit nicht durcheinanderkommst und ggf. nach dem speichern der datei in den ordner wieder in den derzeitigen ordner zurückwechselst (chdir("../admin"))

wennst was geneueres brauchst, dann stell bitte konkretere fragen ;)

PS: lies dir auf php.net (link oben) das genau durch und auch die dazugehörigen funktionen von "dateisystemfunktionen"

macmadmax 14.04.2004 22:12

aalso.. ich hab jetzt die adminaction.php neu gemacht... hier der quellcode...

PHP-Code:

<?php 
$foo 
addcslashes(implode(''file('Vorlage.htm')), '"');
// Hier den Variablen von dir einen Wert zuweisen 
eval("echo(\"".$foo."\");");
$handle fopen ("../lokale/$name.php""a");
$filename "$name.php";
chmod ("../lokale/$filename"0777);
if (
is_writeable($filename)) 
{
if (!
$handle fopen($filename"a"))
{
print 
"Kann die Datei $filename nicht öffnen";
exit;
}
if (!
fwrite($handle$foo)) 
{
print 
"Kann die Datei $filename nicht schreiben";
exit;
}
print 
"Fertig, in Datei $filename wurde $foo geschrieben";
fclose($handle);
} else {
print 
"Die Datei $filename ist nicht schreibbar";
}
?>

er macht zwar die datei aber er schreibt nichts hinein.. ihr könnt es ja mal ausprobieren: Link
weiss wer die lösung für mein problem??? dan ist genau hier der richtige platz um mir das zu sagen.. :D..
danke im vorraus

mfg
max

_m3 14.04.2004 22:32

Frag mal den Rückgabewert von chmod ab. ;)

Potassium 14.04.2004 22:35

ich hab das mal ausprobiert und bei mir is das prob. das $foo die vorlage enthält aber ned den eval befehl.
und den krieg ich ums verecken ned ind die blede datei :heul:

macmadmax 15.04.2004 23:50

ja das würd mich auch interessieren wie man den eval befehl in eine variable geben kann...
mfg
max

SNo0py 18.04.2004 14:14

Zitat:

Original geschrieben von potassium
weißt eh
2.5€/monat @nightman.at inkl db usw ;)

Nightman.at ist *nicht* zu empfehlen, da die Seite illegal ist - es gibt keine Angabe über die Firma auf der Homepage!!! Finger weg!

SNo0py 18.04.2004 14:16

Zitat:

Original geschrieben von macmadmax
ja das würd mich auch interessieren wie man den eval befehl in eine variable geben kann...
mfg
max

http://at.php.net/eval

A return statement will terminate the evaluation of the string immediately. In PHP 4, eval() returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. In PHP 3, eval() does not return a value.

Potassium 18.04.2004 14:21

Zitat:

Original geschrieben von SNo0py
Nightman.at ist *nicht* zu empfehlen, da die Seite illegal ist - es gibt keine Angabe über die Firma auf der Homepage!!! Finger weg!
:roflmao:
das kann ich mir gut denken. es is auch keine firma. aber für die sachen die macmadmax machen will reicht der space 100% aus.

Nightman 18.04.2004 14:31

Zitat:

Nightman.at ist *nicht* zu empfehlen, da die Seite illegal ist - es gibt keine Angabe über die Firma auf der Homepage!!! Finger weg!
lol ich lach mich kugelrund bzw grün und blau

is sag da nix dazu is mir zu dumm den ich mach das mehr oder weniger als hobby

bemerke dieser satz ist nur was ich denk soll ned für andere gelten!!!!
Zitat:

ich sag eher finger weg von spirt.org
:)

SNo0py 18.04.2004 14:32

Nix :roflmao: ,
sobald er seine Dienste gegen Geld im Internet anbietet, muss er seine Daten angeben. Punkt und aus. Ist so Gesetz.

Weiters finde ich es schwach, wenn nicht mal die Server-Informationen oder Backup und Anbindungs-Infos vorhanden sind. Und wenn er die Lust am Server verliert, dann ist die Homepage von einem auf den anderen Tag gelöscht etc. etc. - in der Forumsuche gibt's eh einen interessanten Thread dazu.

Und um 2-3 Euro bekomme ich auch bei einem professionellen Anbieter Webspace...

Potassium 18.04.2004 14:35

Zitat:

Kontaktinformationen

Hauptverantwortlicher/Autor: Grösser Mario
Wohnort: 1040 Wien, Österreich

Kontakt:
Admin@nightman.at
das reicht iirc.
maybe noch die genaue adresse.
http://www.nightman.at/Index.asp?Akt...ressum=Kontakt

SNo0py 18.04.2004 14:35

Na ja, sprit.org ist ein anderes Kapitel...

Und wenn du es als Hobby machst, darfst nix dafür verlangen.

SNo0py 18.04.2004 14:39

Zitat:

Original geschrieben von potassium
das reicht iirc.
maybe noch die genaue adresse.
http://www.nightman.at/Index.asp?Akt...ressum=Kontakt

Das glaube ich nicht, Tim.
http://www.internet4jurists.at/geset...e-commerce.htm

Nightman 18.04.2004 14:40

hat ja niemand verlangt das die space bei mir nehmen musst oder?

und ich hab ned vor den server zu schliessen bzw wenn es wirklich mal der fall sein sollte kann ich mit meinen usern no immer drüber reden den einfach alles löschen das is ned

die die bei mir space ahben wissen eh grossteils was ich an leistung bring wems es intressiert der fragt

den sollche infos brauch ich ned unbedingt preisgeben da ich ja keine firma bin und keinen umsatz in millionenhöhe erstrebe

wenn ich ein viertel der serverkostet im monat decken könnte wäre es schon sehr viel den hauptsächlich hab ich nur freespace user aber das geht die an feuchten an :)

PS aner thx für die infos :)

Potassium 18.04.2004 14:42

Zitat:

Original geschrieben von SNo0py
Das glaube ich nicht, Tim.
http://www.internet4jurists.at/geset...e-commerce.htm

ok.

Potassium 18.04.2004 15:27

ad thema:

nun hab och das
PHP-Code:

function test() {
    
$anschrift $_REQUEST['anschrift'];
    
$strase $_REQUEST['strase'];
    
$plz $_REQUEST['plz'];
    
$preis $_REQUEST['preis'];
    
$freundl $_REQUEST['freundl'];
    
$atmos $_REQUEST['atmos'];
    
$sauberk $_REQUEST['sauberk'];
    
$lage $_REQUEST['lage'];
    
$text  $_REQUEST['text'];
    
$link $_REQUEST['link'];
    
$name $_REQUEST['name'];
    
$foo addcslashes(implode(''file('Vorlage.htm')), '"');
    
$Fertig = eval("echo(\"".$foo."\");");
    return 
$Fertig;
}
$test test(); 

nur $test ist leer :heul:
warum will sich das ned in eine var schreiben lassen?

SNo0py 18.04.2004 15:37

Probier das mal:

$Fertig = eval("return(\"".$foo."\");");

Potassium 18.04.2004 15:42

Zitat:

Original geschrieben von SNo0py
Probier das mal:

$Fertig = eval("return(\"".$foo."\");");

:eek:
OMG
Du bist godlike :laola:
es funktioniert :feiern:
ein großes
DANKE SNOOPY


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag