tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
440
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sebastianv sebastianv ist offline Mitglied Bronze
    Registriert seit
    Apr 2006
    Beiträge
    40
    Habe folgendes Problem:
    Ich möchte mittels php eine neue php Seite generieren und auf dem Server speichern.
    Hierzu schreibe ich den Text der in die Datei geschrieben werden soll vorher in eine Variable. Allerdings gibt es hier scheinbar Probleme beim schreiben der <? ?> zeichen.

    Dies ist mein Code:
    PHP-Code:
    $filename = "$seitenname.php";
                $Pageinhalt = "<html><head><title>$seitenname</title><link rel='stylesheet' type='text/css' href='style.css'></head><body>
                <? php include('http://' $_SERVER['SERVER_NAME'] . '/phpbeans/cms2.php?ID=$pageida'); ?>  
                </body></html>";

                
                $Datei = fopen("$filename", "w");

                fwrite($Datei, $Pageinhalt);
                
                fclose($Datei);
    Bekomme folgende Fehlermeldung:
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in on line 43
    Geändert von sebastianv (01.03.07 um 11:43 Uhr)
     

  2. #2
    Avatar von Suchfunktion
    Suchfunktion Suchfunktion ist offline Mitglied Brillant
    Registriert seit
    Apr 2003
    Ort
    Hannover (Niedersachsen)
    Beiträge
    777
    Hi,
    welche ist die Zeile 43?

    Naja, versuch mal das:
    HTML-Code:
    $Pageinhalt = "<html><head><title>$seitenname</title><link rel='stylesheet' type='text/css' href='style.css'></head><body>
    			\<\? php include('http://' . $_SERVER['SERVER_NAME'] . '/phpbeans/cms2.php?ID=$pageida'); \?\>  
    			</body></html>";
    Geändert von Suchfunktion (02.05.06 um 12:06 Uhr)
     

  3. #3
    Avatar von xCondoRx
    xCondoRx xCondoRx ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    399
    HTML-Code:
    $Pageinhalt = "<html><head><title>$seitenname</title><link rel='stylesheet' type='text/css' href='style.css'></head><body> 
                <? php include('http://' ". $_SERVER['SERVER_NAME'] ." '/phpbeans/cms2.php?ID=$pageida'); ?>   
                </body></html>";
     

  4. #4
    sebastianv sebastianv ist offline Mitglied Bronze
    Registriert seit
    Apr 2006
    Beiträge
    40
    Die Zeile 43 ist die die mit <? anfängt
    PHP-Code:
    <? php include('http://' $_SERVER['SERVER_NAME'] . '/phpbeans/cms2.php?ID=$pageida'); ?>
    Funktioniert mit den \ auch nicht! leigts evtl. auch an ner anderen stelle
     

  5. #5
    sebastianv sebastianv ist offline Mitglied Bronze
    Registriert seit
    Apr 2006
    Beiträge
    40
    Mit der Version von xCondoRx funktioniert es soweit, allerdings soll die Variable nicht ausgegeben werden, sondern so in die datei geschrieben werden! D.h. es soll in der Datei genau so stehen wie es hier auch angezeigt wird.
     

  6. #6
    Avatar von xCondoRx
    xCondoRx xCondoRx ist offline Mitglied Brokat
    Registriert seit
    Apr 2004
    Beiträge
    399
    Dann probiers mal so:
    HTML-Code:
    $Pageinhalt = "<html><head><title>$seitenname</title><link rel='stylesheet' type='text/css' href='style.css'></head><body> 
                <? php include('http://' . \$_SERVER['SERVER_NAME'] . '/phpbeans/cms2.php?ID='.\$pageida); ?>   
                </body></html>";
    Geändert von xCondoRx (02.05.06 um 13:01 Uhr)
     

  7. #7
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Wichtig ist, dass der entsprechende PHP- Text nicht vom Interpreter umgewandelt wird. Das erreichst du nur, in dem du dem Interpreter vedeutlichst, dass "nichts an PHP- COde, also nichts zu interpretieren", innerhalb der entsprechenden Variable vorkommt. Speziell macht man das mit Singlequotes.

    Code php:
    1
    2
    3
    4
    5
    
    <?php
    $Pageinhalt = '<html><head><title>$seitenname</title><link rel=\'stylesheet\' type=\'text/css\' href=\'style.css\'></head><body> 
                <? php include(\'http://\' . $_SERVER[\'SERVER_NAME\'] . \'/phpbeans/cms2.php?ID=\'.$pageida); ?>   
                </body></html>';  
    ?>

    Wenn du das auf diese Weise bewerkstelligst, musst du drauf achten, dass vor alle anderen folgenden Singlequotes ein Backslash kommt, siehe Codeschnipsel.

    Ebenfalls wäre mal noch interessant zu wissen, um dir ein wirklich korrektes Codeschipsle zu zeigen, welche Variablen beim Schreiben der Datei ausgeführt werden sollen und welche Variablen erst beim Ausführen der geschriebenen Datei verwendet werden sollen.
    Geändert von Tucker (02.05.06 um 15:52 Uhr)
     
    Wenn man der freudschen psychosexuellen Theorie über Eros und Tanatos glaubt, bleibt eine unbeantwortbare Frage: Was hat Programmieren mit der Libido und sexueller Befriedigung zu tun?

  8. #8
    sebastianv sebastianv ist offline Mitglied Bronze
    Registriert seit
    Apr 2006
    Beiträge
    40
    Funktioniert jetzt!
    Musste den \ vor den . der Variablen &_SERVER machen!

    Danke für eure Hilfe
     

Ähnliche Themen

  1. Variable in Textdatei schreiben
    Von tHI3f im Forum Java
    Antworten: 7
    Letzter Beitrag: 13.07.08, 15:40
  2. Variable in Formular schreiben
    Von Cusco im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 10.12.06, 15:59
  3. Variable in Array schreiben?
    Von plate im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 04.05.05, 11:00
  4. In Variable schreiben geht net
    Von PhoenixDH im Forum PHP
    Antworten: 4
    Letzter Beitrag: 25.02.05, 09:11
  5. XML in eine Variable schreiben
    Von Skourer im Forum PHP
    Antworten: 8
    Letzter Beitrag: 24.11.03, 15:36